实时音视频云

  • QNRTCSession

    最近更新时间:2018-08-02 09:41:53

    QNRTCSession 连麦核心类,包含连麦相关的接口

    属性

    muteAudio

    定义

    @property (nonatomic, assign, getter=isMuteAudio) BOOL muteAudio;
    

    说明

    是否使自己发布到服务器上的声音静音,在离开房间后 SDK 并不会重置该值,即会保持您上次设置的值

    muteVideo

    定义

    @property (nonatomic, assign, getter=isMuteVideo) BOOL muteVideo;
    

    说明

    是否使自己发布到服务器上的视频黑屏,在离开房间后 SDK 并不会重置该值,即会保持您上次设置的值

    muteSpeaker

    定义

    @property (nonatomic, assign, getter=isMuteSpeaker) BOOL muteSpeaker;
    

    说明

    是否静音本地扬声器,在离开房间后 SDK 并不会重置该值,即会保持您上次设置的值

    statisticInterval

    定义

    @property (nonatomic, assign) NSUInteger statisticInterval;
    

    说明

    统计信息回调的时间间隔,默认为 0 秒,即默认不会回调统计信息

    videoEncodeSize

    定义

    @property (nonatomic, assign) CGSize videoEncodeSize;
    

    说明

    设置连麦编码时的尺寸,尺寸需要小于等于预览的尺寸,默认值为 CGSizeZero,即使用预览的尺寸。

    userList

    定义

    @property (nonatomic, strong, readonly) NSArray<NSString *> *userList;
    

    说明

    连麦房间中的用户的列表(不包含自己),连麦状态为 QNRoomStateConnected 才可获取。

    publishingUserList

    定义

    @property (nonatomic, strong, readonly) NSArray<NSString *> *publishingUserList;
    

    说明

    连麦房间中已发布音/视频的用户的列表(不包含自己),连麦状态为 QNRoomStateConnected 才可获取。

    previewView

    定义

    @property (nonatomic, strong, readonly) UIView *previewView;
    

    说明

    摄像头的预览视图,调用 startCapture 后才会有画面。

    fillMode

    定义

    @property(readwrite, nonatomic) QNVideoFillModeType fillMode;
    

    说明

    previewView 中视频的填充方式,默认为PLVideoFillModePreserveAspectRatioAndFill

    captureDevicePosition

    定义

    @property (nonatomic, assign) AVCaptureDevicePosition   captureDevicePosition;
    

    说明

    摄像头采集方向,默认为 AVCaptureDevicePositionFront,前置摄像

    videoOrientation

    定义

    @property (nonatomic, assign) AVCaptureVideoOrientation videoOrientation;
    

    说明

    开启 camera 时的采集摄像头的旋转方向,默认为 AVCaptureVideoOrientationPortrait

    sessionPreset

    定义

    @property (nonatomic, copy) NSString *sessionPreset;
    

    说明

    采集的视频的分辨率,默认为 AVCaptureSessionPreset640x480

    videoFrameRate

    定义

    @property (nonatomic, assign) NSUInteger videoFrameRate;
    

    说明

    采集的视频数据的帧率,默认为 24

    previewMirrorFrontFacing

    定义

    @property (nonatomic, assign) BOOL previewMirrorFrontFacing;
    

    说明

    前置预览是否开启镜像,默认为 YES

    previewMirrorRearFacing

    定义

    @property (nonatomic, assign) BOOL previewMirrorRearFacing;
    

    说明

    后置预览是否开启镜像,默认为 NO

    encodeMirrorFrontFacing

    定义

    @property (nonatomic, assign) BOOL encodeMirrorFrontFacing;
    

    说明

    前置摄像头,对方观看时是否开启镜像,默认 NO

    encodeMirrorRearFacing

    定义

    @property (nonatomic, assign) BOOL encodeMirrorRearFacing;
    

    说明

    后置摄像头,对方观看时是否开启镜像,默认 NO

    continuousAutofocusEnable

    定义

    @property (nonatomic, assign, getter=isContinuousAutofocusEnable) BOOL  continuousAutofocusEnable;
    

    说明

    连续自动对焦,默认开启

    touchToFocusEnable

    定义

    @property (nonatomic, assign, getter=isTouchToFocusEnable) BOOL touchToFocusEnable;
    

    说明

    手动点击屏幕进行对焦,默认开启

    smoothAutoFocusEnabled

    定义

    @property (nonatomic, assign, getter=isSmoothAutoFocusEnabled) BOOL  smoothAutoFocusEnabled;
    

    说明

    适用于视频拍摄过程中用来减缓因自动对焦产生的镜头伸缩,使画面不因快速的对焦而产生抖动感,默认开启

    focusPointOfInterest

    定义

    @property (nonatomic, assign) CGPoint focusPointOfInterest;
    

    说明

    对焦的位置,默认值为 (0.5, 0.5),即中间位置,另外 (0,0) 代表左上, (1,1) 代表右下

    videoZoomFactor

    定义

    @property (nonatomic, assign) CGFloat videoZoomFactor;
    

    说明

    视图缩放,默认为 1.0,设置的数值需要小于等于 videoActiveForat.videoMaxZoomFactor,如果大于会设置失败。

    torchOn

    定义

    @property (nonatomic, assign, getter=isTorchOn) BOOL    torchOn;
    

    说明

    手机手电筒的开关,默认为 NO,即不开启

    setMinBitrateBps:maxBitrateBps:

    定义

    - (void)setMinBitrateBps:(NSUInteger)minBitrateBps
               maxBitrateBps:(NSUInteger)maxBitrateBps;
    

    说明

    设置连麦的最高及最低码率,设置相应的值后,在网络带宽变小导致发送缓冲区数据持续增长时,SDK 内部将适当降低连麦码率直至设置的最低值;反之,当一段时间内网络带宽充裕,SDK 内部将适当增加码率,达到最高值。
    注意:网络较差的情况下,若设置最低码率值过高,将严重影响连麦的质量,故建议适当设置最低码率值

    参数

    状态 说明
    minBitrateBps 最小码率
    maxBitrateBps 最大码率

    joinRoomWithToken

    定义

    - (void)joinRoomWithToken:(NSString *)token;
    

    说明

    加入房间

    参数

    参数名 描述
    token 需要 App 从 App Server 中获取,包含 appId、roomToken、userId 等信息

    publishWithAudioEnabled:videoEnabled:

    定义

    - (void)publishWithAudioEnabled:(BOOL)audioEnabled
                       videoEnabled:(BOOL)videoEnabled;
    

    说明

    发布自己的音/视频到服务器中

    参数

    状态 说明
    audioEnabled 音频是否可用发布
    videoEnabled 视频是否可用发布

    subscribe:

    定义

    - (void)subscribe:(NSString *)userId;
    

    说明

    订阅 userId 的音/视频

    参数

    状态 说明
    userId 远端用户 Id

    kickoutUser:

    定义

    - (void)kickoutUser:(NSString *)userId;
    

    说明

    将 userId 踢出房间

    参数

    状态 说明
    userId 远端用户 Id

    unsubscribe:

    定义

    - (void)unsubscribe:(NSString *)userId;
    

    说明

    取消发布自己的音/视频

    参数

    状态 说明
    userId 远端用户 Id

    unpublish

    定义

    - (void)unpublish;
    

    说明

    取消发布自己的音/视频

    setMergeStreamLayoutWithUserId:(NSString *)userId frame:(CGRect)frame zIndex:(NSUInteger)zIndex muted:(BOOL)muted;

    说明

    通过以下接口设置对应 userId 的合流参数。

    • 如果仅需要合成视频,设置合适的视频参数,同时 muted 参数设置为 YES;
    • 如果仅需要合成音频,将 frame.size.width 或 frame.size.height 设为 0,同时 muted 参数设置为 NO;
    • 设置合流参数后,如果需要更改参数,重新调用该接口并传入修改后的参数即可。

    参数

    参数 说明
    userId 本次操作对应的 userId
    frame 在合流画面中的大小和位置,需为整数,若 frame.size.width 或 frame.size.height 为 0,则该用户的视频不会合成到合流画面中;
    zIndex 在合流画面中的层次,0 在最底层
    muted 音频是否静音,若 muted 为 YES,则不会合成该用户的音频

    stopMergeStream

    说明

    停止合流,如果停止合流后需要重新开启合流,重新调用设置合流参数的接口即可。

    leaveRoom

    定义

    - (void)leaveRoom;
    

    说明

    离开房间

    toggleCamera

    定义

    - (void)toggleCamera;
    

    说明

    切换前后摄像头

    setBeautifyModeOn:

    定义

    -(void)setBeautifyModeOn:(BOOL)beautifyModeOn;
    

    说明

    是否开启美颜

    参数

    状态 说明
    beautifyModeOn 美颜开关

    setBeautify:

    定义

    -(void)setBeautify:(CGFloat)beautify;
    

    说明

    设置对应 Beauty 的程度参数,范围从 0 ~ 1,0 为不美颜
    注意:如果美颜不开启,设置美颜程度参数无效

    参数

    状态 说明
    beautify beautify 的美颜程度

    setWhiten:

    定义

    -(void)setWhiten:(CGFloat)whiten;
    

    说明

    设置对应 whiten 的程度参数,范围从 0 ~ 1,0 为不美白
    注意:如果美颜不开启,设置美白程度参数无效

    参数

    状态 说明
    whiten 美颜的美白程度

    setRedden:

    定义

    -(void)setRedden:(CGFloat)redden;
    

    说明

    设置对应 redden 的程度参数,范围从 0 ~ 1,0 为不红润
    注意:如果美颜不开启,设置红润程度参数无效

    参数

    状态 说明
    redden 美颜的红润程度

    setWaterMarkWithImage:position:

    定义

    -(void)setWaterMarkWithImage:(UIImage *)waterMarkImage position:(CGPoint)position;
    

    说明

    开启水印

    参数

    状态 说明
    waterMarkImage 水印图片
    position 水印位置

    clearWaterMark

    定义

    -(void)clearWaterMark;
    

    说明

    移除水印

    startCapture

    定义

    - (void)startCapture;
    

    说明

    开启摄像头采集

    stopCapture

    定义

    - (void)stopCapture;
    

    说明

    关闭摄像头采集

    cameraAuthorizationStatus

    定义

    + (QNAuthorizationStatus)cameraAuthorizationStatus;
    

    说明

    摄像头的授权状态

    microphoneAuthorizationStatus

    定义

    + (QNAuthorizationStatus)microphoneAuthorizationStatus;
    

    说明

    麦克风的授权状态

    requestCameraAccessWithCompletionHandler:

    定义

    + (void)requestCameraAccessWithCompletionHandler:(void (^)(BOOL granted))handler;
    

    说明

    获取摄像头权限在主线程中的回调

    requestMicrophoneAccessWithCompletionHandler:

    定义

    + (void)requestMicrophoneAccessWithCompletionHandler:(void (^)(BOOL granted))handler;
    

    说明

    获取麦克风权限在主线程中的回调

    enableFileLogging

    定义

    + (void)enableFileLogging;
    

    说明

    开启文件日志,建议在 App 启动时即开启,日志文件位于 App Container/Library/Caches/Pili/Logs 目录下以 QNRTC+当前时间命名的目录内
    注意:文件日志功能主要用于排查问题,打开文件日志功能会对性能有一定影响,上线前请记得关闭文件日志功能!

    versionInfo

    定义

    + (NSString *)versionInfo;
    

    说明

    获取 SDK 的版本信息

    以上内容是否对您有帮助?
  • Close