выцветать и исчезать музыка во время разговора текст - PullRequest
2 голосов
/ 15 июня 2010

У меня есть приложение для Android, которое использует API TTS (Text to Speech). Все работает отлично, но теперь я хочу добавить / выключить или даже остановить музыку (в случае, если пользователь воспроизводит музыку с помощью встроенного музыкального проигрывателя), когда приложение произносит текст. Сейчас я думаю, что и музыка, и сообщения TTS воспроизводятся в одном потоке (MUSIC), и может быть сложно понять голосовые сообщения.

Я пытался воспроизвести текст в другом потоке, например AudioManager.STREAM_NOTIFICATIONS. Это останавливает музыку, но не возвращается, когда произносят текст, поэтому я не достиг цели. Пока ничего не нашел, так что я надеюсь, что кто-то может помочь здесь. Спасибо!

Ответы [ 2 ]

5 голосов
/ 01 июля 2010

Я наконец-то получил что-то, что работает.Не идеально, хотя.Довольно подвох.На всякий случай это может кому-то помочь:

Это исправлено в API 8 с методами requestAudioFocus и remaomAudioFocus в AudioManager.

Но для предыдущих версий вы можете попробовать это.Воспроизведите TTS через другой канал потока, скажем, STREAM_NOTIFICATIONS.Тогда вам просто нужно вернуть фокус аудио на STREAM_MUSIC.Как вы можете этого достичь?Отправка строки молчания ("") в TTS, но на этот раз через STREAM_MUSIC.Эффект будет таким: музыка останавливается, ваше сообщение TTS произносится, и, наконец, ваша музыка возвращается после голосового оповещения.Не приятно или чем-то, чем можно гордиться, но ... если кто-то знает другой путь, я буду признателен за это

0 голосов
/ 01 июля 2010

Не могли бы вы использовать TextToSpeech.OnUtteranceCompletedListener вместе с AudioManager.setStreamVolume для достижения этой цели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...