检测麦克风设备(一般为 PC 端),以确定用户设备是否支持所需的音视频功能。对麦克风设备进行枚举、选择、音量提示、音量调节。
功能点 | Windows | MacOS | |
---|---|---|---|
获取音频设备管理器 | getAudioDeviceManager | getAudioDeviceManager | |
枚举麦克风 | 枚举设备 | enumerateAudioCaptureDevices | enumerateAudioCaptureDevices |
获取设备数量 | getCount | getCount | |
获取设备 | getDevice | getDevice: | |
释放设备 | release | ||
切换麦克风 | 获取音频采集设备 | getAudioCaptureDevice | getAudioCaptureDevice: |
设置音频采集路由不跟随系统 | followSystemCaptureDevice | followSystemCaptureDevice: | |
设置音频采集设备 | setAudioCaptureDevice | setAudioCaptureDevice: | |
麦克风设备音量回调 | onAudioDeviceVolumeChanged | onAudioDeviceVolumeChanged: | |
麦克风音量调节(采集的音量) | setCaptureVolume | setCaptureVolume: | |
麦克风测试 | 初始化音频采集设备 | initAudioCaptureDeviceForTest | initAudioCaptureDeviceForTest: |
开始音频设备测试,持续30s | startAudioDeviceRecordTest | startAudioDeviceRecordTest: | |
可以在30s内停止音频采集,并播放采集的音频 | stopAudioDeviceRecordAndPlayTest | stopAudioDeviceRecordAndPlayTest | |
停止音频采集设备测试 | stopAudioDevicePlayTest | stopAudioRecordingDeviceTest | |
麦克风测试音量回调 | onLocalAudioPropertiesReport | onLocalAudioPropertiesReport: |
该部分介绍麦克风检测过程中的常见问题,关键词如下:
音频采集路由是否跟随系统
设备检测前的异常问题检测
音量回调
设备权限配置
用户未指定音频采集/播放设备时,默认选择系统默认设备;设备变化时自动切换。
可以通过 followSystemCaptureDevice 设置音频采集路由是否跟随系统。如果将该方法的参数设置为false,即设置音频采集路由不跟随系统,那么用户就可以手动切换麦克风设备;如果设置音频采集路由跟随系统,将无法调用 setAudioCaptureDevice 设置音频采集设备。
在麦克风检测前,调用 initAudioCaptureDeviceForTest 可以检测设备不存在、权限被拒绝/禁用等异常问题。
当麦克风系统音量发生变化,触发 onAudioDeviceVolumeChanged 回调。通过监听该回调,可以感知麦克风音量变化;如果设备音量过小或处于静音状态,可以根据需要给用户相应的提示。
在 macOS 系统下,需在 Info.plist 文件中设置 NSMicrophoneUsageDescription;不更改 Windows 系统设置情况下,无需申请权限即可直接访问。
具体参考 设备权限处理。