整体设计
本 SDK 基于 Microsoft Visual Studio 2017
进行开发,使用了运行时库的多线程静态版本,即 MTD/MT
配置,目前提供 Win32 平台架构的开发包。
命名规则
为了方便理解和使用,对于 SDK 的接口设计,我们遵循了如下的规则:
- 所有接口文件均定义在
qiniu_v2
命名空间 - 每一个接口类,均以
QN
开头
控制接口
核心接口类说明如下:
接口类名 | 功能 | 备注 |
---|---|---|
QNTrackInfo | Track 接口类 | Track 管理接口,包括创建、释放、拷贝和属性读取 |
QNRoomInterface | 房间管理核心接口类 | 全局、房间控制相关的接口,及相关回调 |
QNAudioInterface | 音频接口类 | 音频设备枚举、参数配置和数据回调等 |
QNVideoInterface | 视频接口类 | 视频设备枚举、预览、参数配置和数据回调等 |
回调接口
回调相关类说明如下:
接口名 | 功能 | 备注 |
---|---|---|
QNRoomInterface::QNRoomListener | 房间相关的所有回调 | 用户加入/离开房间、发布、订阅操作,以及房间状态等回调通知 |
QNAudioInterface::QNAudioListener | 音频回调接口 | 音频 PCM 数据回调及设备插拔事件通知 |
QNVideoInterface::QNVideoListener | 视频回调接口 | 视频 YUV 数据回调及设备插拔事件通知 |
注:切记不可在 SDK 回调中调用任何耗时或阻塞接口,否则可能会造成整个进程的阻塞。