Как переключить микрофон между наушником Bluetooth и мобильным телефоном? - PullRequest
1 голос
/ 06 июня 2019

Я пытаюсь написать приложение для перевода Speech2speech, а служба перевода предоставлена ​​Microsoft речь. Есть две функции, которые я хочу:

  1. Одним из них является то, что динамик получает мой голос (английский), а затем динамик мобильного телефона воспроизводит переведенный результат (японский).

  2. Другой способ заключается в том, что встроенный микрофон мобильного телефона принимает чей-то голос (на японском), а затем динамик воспроизводит переведенный результат (на английском).

Я пробую несколько комбинаций этих настроек, но все еще нахожу правильную комбинацию для достижения своей цели.

AudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION)
AudioManager.stopBluetoothSco()
AudioManager.setBluetoothScoOn();
AudioManager.setSpeakerphoneOn();
And all of "AudioManager.setMode"

Для функции 1:

mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mAudioManager.stopBluetoothSco();
mAudioManager.setBluetoothScoOn(false);
mAudioManager.setSpeakerphoneOn(true);

Для функции 2:

mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mAudioManager.setMicrophoneMute(false);
mAudioManager.startBluetoothSco();
mAudioManager.setBluetoothScoOn(true);
mAudioManager.setSpeakerphoneOn(false);

Над кодом я сейчас и пользуюсь. Но оба они получают голос со встроенного микрофона мобильного телефона и воспроизводят переведенный результат на наушнике.

Есть ли какой-нибудь простой или понятный способ выбора входа или выхода звука?

...