实时音视频

  • 实时音视频 > 使用指南 > Web >迁移指南

    迁移指南

    最近更新时间:2021-11-15 11:05:12

    QNRTC Web SDK 4.x 是一个全量重构版本,简化了接口调用逻辑,提高了接口的易用性,提供了更友好的事件监听机制。

    概览

    在 4.x 版本 SDK 中,我们提供了 QNRTCQNRTCClient 两个类来管理房间和音视频流的采集、发布、订阅等操作。

    • QNRTC 主要负责处理 SDK 全局配置以及本地音视频 track 的创建采集等房间无关的操作。
    • QNRTCClient 主要负责处理房间的加入、离开,音视频 track 的发布、订阅等房间交互相关的操作。

    上述管理方式的改动将影响到 SDK 的主要交互流程,若您需要升级,可以参考 RTC 4.x 使用指南 的使用姿势分模块进行更新。

    设备管理

    v4.x 统一在 QNRTC 对象上实现设备管理。

    可以通过下面几个方法来分别获取摄像头、麦克风和音频播放设备:

    可以通过配置下面三个回调函数,来实时监听当前媒体设备的变化:

    track 的定义及使用方式

    在 4.x 版本 SDK 中,我们细化了音视频 track 的分类,基于不同类型的 track 提供了不同的控制接口,新版本的 track 对本地 track 和远端 track 做了区分,继承结构定义如下:

    v4.x 版本除了对音视频 track 的结构进行了调整,还将部分 track 的操作接口从 deviceManager 移到了 track 上。

    对从本地采集的角度来说,在 QNRTC 对象中提供了采集本地 track 的方法:

    对订阅远端的媒体流来来说,当远端发布时,本地可以通过监听 QNRTCClient 上的 user-published 事件来获取远端媒体流 QNRemoteTrack 对象。当订阅成功之后,可以获得对应的 QNRemoteAudioTrackQNRemoteVideoTrack 对象。

    房间管理

    在 4.x 版本中,创建房间对象需要调用 QNRTC 类的静态方法 createClient 来创建 QNRTCClient 房间对象。下面来看如下使用该对象来管理房间。

    首先是加入和离开房间。可以通过 joinleave 方法来加入/离开房间,可以通过监听 user-joineduser-left 事件来判断远端用户是否加入/离开房间。

    然后是发布和取消发布 Track。可以通过 publishunpublish 方法来发布和取消发布 Track,可以通过监听 user-publisheduser-unpublished 事件来获取远端用户的发布/取消发布信息。

    最后是订阅远端的 Track。可以通过 subscribeunsubscribe 方法来实现订阅/取消订阅远端用户发布的 Track。

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