音频设备管理
更新时间: 2024/09/18 16:26:13
在音频场景中,您可能需要根据实际的场地情况选择采用音频的采集和播放设备,例如在室内场景中选用听筒进行音频播放。NERTC SDK 支持自由切换音频设备。
注意事项
耳机连接时,自动使用耳机播放。此时即使设置音频播放设备为扬声器或听筒,仍旧使用耳机播放,耳机断开连接时,恢复音频播放设备的配置。
实现方法
参考如下步骤,在您的项目中切换音频路由:
-
在加入房间成功后调用
isSpeakerphoneOn
判断当前是听筒还是扬声器模式。 -
调用
setSpeakerphoneOn
接口进行切换。- true:扬声器。
- false:听筒。
-
通过监听
onAudioDeviceChanged
回调来监听音频路由切换事件。
示例项目源码
网易云信提供设备管理的示例项目源码 DeviceManagement ,您可以参考该源码实现音频设备管理。
示例代码
// 判断当前音频路由器。
boolean isSpeakerphoneOn = NERtcEx.getInstance().isSpeakerphoneOn();
// 设置音频路由。
NERtcEx.getInstance().setSpeakerphoneOn(isSpeakerphoneOn);
// 音频路由切换回调。
public void onAudioDeviceChanged(int selected) {
String audioDevice;
switch (selected) {
case NERtcConstants.AudioDevice.EARPIECE:
audioDevice = "听筒";
break;
case NERtcConstants.AudioDevice.BLUETOOTH_HEADSET:
audioDevice = "蓝牙耳机";
break;
case NERtcConstants.AudioDevice.SPEAKER_PHONE:
audioDevice = "扬声器";
break;
case NERtcConstants.AudioDevice.WIRED_HEADSET:
audioDevice = "有线耳机";
break;
default:
audioDevice = "EARPIECE";
break;
}
}
API参考
方法 | 功能描述 |
---|---|
setPlayoutDeviceMute | 设置是否音频播放静音。 |
setRecordDeviceMute | 设置是否音频采集静音。 |
isSpeakerphoneOn | 查看扬声器是否开启。 |
setSpeakerphoneOn | 设置扬声器是否开启。 |
音频设备回调:
事件 | 功能描述 |
---|---|
onAudioDeviceChanged | 语音播放设备发生改变 |
此文档是否对你有帮助?