常用模块
在查询 API 文档以获取开发细节之前,让我们先梳理一下 SDK 常用的几个模块来帮助您能更好地阅读 API 文档。
无论是 Track
模式还是 Stream
模式,完成一次连麦的流程都是一样的,所以这里我们就不分开说了。如果只关注 SDK 的核心功能,主要模块可以分为以下三类:
媒体对象
在不同的模式下,对应的类分别是 Track 或 Stream。所有可以操作的媒体对象都会被 SDK 封装成 Track
或者 Stream
返回给您,通过访问这些对象的成员获取一些对您来说必要的信息,或者调用他们的方法来实现播放媒体数据、回调媒体数据等功能。一个媒体对象一般包含以下功能:
- 在页面上播放媒体
- 获取该媒体对象隶属的用户(userId)
- 获取该媒体对象的各种状态(是否静音)
- 获取各种数据回调(音频回调,时域频域回调等)
房间管理模块
同样,在不同的模式下,对应到 API 里的类也就是 TrackModeSession 或者 StreamModeSession, 主要负责完成房间内的各种操作,包括以下功能:
- 加入/退出房间
- 发布本地媒体对象
- 订阅远端媒体对象
- 踢人
- 合流控制
可以看到,所有依赖房间的功能都由这个模块来提供。
采集模块(设备模块)
最后,为了完成本地的媒体采集,我们提供了一个独立的采集模块。根据需要调用采集模块下的方法,可以得到相应的本地采集媒体对象(Track
或 Stream
)。同时,该模块还提供了媒体设备感知的功能,通过事件感知当前媒体设备插拔的情况,以实现指定某个媒体设备进行采集的功能。该模块主要功能如下:
- 采集本地媒体对象
- 触发媒体设备插拔事件