通过媒体与设备管理 API 开发者可实现以下功能:
模块 | 功能 |
麦克风 | 检测麦克风状态 开关麦克风 切换麦克风 获取设备列表 |
摄像头 | 检测摄像头状态 开关摄像头 切换摄像头 获取设备列表 |
扬声器 | 检测扬声器状态 开关扬声器 切换扬声器 获取设备列表 播放指定 MP3 |
设备过滤 | 过滤不需要的音频设备 |
音频检测 | 音频检测,自动矫正音频参数 |
前一章节实现了参会者布局功能,之后屏幕上就会渲染出我们想要的参会者画面,除了视频信息之外了我们还需要处理参会者的音视频状态,也就是媒体设备管理。因此,接下来我们了解一下设备管理的一些方法。 当进入会议或者调用设备检测时,SDK 会自动申请摄像头、麦克风、扬声器资源。如下列举了常用的操作方法:
- (void)audioVideo {
// 关闭麦克风
[[XYLinkSDK sharedXYLinkSDK] changeMicState:false];
// 开启摄像头
[[XYLinkSDK sharedXYLinkSDK] enableVideo:true];
// 关闭扬声器
[[XYLinkSDK sharedXYLinkSDK] enableSpeaker:false];
// 设置扬声器音量
[[XYLinkSDK sharedXYLinkSDK] setSpeakerVolume:0.3];
// 获取当前音频输入设备(麦克风)
XYLinkSDKDevice *inputDevice = [[XYLinkSDK sharedXYLinkSDK] getCurrentUsedDevice:AudioMediaType bInput:true];
// 选择指定设备
[[XYLinkSDK sharedXYLinkSDK] chooseDevice:inputDevice mediaType:AudioMediaType block:^(BOOL obj) {
}];
}