QNCameraVideoTrack
- userID
- trackID
- kind
- tag
- muted
- delegate
- cameraDelegate
- captureDevicePosition
- videoOrientation
- torchOn
- continuousAutofocusEnable
- smoothAutoFocusEnabled
- manualFocus
- videoZoomFactor
- supportedVideoFormats
- videoActiveFormat
- videoFormat
- videoFrameRate
- previewMirrorFrontFacing
- previewMirrorRearFacing
- encodeMirrorFrontFacing
- encodeMirrorRearFacing
- @property (nonatomic, readonly) NSString *userID;
-
一路 Track 所属用户的唯一标识
- @property (nonatomic, strong) NSString *trackID;
-
一路 Track 在 Server 端的唯一标识
发布成功时由 SDK 自动生成,订阅/Mute 等操作依据此 trackID 来确定相应的 Track
- @property (nonatomic, readonly) QNTrackKind kind;
-
标识该路 Track 是音频还是视频
- @property (nonatomic, strong) NSString *tag;
-
Track 的 tag
当发布多路视频 Track 时,可用 tag 来作区分
- @property (nonatomic, assign, readonly) BOOL muted;
-
标识 Track 是否为 mute 状态
- @property (nonatomic, weak) id<QNLocalVideoTrackDelegate> delegate;
-
视频 Track 回调代理
- @property (nonatomic, weak) id<QNCameraVideoTrackDelegate> cameraDelegate;
-
摄像头采集 Track 回调代理
- @property (nonatomic, assign, readonly) AVCaptureDevicePosition captureDevicePosition;
-
摄像头的位置,只读变量,默认为 AVCaptureDevicePositionFront 前置
如需设置,请在 QNCameraVideoTrackConfig 中设置
- @property (nonatomic, assign) AVCaptureVideoOrientation videoOrientation;
-
开启 camera 时的采集摄像头的旋转方向,默认为 AVCaptureVideoOrientationPortrait
- @property (nonatomic, assign, getter=isTorchOn) BOOL torchOn;
-
是否开启手电筒,默认为 NO
- @property (nonatomic, assign, getter=isContinuousAutofocusEnable) BOOL continuousAutofocusEnable;
-
是否连续自动对焦,默认为 YES
- @property (nonatomic, assign, getter=isSmoothAutoFocusEnabled) BOOL smoothAutoFocusEnabled;
-
是否平滑对焦减缓抖动感,默认为 YES
适用于视频拍摄过程中,用来减缓因自动对焦产生的镜头伸缩,使画面不因快速的对焦而产生抖动感
- @property (nonatomic, assign) CGPoint manualFocus;
-
聚焦的位置,默认为 (0.5, 0.5),即中间位置
(0,0) 代表左上, (1,1) 代表右下
- @property (nonatomic, assign) CGFloat videoZoomFactor;
-
控制摄像头的缩放,默认为 1.0
设置的数值,务必小于等于 videoActiveForat.videoMaxZoomFactor,否则会设置失败
- @property (nonatomic, strong, readonly) NSArray<AVCaptureDeviceFormat *> *supportedVideoFormats;
-
设备支持的 formats
- @property (nonatomic, strong) AVCaptureDeviceFormat *videoActiveFormat;
-
设备当前的 format
- @property (nonatomic, copy) NSString *videoFormat;
-
视频采集的分辨率,默认为 AVCaptureSessionPreset640x480
- @property (nonatomic, assign) NSUInteger videoFrameRate;
-
采集的视频数据的帧率,默认为 24
- @property (nonatomic, assign) BOOL previewMirrorFrontFacing;
-
前置摄像头,预览是否开启镜像,默认为 YES
- @property (nonatomic, assign) BOOL previewMirrorRearFacing;
-
后置摄像头,预览是否开启镜像,默认为 NO
- @property (nonatomic, assign) BOOL encodeMirrorFrontFacing;
-
前置摄像头,对方观看时是否开启镜像,默认 NO
- @property (nonatomic, assign) BOOL encodeMirrorRearFacing;
-
后置摄像头,对方观看时是否开启镜像,默认 NO
- - (void)updateMute:(BOOL)mute;
-
更新当前 Track 的 mute 值,静默后,SDK 将会发送静默帧数据
当静默状态改变后,远端用户将会收到 QNRemoteVideoTrackDelegate.didMuteStateChanged 的回调
需要发布成功后才可以执行 mute 操作
Parameters-
mute: BOOL
是否静默 Track
-
- - (void)destroy;
-
销毁本地音/视频 Track
在不使用该 Track 之后,请务必调用此接口
- - (void)sendSEI:(NSString *)videoSEI uuid:(NSString *)uuid repeatNmuber:(NSNumber *)repeatNumber;
-
发送 SEI
该接口已废弃,请使用 QNLocalVideoTrack.sendSEIWithData
需要停止发送 SEI,可以设置 videoSEI 为 nil,repeatNumber 为 0 即可
Parameters-
videoSEI: NSString
SEI 的消息内容
-
uuid: NSString
设备 UUID
-
repeatNumber: NSNumber
重复次数
-
- - (void)sendSEIWithData:(NSData *)SEIData uuid:(NSData *)uuid repeatCount:(NSNumber *)repeatCount;
-
发送 SEI
SEIData SEI 内容,不超过 4096 个字节
需要停止发送 SEI,可以设置 SEIData 为 nil,repeatCount 为 0 即可
Parameters-
SEIData: NSString
SEI 的消息内容
-
uuid: NSString
设备 UUID
-
repeatCount: NSNumber
重复次数
-
- - (void)play:(QNVideoGLView *)videoView;
-
视频 Track 渲染
Parameters-
videoView: QNVideoGLView
渲染的 view
-
- - (void)switchCamera;
-
切换前后摄像头
该接口废弃,请使用 QNCameraVideoTrack.switchCamera[2/2]
- - (void)switchCamera:(nullable QNCameraSwitchResultCallback)callback;
-
切换前后摄像头
Parameters-
callback: QNCameraSwitchResultCallback
切换摄像头返回结果的 Callback
-
- -(void)setBeautifyModeOn:(BOOL)beautifyModeOn;
-
是否开启美颜
Parameters-
beautifyModeOn: BOOL
美颜开关
-
- -(void)setSmoothLevel:(CGFloat)smoothLevel;
-
设置磨皮程度参数,范围从 0 ~ 1
如果美颜不开启,设置该参数无效
Parameters-
beautify: CGFloat
美颜程度
-
- -(void)setWhiten:(CGFloat)whiten;
-
设置美白程度参数,范围从 0 ~ 1
如果美颜不开启,设置该参数无效
Parameters-
whiten: CGFloat
美白程度
-
- -(void)setRedden:(CGFloat)redden;
-
设置红润的程度参数,范围从 0 ~ 1
如果美颜不开启,设置该参数无效
Parameters-
redden: CGFloat
红润程度
-
- -(void)setWaterMarkWithImage:(UIImage *)waterMarkImage position:(CGPoint)position;
-
设置水印
Parameters-
waterMarkImage: UIImage
水印图片
-
position: CGPoint
水印位置
-
- -(void)clearWaterMark;
-
移除水印
- - (int)pushImage:(nullable UIImage *)image;
-
设置摄像头 Track 发送图片,返回值代表接口调用是否成功,若接口调用成功,但是图片推流失败,将会通过 QNCameraVideoTrackDelegate.didPushImageWithError 接口回调相关错误。
由于某些特殊原因不想使用摄像头采集的数据作为发送视频数据时,可以使用该接口设置一张图片来替代。传入 nil 则关闭该功能。
请确保传入的 image 的宽和高是 16 的整数倍
请根据调用结果对应处理,返回 0 表示接口调用成功;非 0 则是具体错误码,表示接口调用失败
code describe message QNRTCErrorImageParserFailed 图片解析失败 请检查图片资源是否合法 QNRTCErrorFatalError 非预期错误 请确认是否已经正常创建 Track Parameters-
image: UIImage
图片
Returns 调用接口是否成功 -
- - (void)startCapture;
-
开启摄像头采集
- - (void)stopCapture;
-
关闭摄像头采集
- - (void)setVideoEncoderConfig:(QNVideoEncoderConfig *)config;
-
动态修改编码配置
Parameters-
config: QNVideoEncoderConfig
编码参数配置
-