Выделите текущее слово, которое говорит двигатель TTS
Я работаю над приложением "Текст в речь", но столкнулся с проблемой, заключающейся в том, что я не мог знать нынешнее слово, которое произносит TTS. Есть ли способ найти это.?
Например: если TTS говорит эту строку: Вопросы, на которые уже может быть ваш ответ, и когда он достигнет "уже", как я могу выделить "уже".
2 ответа
Решение
Я предлагаю использовать последовательность TextToSpeech.speak():
- начать говорить первое слово.
- выделить первое слово.
- обнаружить, что синтез первого слова закончен.
- начать говорить второе слово.
- выделить второе слово.
- обнаружить, что синтез второго слова закончен.
- и так далее...
Теперь это только остается How to detect that synthesizing of a word has finished?
использование TextToSpeech.setOnUtteranceCompletedListener()
обнаружить высказывание завершено.
Вы можете увидеть эти страницы для более подробной информации:
Как узнать, когда закончится TTS?
Введение в Text-To-Speech в Android
Put it in handler.Create two handler one for to add ;
tts1.speak("your text to speech", TextToSpeech.QUEUE_FLUSH, null);
viewItem.setBackgroundColor(Color.RED);
view item means your textview....
and add another handler...
and make your view as transparent..
viewItem.setBackgroundColor(Color.TRANSPARENT);
it's work for me perfectly....