如何使本机Android WebRTC语音聊天应用程序与BT耳机上的背景音乐配合使用时略微起作用

时间:2019-05-06 14:57:00

标签: android audio bluetooth webrtc voip

我正在开发基于WebRTC本地预建库的Android VoIP聊天应用程序。必须与当前使用BT耳机播放的任何背景音乐同时工作。

我们有下一个:

  • 已连接BT耳机
  • 从任何音乐应用程序播放的背景音乐,我们都可以从头戴式耳机的耳机中听到

我的应用会像这样初始化音频:

audioManager.setMode(AudioManager.MODE_NORMAL);

也尝试过MODE_IN_COMMUNICATION,但是它会立即将输出质量(webRTC和音乐)设置为较差,这是不可接受的。然后,我们有两种情况:

1)使用

audioManager.setSpeakerphoneOn(false);
audioManager.setBluetoothScoOn(true);
audioManager.setMicrophoneMute(false);
audioManager.startBluetoothSco();

导致音乐播放停止。

2)不使用startBluetoothSco()和上面的其他行-可以使音乐通过webRTC输出正常播放,但是webRTC使用设备的麦克风,而不是耳机上的麦克风

所需的行为是音乐继续在BT上播放以及webRTC输出,并从头戴式麦克风收集声音。有什么想法要实现吗?

PS。将来肯定会需要AudioManager.requestAudioFocus()对另一个语音应用程序的询问做出反应,只是想最大程度地简化问题。但是在这种情况下,我尝试不使用它,或者以其他方式使用它们都不能解决问题:

audioManager.requestAudioFocus(audioFocusChangeListener,
                AudioManager.STREAM_VOICE_CALL,
                AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);

0 个答案:

没有答案