Выделите текущее слово, которое говорит двигатель 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....
Другие вопросы по тегам