human: 如何处理七牛云的实时音视频API 概览

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Uniapp >API 概览

#  API 概览

最近更新时间: 2022-04-02 14:26:05

QNRTC-Uniapp 是七牛推出的一款适用于 uniapp 的音视频通话 SDK，提供了包括音视频通话、静音、发布、订阅等多种功能，基于此
SDK，您可以很方便地在 HBuilderX 上开发出一款基于实时音视频的原生应用。

QNRTC

[QNRTC](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11415/UniappQNRTC)
提供 SDK 的入口方法，可以通过它进行 SDK 的初始化。其核心方法如下：

初始化与反初始化

方法 | 描述  
---|---  
[configRTC](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11415) | 初始化 SDK  
[deinit](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11415) | 反初始化 SDK  
  
创建 Track

方法 | 描述  
---|---  
[createMicrophoneAudioTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11415) | 创建麦克风音频轨道  
[createCameraVideoTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11415) | 创建摄像头视频轨道  
[createScreenVideoTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11415) | 创建屏幕采集的视频轨道  
  
音频播放路由

方法 | 描述  
---|---  
[setAudioRouteToSpeakerphone](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11415) | 设置默认音频播放路由为扬声器  
  
QNRTCClient

[QNRTCClient](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402/UniappQNRTCClient)
提供和房间相关的一系列的方法，通过它我们可以实现加入房间，在房间内发布或者订阅相应的音视频轨道等操作。核心方法如下：

核心方法

方法 | 描述  
---|---  
[join](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 加入房间  
[leave](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 离开房间  
[publish](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 发布本地的音视频轨道  
[unpublish](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 取消发布本地的音视频轨道  
[subscribe](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 订阅远端用户发布的音视频轨道  
[unsubscribe](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 取消订阅远端用户发布的音视频轨道  
  
转推 CDN

方法 | 描述  
---|---  
[startLiveStreamingWithDirect](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 开启单路转推  
[stopLiveStreamingWithDirect](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 停止单路转推  
[startLiveStreamingWithTranscoding](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 开启合流转推  
[stopLiveStreamingWithTranscoding](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 停止合流转推  
[setTranscodingLiveStreamingTracks](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 新增、更新合流转推的 Tracks  
[removeTranscodingLiveStreamingTracks](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11402) | 删除合流转推的 Tracks  
  
QNLocalTrack

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

以 QNLocalTrack 为基类，向下衍生的子类如下：

Hierarchy

  * [QNLocalTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11386/UniappQNLocalTrack)
    * [QNLocalVideoTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11401/UniappQNLocalVideoTrack)
      * [QNCameraVideoTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11433/UniappQNCameraVideoTrack)
      * [QNScreenVideoTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11421/UniappQNScreenVideoTrack)
    * [QNLocalAudioTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11417/UniappQNLocalAudioTrack)
      * [QNMicrophoneAudioTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11388/UniappQNMicrophoneAudioTrack)

本地音频轨道

  * 本地音频轨道 | 描述  
---|---  
[QNMicrophoneAudioTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11388/UniappQNMicrophoneAudioTrack) | 以麦克风采集到的音频数据为数据源创建的音频轨道，提供了音量控制，播放，数据回调等接口，通过 QNRTC.createMicrophoneAudioTrack 创建。  
本地视频轨道 | 描述  
---|---  
[QNCameraVideoTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11433/UniappQNCameraVideoTrack) | 以摄像头采集到的视频数据为数据源创建的视频轨道，提供了包括摄像头采集，渲染播放，前后摄像头切换，开启闪光灯，设置曝光度等一系列操作摄像头的方法。通过 QNRTC.createCameraVideoTrack 创建。  
[QNScreenVideoTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11421/UniappQNScreenVideoTrack) | 以屏幕采集到的视频数据为数据源创建的视频轨道，提供屏幕录制的权限申请等一些列方法，通过 QNRTC.createScreenVideoTrack 创建。  

QNRemoteTrack

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

Hierarchy

  * [QNRemoteTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11397/UniappQNRemoteTrack)
    * [QNRemoteVideoTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11380/UniappQNRemoteVideoTrack)
    * [QNRemoteAudioTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11412/UniappQNRemoteAudioTrack)

  * 远端音视频轨道 | 描述  
---|---  
[QNRemoteAudioTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11412/UniappQNRemoteAudioTrack) | 远端用户发布的音频轨道，当可以通过该类来调节播放的音量大小，并且还提供了回调音频数据等方法。  
[QNRemoteVideoTrack](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11380/UniappQNRemoteVideoTrack) | 远端用户发布的视频轨道，当可以通过该类来把远端视频画面渲染到视图中，并且还提供了回调视频数据等方法。  

QNRTCClinetEvent

房间内支持的事件，例如：

    
    
    client.on('onAudioSubscribed', (params) => {
        console.log('onAudioSubscribed', params)
    })

  * 事件 | 描述  
---|---  
[onAudioSubscribed](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 订阅 audio Track 成功  
[onVideoSubscribed](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 订阅 video Track 成功  
[onConnectionStateChanged](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 房间状态改变  
[onErrorLiveStreaming](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 转推任务出错  
[onMessageReceived](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 收到自定义消息  
[onStartLiveStreaming](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 转推任务成功  
[onStoppedLiveStreaming](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 转推任务成功  
[onUpdatedLiveStreaming](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 转推任务合流布局更新  
[onUserJoined](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 远端用户加入房间  
[onUserLeft](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 远端用户离开房间  
[onUserPublished](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 远端 Track 发布  
[onUserReconnected](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 远端用户重连成功  
[onUserReconnecting](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 远端用户进入重连  
[onUserUnpublished](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404) | 远端 Track 取消发布  

事件监听

SDK 支持丰富的事件监听接口，不同场景下的事件监听接口定义如下：

  * 方法 | 描述  
---|---  
[QNRTCEngineEvent](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11413/UniappQNRTCEngineEvent) | 核心回调接口，定义了设备相关的回调事件，如音频路由改变等。  
[QNRTCClinetEvent](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11404/UniappQNRTCClinetEvent) | 核心回调接口，定义了房间相关的回调事件，包括房间连接状态、用户加入离开状态等。  
[QNRTCTrackEvent](https://developer.qiniu.com/rtc/11851/Uniapp%20API%20%E6%A6%82%E8%A7%88/11409/UniappQNRTCTrackEvent) | Track 回调接口，定义了静默状态改变、大小流切换等事件。  

以上内容是否对您有帮助？