实时音视频

  • 实时音视频 > 使用指南 > iOS >初始化

    初始化

    最近更新时间: 2022-10-27 14:56:14

    本部分介绍了实时音视频的初始化方式及其可配置项。

    在使用 SDK 前,请务必调用 QNRTC.initRTC 方法进行 RTC 环境的初始化工作

    默认配置初始化

    直接使用 QNRTCConfiguration.defaultConfiguration 默认配置进行初始化,示例代码如下:

    QNRTCConfiguration *configuration = [QNRTCConfiguration defaultConfiguration];
    

    若 QNRTCConfiguration 的默认配置无法满足您的场景需要,您可通过 QNRTCConfiguration 下的几个 init 方法进行自定义配置初始化。

    设置媒体传输方式

    通过调用初始化方法 QNRTCConfiguration.initWithPolicy[1/3] 设置媒体传输方式,默认使用 UDP 传输。

    QNRTCConfiguration *configuration = [[QNRTCConfiguration alloc] initWithPolicy:QNRTCPolicyForceUDP];
    

    其中,媒体传输方式 QNRTCPolicy 有如下几种,可根据实际情况自行选择:

    typedef NS_ENUM(NSUInteger, QNRTCPolicy) {
        QNRTCPolicyForceUDP = 0,  // 使用 UDP
        QNRTCPolicyForceTCP,      // 使用 TCP
        QNRTCPolicyPreferUDP,     // 优先 UDP,不通的话自动改为 TCP
    };
    

    推流固定分辨率开关

    通过调用初始化方法 QNRTCConfiguration.initWithPolicy[2/3] 设置是否在推流时使用固定分辨率,即编码分辨率不随网络变化而波动,默认为 NO 不开启。

    QNRTCConfiguration *configuration = [[QNRTCConfiguration alloc] initWithPolicy:QNRTCPolicyForceUDP maintainResolutionEnabled:NO];
    

    通话模式开关

    通过调用初始化方法 QNRTCConfiguration.initWithPolicy[3/3] 设置是否使用通话模式,默认为 YES 开启。

    QNRTCConfiguration *configuration = [[QNRTCConfiguration alloc] initWithPolicy:QNRTCPolicyForceUDP maintainResolutionEnabled:NO communicationModeOn:YES];
    

    使用声卡并配戴耳机的情况下,建议关闭,可解决声卡模式不匹配带来的音频异常无效等问题

    注意:关闭通话模式将直接关闭硬件回声消除,不佩戴耳机的情况下连麦,可能出现回声。

    初始化 QNRTC

    在配置好 QNRTCConfiguration 后,通过 QNRTC.initRTC 传入。

    [QNRTC initRTC:configuration];
    

    销毁 QNRTC

    通过 QNRTC.deinit 销毁。在 QNRTC 使用结束后,请务必主动在 dealloc 前调用此接口来释放相应资源

    [QNRTC deinit];
    

    设置日志等级

    通过调用 QNRTC.setLogLevel 设置 SDK 的日志等级,默认是

    [QNRTC setLogLevel:QNRTCLogLevelInfo];
    

    设置成功后,可以通过 QNRTC.enableFileLogging 接口开启日志文件保存。

    设置是否将扬声器作为默认音频输出设备

    通过调用 QNRTC.setAudioRouteToSpeakerphone 设置是否将扬声器作为默认音频输出设备,默认音频路由为扬声器。

    [QNRTC setAudioRouteToSpeakerphone:YES];
    
    以上内容是否对您有帮助?
  • Qvm free helper
    Close