实时音视频

  • 实时音视频 > API 文档 > iOS >QNRTC

    QNRTC

    最近更新时间: 2024-02-26 11:29:55

    QNRTC 作为 SDK 的入口,提供初始化,创建本地音视频轨道,创建 QNRTCClient 对象等一系列静态方法
    Index
    Core Methods
    Core Methods
    initRTC
    • + (void)initRTC:(QNRTCConfiguration *)configuration;
    • 使用默认配置初始化 SDK

      在使用 SDK 接口前,请务必先调用该接口进行 RTC 环境的初始化

      Parameters
    deinit
    • + (void)deinit;
    • 反初始化操作

      在确认不再使用 RTC SDK 后调用此接口释放其占用的资源,此后再次使用 SDK 需重新调用 initRTC 方法

    createRTCClient[1/2]
    • + (QNRTCClient *)createRTCClient;
    • 创建 QNRTCClient 对象,且全局只可存在一个

      Returns RTC 管理对象
    createRTCClient[2/2]
    createCDNStreamingClient
    createMicrophoneAudioTrack[1/2]
    • + (QNMicrophoneAudioTrack *)createMicrophoneAudioTrack;
    • 创建一个默认的麦克风音频轨道对象,默认 tag 为 ""

      本地音频 Track 只可存在一个,重复创建会返回 nil

    createMicrophoneAudioTrack[2/2]
    createCustomAudioTrack[1/2]
    • + (QNCustomAudioTrack *)createCustomAudioTrack;
    • 创建一个默认的自定义音频轨道对象,默认 tag 为 ""

      本地音频 Track 只可存在一个,重复创建会返回 nil

    createCustomAudioTrack[2/2]
    createCameraVideoTrack[1/2]
    • + (QNCameraVideoTrack *)createCameraVideoTrack;
    • 创建一个默认的摄像头视频轨道对象,默认 tag 为 "",默认前置、编码尺寸 480x640、24 帧、码率为 600kbps、关闭大小流

    createCameraVideoTrack[2/2]
    createScreenVideoTrack[1/2]
    createScreenVideoTrack[2/2]
    createCustomVideoTrack[1/2]
    createCustomVideoTrack[2/2]
    createAudioMusicMixer
    • + (QNAudioMusicMixer *)createAudioMusicMixer:(NSString *)musicPath musicMixerDelegate:(id<QNAudioMusicMixerDelegate>)musicMixerDelegate;
    • 创建背景音乐混音对象实例

      音频格式支持 aac、mp3、mp4、wav、m4r、caf、ogg、opus、m4a、flac

      1. 背景音乐混音仅支持同时混合一路背景音乐,若需要切换背景音乐,重新调用本接口创建 QNAudioMusicMixer 即可

      2. 建议使用本地文件进行混音,以避免网络环境差引起的混音异常

      3. 若您希望在混合背景音乐的同时添加音效,可参考音效混音相关接口 QNAudioEffectMixer

      Parameters
    destroyAudioMusicMixer
    • - (void)destroyAudioMusicMixer;
    • 销毁背景音乐混音类

    createAudioEffectMixer
    destroyAudioEffectMixer
    • - (void)destroyAudioEffectMixer;
    • 销毁多音效混音类

    createAudioSourceMixer
    • + (QNAudioSourceMixer *)createAudioSourceMixer:(id<QNAudioSourceMixerDelegate>)sourceMixerDelegate;
    • 创建音源混音对象实例

      音源混音支持同时混合多路 PCM 音频裸数据

      Parameters
      Returns 音源混音对象实例
    destroyAudioSourceMixer
    • - (void)destroyAudioSourceMixer;
    • 销毁多音源混音类

    setRTCDelegate
    • + (void)setRTCDelegate:(id <QNRTCDelegate>)delegate;
    • 设置 QNRTCDelegate 代理回调。

      Parameters
    setAudioRouteToSpeakerphone
    • + (void)setAudioRouteToSpeakerphone:(BOOL)audioRouteToSpeakerphone;
    • 设置是否将音频路由切换到扬声器,默认为 YES,即音频路由为扬声器。

      在未佩戴耳机且音频路由为扬声器的情况下,设置为 NO 之后,会将音频路由切换到听筒。

      由于系统原因,在某些设备(如 iPhone XS Max、iPhone 8 Plus)上,连接 AirPods 后无法通过,该接口将声音强制设为扬声器输出。如有需求,可以通过使用 AVRoutePickerView 来切换。

      Parameters
      • audioRouteToSpeakerphone: BOOL

        是否将音频路由切换到扬声器

    setSpeakerphoneMuted
    • + (void)setSpeakerphoneMuted:(BOOL)mute;
    • 设置是否静音扬声器,静音后将听不到远端用户的声音,默认为 NO。

      Parameters
      • mute: BOOL

        是否静音远端的声音

    speakerphoneMuted
    • + (BOOL)speakerphoneMuted;
    • 获取是否静音扬声器,该值跟房间状态无关,在离开房间后 SDK 并不会重置该值,即会保持您上次设置的值。

      Returns BOOL
    setAudioScene
    • + (void)setAudioScene:(QNAudioScene)audioScene;
    • 动态切换音频场景,根据实际场景需要切换

      具体场景区别详细可见QNAudioScene

    enableFileLogging
    • + (void)enableFileLogging;
    • 开启本地日志保存,默认日志等级为 QNRTCLogLevelInfo

      为了不错过日志,建议在 App 启动时开启,日志文件位于 App Container/Library/Caches/Pili/Logs 目录内

      该接口已废弃,请使用 setLogConfig

      文件日志功能主要用于排查问题,打开文件日志功能会对性能有一定影响,上线前请记得关闭文件日志功能

    setLogLevel
    setLogConfig
    • + (void)setLogConfig:(QNRTCLogConfiguration *)configuration;
    • 设置日志文件配置,包括文件存储路径、日志等级、日志文件的大小等

      Parameters
    uploadLog[1/2]
    uploadLog[2/2]
    versionInfo
    • + (NSString *)versionInfo;
    • 获取 SDK 的版本信息

      Returns NSString
    以上内容是否对您有帮助?
  • Qvm free helper
    Close