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;
 - 
    
移除水印
 
- - (void)pushImage:(nullable UIImage *)image;
 - 
    
设置摄像头 Track 发送图片数据
由于某些特殊原因不想使用摄像头采集的数据作为发送视频数据时,可以使用该接口设置一张图片来替代。传入 nil 则关闭该功能。
请确保传入的 image 的宽和高是 16 的整数倍
请勿在 applicationState 为 UIApplicationStateBackground 时调用该接口,否则将出错。
Parameters- 
        image: UIImage
图片
 
 - 
        
 
- - (void)startCapture;
 - 
    
开启摄像头采集
 
- - (void)stopCapture;
 - 
    
关闭摄像头采集
 
- - (void)setVideoEncoderConfig:(QNVideoEncoderConfig *)config;
 - 
    
动态修改编码配置
Parameters- 
        config: QNVideoEncoderConfig
编码参数配置
 
 -