В каких случаях TextToSpeech.isSpeaking () возвращает true? - PullRequest
5 голосов
/ 31 марта 2012

В документации написано "Проверяет, занят ли механизм TTS разговором".

Но я только что реализовал вызов isSpeaking() в onUtteranceCompletedListener, где у меня есть как минимум 10 ожидающих высказываний, и в ни одно из них я не получил true.

Предполагая, что isSpeaking() на самом деле работает так, как задокументировано, я должен сделать вывод, что я его неправильно называю.

В каких точках вызов TextToSpeech.isSpeaking () возвращает действительный результат?

1 Ответ

1 голос
/ 13 апреля 2012

Отвечая на себя, спасибо, что наткнулся на этот вопрос (также без ответа):

Проблема с isSpeaking () при использовании преобразования текста в речь на Android

Исходный код класса TtsService показывает:

public boolean isSpeaking() {
  return (mSelf.mIsSpeaking && (mSpeechQueue.size() < 1));
}

Это означает, что механизм TTS не только должен говорить, но и размер очереди его высказываний должен быть больше 0.

...