实时音视频

  • 实时音视频 > API 文档 > iOS >API 概览

    API 概览

    最近更新时间: 2022-06-30 17:04:40

    QNRTC 是七牛推出的一款适用于 iOS 平台的音视频通话 SDK,提供了包括美颜、滤镜、音视频通话等多种功能,提供灵活的接口,支持高度定制以及二次开发,您可以很方便地在 iOS 平台上开发出一款基于实时音视频的应用。

    本文档适用于 QNRTC 5.x 版本的 SDK,向 4.x 兼容。

    QNRTC 5.x 是在 4.x 的基础上进行了 API 的优化,从而使使用者能够更加高效的接入,所以新接入的用户推荐使用最新版本的 SDK。

    老用户也可以继续使用 QNRTC 3.x 版本,我们也会持续在此版本上进行问题修复和版本更迭,但是后续的一些新功能有可能并不会在 3.x 版本上提供。若您决定继续使用 3.x 版本 SDK,则可参考 3.x 及之前版本的相关文档

    使用 4.x 或者更低版本的用户若想升级至 v5.x 版本,可参考 5.x 版本迁移指南 进行升级

    QNRTC

    QNRTC 提供 SDK 的入口方法,可以通过它进行 SDK 的初始化,各个类型 Track 的创建等操作。其核心方法如下:

    初始化与反初始化

    方法 描述
    initRTC 初始化 SDK
    deinit 反初始化 SDK

    创建 Track

    方法 描述
    createMicrophoneAudioTrack 创建麦克风音频轨道
    createCameraVideoTrack 创建摄像头视频轨道
    createScreenVideoTrack 创建屏幕采集的视频轨道
    createCustomAudioTrack 创建自定义导入音频数据轨道
    createCustomVideoTrack 创建自定义导入视频数据轨道

    音频播放路由

    方法 描述
    setAudioRouteToSpeakerphone 设置默认音频播放路由为扬声器
    QNRTCClient

    QNRTCClient 提供和房间相关的一系列方法,通过它我们可以实现加入房间,在房间内发布或者订阅相应的音视频轨道等操作。主要的核心方法如下:

    核心方法

    方法 描述
    join 加入房间
    leave 离开房间
    publish 发布本地的音视频轨道
    unpublish 取消发布本地的音视频轨道
    subscribe 订阅远端用户发布的音视频轨道
    unsubscribe 取消订阅远端用户发布的音视频轨道

    转推 CDN

    方法 描述
    startLiveStreamingWithDirect 开始单路转推
    stopLiveStreamingWithDirect 停止单路转推
    startLiveStreamingWithTranscoding 开始合流转推
    stopLiveStreamingWithTranscoding 停止合流转推
    setTranscodingLiveStreamingID 更新合流转推的布局配置
    removeTranscodingLiveStreamingID 移除合流转推的布局配置

    跨房媒体转发

    方法 描述
    startRoomMediaRelay 开启跨房媒体转发
    updateRoomMediaRelay 更新跨房媒体转发
    stopRoomMediaRelay 停止跨房媒体转发
    QNLocalTrack

    QNLocalTrack 是本地创建的一个音频或者视频轨道,可以通过 QNRTC 来创建各种类型的音视频轨道,例如麦克风采集的音频轨道,摄像头采集的视频轨道,或者屏幕采集的视频轨道等等,我们真正用到的是它所衍生的子类。

    以 QNLocalTrack 为基类,向下衍生的子类如下:

    Hierarchy
    QNRemoteTrack

    QNRemoteTrack 是远端用户创建的音视频轨道,本地用户可以通过房间中的事件回调获取。其衍生的子类如下:

    Hierarchy
    • 远端音频轨道 描述
      QNRemoteAudioTrack 远端用户发布的音频轨道,当可以通过该类来调节播放的音量大小,并且还提供了回调音频数据等方法。
      远端视频轨道 描述
      QNRemoteVideoTrack 远端用户发布的视频轨道,当可以通过该类来把远端视频画面渲染到视图中,并且还提供了回调视频数据等方法。
    QNRTCClientDelegate

    房间内的事件可以通过该代理回调进行处理,遵守 QNRTCClient 的 QNRTCClientDelegate。其提供的主要回调方法如下:

    代理回调

    SDK 支持丰富的事件代理回调,不同场景下的回调代理定义如下:

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