В моем руководстве по 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
(он же «медиа-аудио» в настройках Android Bluetooth), а STREAM_VOICE_CALL
переходит к HSP
(он же «телефонный звук» в настройках Android Bluetooth).
Но независимо от того, использую ли я STREAM_MUSIC
или STREAM_VOICE_CALL
в своем маленьком приложении, аудио по какой-то причине всегда переходит на A2DP
.
Что я делаю неправильно? Есть ли способ направить вывод TTS в профиль гарнитуры HSP
?