音频设备管理

更新时间: 2024/09/18 16:26:13

在音频场景中,您可能需要根据实际的场地情况选择采用音频的采集和播放设备,例如在室内场景中选用听筒进行音频播放。NERTC SDK 支持自由切换音频设备。

注意事项

耳机连接时,自动使用耳机播放。此时即使设置音频播放设备为扬声器或听筒,仍旧使用耳机播放,耳机断开连接时,恢复音频播放设备的配置。

实现方法

参考如下步骤,在您的项目中切换音频路由:

  1. 在加入房间成功后调用 isSpeakerphoneOn 判断当前是听筒还是扬声器模式。

  2. 调用 setSpeakerphoneOn 接口进行切换。

    • true:扬声器。
    • false:听筒。
  3. 通过监听 onAudioDeviceChanged 回调来监听音频路由切换事件。

示例代码

    // 判断当前音频路由器。
    boolean isSpeakerphoneOn = await _engine.deviceManager.isSpeakerphoneOn();
    
    // 设置音频路由。
    await _engine.deviceManager.setSpeakerphoneOn(true);
    
    // 音频路由切换回调。
    @override
  void onAudioDeviceChanged(int selected) {
    String audioDevice;
    switch (selected) {
      case NERtcAudioDevice.earpiece:
        audioDevice = "听筒";
        break;
      case NERtcAudioDevice.bluetoothHeadset:
        audioDevice = "蓝牙耳机";
        break;
      case NERtcAudioDevice.speakerPhone:
        audioDevice = "扬声器";
        break;
      case NERtcAudioDevice.wiredHeadset:
        audioDevice = "有线耳机";
        break;
      default:
        audioDevice = "EARPIECE";
        break;
    }
  }

API参考

方法 功能描述
setPlayoutDeviceMute 设置是否音频播放静音。
setRecordDeviceMute 设置是否音频采集静音。
isSpeakerphoneOn 查看扬声器是否开启。
setSpeakerphoneOn 设置扬声器是否开启。

音频设备回调:

事件 功能描述
onAudioDeviceChanged 语音播放设备发生改变
此文档是否对你有帮助?
有帮助
去反馈
  • 注意事项
  • 实现方法
  • 示例代码
  • API参考