腾讯短视频SDK代码层面上录制功能的实现,短视频APP开发第一步

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yun_bao_2144899870/article/details/87695445

在这个抖音日活破2.2亿的大环境下,短视频APP开发越来越火,在短视频APP开发中,短视频录制功能的开发是必不可少的,毕竟拍摄是制作精彩短视频的第一步。
下面,我们来讲解一下应如何利用腾讯短视频SDK实现抖音短视频APP开发中必不可少的视频录制功能。
1.摄像头的预览

TXUGCCustomConfig * param = [[TXUGCCustomConfig alloc] init];
        param.videoResolution =  VIDEO_RESOLUTION_720_1280;
        param.videoFPS = 20;
        param.videoBitratePIN = 2400;
        [[TXUGCRecord shareInstance] startCameraCustom:param preview:_videoRecordView];

2.设置大眼、瘦脸初始值
大眼瘦脸的美颜功能是短视频APP开发中无法绕过的,可以说,如果没有美颜功能,抖音不会有现在这么火爆,拍短视频必美颜是一条写入短视频创作者心坎的准则。

[[TXUGCRecord shareInstance] setEyeScaleLevel:_eye_level];
        
        [[TXUGCRecord shareInstance] setFaceScaleLevel:_face_level];

3.设置滤镜

[self setFilter:_filterIndex];

- (void)setFilter:(int)index
{
    NSString* lookupFileName = @"";
    
    switch (index) {
        case FilterType_None:
            break;
        case FilterType_white:
            lookupFileName = @"filter_white";
            break;
        case FilterType_langman:
            lookupFileName = @"filter_langman";
            break;
        case FilterType_qingxin:
            lookupFileName = @"filter_qingxin";
            break;
        case FilterType_weimei:
            lookupFileName = @"filter_weimei";
            break;
        case FilterType_fennen:
            lookupFileName = @"filter_fennen";
            break;
        case FilterType_huaijiu:
            lookupFileName = @"filter_huaijiu";
            break;
        case FilterType_landiao:
            lookupFileName = @"filter_landiao";
            break;
        case FilterType_qingliang:
            lookupFileName = @"filter_qingliang";
            break;
        case FilterType_rixi:
            lookupFileName = @"filter_rixi";
            break;
        default:
            break;
    }
    
    NSString * path = [[NSBundle mainBundle] pathForResource:lookupFileName ofType:@"png"];
    if (path != nil && index != FilterType_None)
    {
        [[TXUGCRecord shareInstance] setFilter:[UIImage imageWithContentsOfFile:path]];
    }
    else
    {
        [[TXUGCRecord shareInstance] setFilter:nil];
    }
}

4.设置并播放背景音乐
背景音乐起到了烘托气氛的作用,其实很多短视频并没有那么有意思,全靠音乐烘托,如果我们关掉音乐,视频根本没人喜欢看。

[[TXUGCRecord shareInstance] setBGM:_musicPath];
[[TXUGCRecord shareInstance]playBGMFromTime:0 toTime:length withBeginNotify:^(NSInteger errCode) {
                //beginNotify: 音乐播放开始的回调通知
                 
            } withProgressNotify:^(NSInteger progressMS, NSInteger durationMS) {
                //beginNotify: 音乐播放开始的回调通知
                
            } andCompleteNotify:^(NSInteger errCode) {
                //completeNotify: 音乐播放结束的回调通知
  }];

5.停止背景音乐

[[TXUGCRecord shareInstance] stopBGM];

6.切换摄像头

[[TXUGCRecord shareInstance] switchCamera:_cameraFront];

7.切换闪光灯

[[TXUGCRecord shareInstance] toggleTorch:_lampOpened];

8.开始录制

[[TXUGCRecord shareInstance] startRecord];

9.录制进度监听(此处需要先设置代理)

-(void)onRecordProgress:(NSInteger)milliSecond {
      [self refreshRecordTime:(float)milliSecond];
}

10.停止预览

[[TXUGCRecord shareInstance] stopCameraPreview];

11.停止录制

[[TXUGCRecord shareInstance] stopRecord];

以上便是短视频系统利用腾讯短视频SDK对短视频拍摄功能做出的基础处理流程,基本上囊括了视频录制可能需要用到的环节,实现了基础的视频录制。当然,除了视频录制外,视频的编辑,存储和发布也同样不可缺少,后续我们会讲解相关的编辑,存储和发布功能,从而实现一个较为完整的短视频制作过程。
声明:文章声明原创,转载请注明出处及作者

猜你喜欢

转载自blog.csdn.net/yun_bao_2144899870/article/details/87695445
今日推荐