QHVCRecord.h
/**
* @abstract 视频相关配置(startCameraPreview前设置,不设置不采集相机)
* @param videoConfig 视频相关配置
*/
- (int)setVideoConfig:(QHVCRecordVideoConfig *)videoConfig;
/**
* @abstract 音频相关配置(startCameraPreview前设置,不设置不采集麦克风)
* @param audioConfig 音频相关配置
*/
- (int)setAudioConfig:(QHVCRecordAudioConfig *)audioConfig;
- (int)setRecordDelegate:(nullable id<QHVCRecordDelegate>)delegate;
- (nullable id<QHVCRecordDelegate>)recordDelegate;
#pragma mark - 摄像头、麦克风相关逻辑
- (int)setVideoOrientation:(QHVCRecordVideoOrientation)videoOrientation;
/**
* @abstract 调整焦距,startCameraPreview 之后调用有效
* @param distance 取值范围 1~5
*/
- (int)setZoom:(CGFloat)distance;
/**
* @abstract 设置摄像头焦点,startCameraPreview 之后调用有效
* @param point 焦点
*/
- (int)setFocusPointOfInterest:(CGPoint)point;
/**
* @abstract 切换前后摄像头(默认前置)
* @param isFront YES 切换到前置摄像头, NO 切换到后置摄像头
*/
- (int)switchCamera:(BOOL)isFront;
/**
* @abstract 打开闪关灯,startCameraPreview 之后调用有效
* @param enable YES-打开,NO-关闭.
*/
- (int)toggleTorch:(BOOL)enable;
/**
* @abstract 静音
* @param mute 是否静音
*/
- (int)setMute:(BOOL)mute;
/**
* @abstract 开始画面预览
*/
- (int)startCameraPreview:(UIView *)preview;
/**
* @abstract 结束画面预览
*/
- (int)stopCameraPreview;
#pragma mark - 录制相关逻辑
/**
* @abstract 设置录制速率(startRecord前设置,录制ing设置无效,支持设置范围1/2 ~ 2)
*/
- (int)setRecordSpeed:(float)recordSpeed;
/**
* @abstract 设置录制路径
* @param videoPath 视频文件输出路径(多段视频录制,为合成后的视频输出路径)
* @param videoSegmentsFolder 分段视频存储目录
*/
- (int)setRecordPath:(NSString *)videoPath
videoSegmentsFolder:(NSString *)videoSegmentsFolder;
/**
* @abstract 开始录制视频
*/
- (int)startRecord;
/**
* @abstract 结束本次视频录制(调用joinAllSegments,合成多段视频,视频输出到videoPath)
*/
- (int)stopRecord;
/**
* @abstract 删除当前录制视频最后一片段
*/
- (int)deleteLastSegment;
/**
* @abstract 删除当前录制视频最后一个片段的指定时长(单位 ms)
* 注:指定时长大于最后一段时长会跨段继续删除
*/
- (int)deleteLastSegmentByMS:(int)ms;
/**
* @abstract 删除当前录制视频所有片段
*/
- (int)deleteAllSegments;
/**
* @abstract 合成当前录制视频所有片段
*/
- (int)joinAllSegments;
/**
* @abstract 停止合成当前录制的视频片段
*/
- (int)cancelJoin;
#pragma mark 拍照片
- (int)takePhoto:(int)outputWidth outputHeight:(int)outputHeight;
#pragma mark - 录制效果设置相关逻辑
/**
* @abstract 增加特效(多次调用,按照调用顺序依次叠加)
* @param effect 特效(可自定义特效)
*/
- (int)appendEffect:(QHVCRecordFilter *)effect;
- (int)insertEffect:(QHVCRecordFilter *)effect atIndex:(NSUInteger)index;
/**
* @abstract 删除特效
* @param effect 特效
*/
- (int)removeEffect:(QHVCRecordFilter *)effect;
#pragma mark Common
//统计相关,请正确设置,利于排查线上问题,在上传前设置
/**
* @功能 设置统计信息
* @参数 info
@{@"channelId":@"",//设置第三方渠道号
@"userId":@"",//设置第三方用户id
};
*/
- (void)setStatisticsInfo:(NSDictionary *)info;
/**
* 开启日志(debug阶段辅助开发调试,根据实际情况使用)
* @参数 level 日志等级
*/
+ (void)openLogWithLevel:(QHVCRecordLogLevel)level;
/**
* 设置日志输出callback
* @参数 callback 回调block
*/
+ (void)setLogOutputCallBack:(void(^)(int loggerID, QHVCRecordLogLevel level, const char *data))callback;
/**
* @功能 获取上传sdk版本号
* @返回值 sdk版本号(e.g. 2.0.0.0)
*/
+ (NSString *)sdkVersion;