1.录制方式应用:
初始化方法
[[TXUGCRecordshareInstance] startCameraCustom:param preview:_showPlayerView];
IDSLOG(@"Levi摄像机:第一步 初始化方法");
开启录制
[[TXUGCRecordshareInstance] startRecord];
IDSLOG(@"Levi摄像机:第二步 开启录制");
。
结束录制
[[TXUGCRecordshareInstance] stopRecord];
IDSLOG(@"Levi摄像机:第三步 停止录制视频");
.
录制成功
-(void)onRecordComplete:(TXUGCRecordResult *)result
{
IDSLOG(@"Levi摄像机:第四步 录制是否成功中");
_recordSuccessLock = YES;
_clickVideoOrPic = YES;
_stopCameraPreview = NO;
if (result.videoPath) {
IDSLOG(@"Levi摄像机:第四步 录制成功");
}
else {
NSLog(@"print crush ");
IDSLOG(@"Levi摄像机:第四步 录制失败");
}
}
遇到的Bug 一:
在使用TXLiteAVSDK_UGC这个DEMO ,腾讯微视频上传这个功能的时候,有一个发布视频的回调:
-(void) onPublishProgress:(NSInteger)uploadBytes totalBytes: (NSInteger)totalBytes
这个回调 上传得到的结果都是上传结束才返回的,而且得到的结果并不是100%
我下载的是 全功能专业版 然而还是出现这个问题 我的代码如下:
-(void) onPublishProgress:(NSInteger)uploadBytes totalBytes: (NSInteger)totalBytes
{
NSString *str = [NSString stringWithFormat:@"%02d%%", (int)(uploadBytes*100/totalBytes)];
NSLog(@"strLevi : %@", str);
}
在上传结束之后才打印出来 如下:
2017-10-09 17:02:17.048944+0800 Near[1013:205691] strLevi \^P: 00%
2017-10-09 17:02:17.052692+0800 Near[1013:205691] strLevi \^P: 01%
2017-10-09 17:02:17.053663+0800 Near[1013:205691] strLevi \^P: 02%
2017-10-09 17:02:17.055702+0800 Near[1013:205691] strLevi \^P: 03%
2017-10-09 17:02:17.056461+0800 Near[1013:205691] strLevi \^P: 03%
2017-10-09 17:02:17.057527+0800 Near[1013:205691] strLevi \^P: 04%
2017-10-09 17:02:17.058907+0800 Near[1013:205691] strLevi \^P: 05%
2017-10-09 17:02:17.121165+0800 Near[1013:205691] strLevi \^P: 06%
2017-10-09 17:02:17.122104+0800 Near[1013:205691] strLevi \^P: 06%
1)并没有从1% - 100% 这种进度打印出来
2)是上传成功之后才打印出来,并不是在上传中打印进度
遇到的Bug 二:
小视频录制功能,经常会crush,录制完成只要获取不到result.videoPath,就必定crush,应该是腾讯sdk并没有处理好这个逻辑,什么情况下获取不到 result.videoPath?当录制的时间段较短,或者横竖屏切换时,就会反复出现crush,或者和其他视频sdk冲突,也会出现经常crush的操作
-(void)onRecordComplete:(TXUGCRecordResult *)result
{
_videoRecording = NO;
_clickVideoOrPic = YES;
if (result.videoPath) {
//处理操作
}
else {
NSLog(@"print crush ");
//到这里一定会crush
}
}
- over