В моем руководстве по Android указано, что я могу явно указать движку TTS, какой поток использовать:
Для воспроизведения музыки:
params.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_MUSIC));
И для телефонных звонков:
params.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_VOICE_CALL));
Насколько я понимаю, маршрутизация звука на гарнитуру Bluetooth работает таким образом, что STREAM_MUSIC
переходит на A2DP
(он же "media audio" в настройках Android Bluetooth), а STREAM_VOICE_CALL
переходит на HSP
(он же "телефонный звук").в настройках Android Bluetooth).
Но независимо от того, использую ли я STREAM_MUSIC
или STREAM_VOICE_CALL
в моем маленьком приложении, звук всегда по каким-то причинам всегда идет к A2DP
.
Что я делаю не так?Есть ли способ направить вывод TTS в профиль HSP
гарнитуры?