API 概览
QNRTC
初始化与反初始化
方法 | 描述 |
---|---|
Init | 初始化 SDK |
Deinit | 反初始化 SDK |
创建 Track
方法 | 描述 |
---|---|
CreateMicrophoneAudioTrack | 创建麦克风音频轨道 |
CreateCameraVideoTrack | 创建摄像头视频轨道 |
QNRTCClient
QNRTCClient 提供和房间相关的一系列方法,通过它我们可以实现加入房间,在房间内发布或者订阅相应的音视频轨道等操作。主要的核心方法如下:
核心方法
方法 | 描述 |
---|---|
Join | 加入房间 |
Leave | 离开房间 |
Publish | 发布本地的音视频轨道 |
Unpublish | 取消发布本地的音视频轨道 |
Subscribe | 订阅远端用户发布的音视频轨道 |
Unsubscribe | 取消订阅远端用户发布的音视频轨道 |
转推 CDN
方法 | 描述 |
---|---|
StartLiveStreaming | 开始单路转推 |
StopLiveStreaming | 停止单路转推 |
QNLocalTrack
QNLocalTrack 是本地创建的一个音频或者视频轨道,可以通过 QNRTC 来创建各种类型的音视频轨道,例如麦克风采集的音频轨道,摄像头采集的视频轨道,或者屏幕采集的视频轨道等等,我们真正用到的是它所衍生的子类。
以 QNLocalTrack 为基类,向下衍生的子类如下:
Hierarchy
-
本地音频轨道 描述 QNMicrophoneAudioTrack 以麦克风采集到的音频数据为数据源创建的音频轨道 本地视频轨道 描述 QNCameraVideoTrack 以摄像头采集到的视频数据为数据源创建的视频轨道,提供了包括摄像头采集,渲染播放,前后摄像头切换,开启闪光灯等一系列操作摄像头的方法。
QNRemoteTrack
QNRemoteTrack 是远端用户创建的音视频轨道,本地用户可以通过房间中的事件回调获取。其衍生的子类如下:
Hierarchy
-
远端音频轨道 描述 QNRemoteAudioTrack 远端用户发布的音频轨道,当可以通过该类来调节播放的音量大小,并且还提供了回调音频数据等方法。 远端视频轨道 描述 QNRemoteVideoTrack 远端用户发布的视频轨道,当可以通过该类来把远端视频画面渲染到视图中,并且还提供了回调视频数据等方法。
QNClientEventListener
房间内的事件可以通过该代理回调进行处理,其提供的主要回调方法如下:
-
方法 描述 OnConnectionStateChanged 房间状态改变时会触发此回调方法,自己加入房间成功,state 变为 QNConnectionStateConnected,当离开房间时,state 变为 QNConnectionStateIdle。详情可参看 QNConnectionState OnUserJoined 当远端用户加入房间时会触发此事件。 OnUserLeft 当远端用户离开房间时会触发此事件。 OnSubscribed 订阅远端用户成功时会触发此事件。 OnUserPublished 当远端用户发布音视频轨道时会触发此事件。 OnUserUnpublished 当远端用户取消发布音视频轨道时会触发此事件。 OnUserReconnecting 当远端用户正在重连时会触发此事件。 OnUserReconnected 当远端用户重连成功时会触发此事件。
QNLiveStreamingListener
转推回调,其提供的主要回调方法如下:
QNNetworkQualityListener
网络质量回调,其提供的主要回调方法如下:
-
方法 描述 OnNetworkQualityNotified OnNetworkQualityNotified: (quality: QNNetworkQuality) => void
代理回调
SDK 支持丰富的事件代理回调,不同场景下的回调代理定义如下:
-
方法 描述 QNClientEventListener 房间管理回调,包括房间状态变化、远端用户加房离房变化等等。 QNLiveStreamingListener 转推任务回调,包括开始、停止以及错误等 QNNetworkQualityListener 网络质量回调。
文档反馈
(如有产品使用问题,请 提交工单)
QNRTC 提供 SDK 的入口方法,可以通过它进行 SDK 的初始化,各个类型 Track 的创建等操作。其核心方法如下: