1
TextToSpeech tts = new TextToSpeech(context, this);
tts.speak(text, TextToSpeech.QUEUE_ADD, null);

話すのをやめるとき、私はいくつかの追加のコードを実行する必要があるため、話しているときにスピーチが終了したことをどのように知ることができますか。しかし、私はスピーチが話し終わったかどうかを確認する方法がわからないので問題があります。

これを確認するオプションはありますか?

4

3 に答える 3

7

はい、2 つのリスナーがあります。


私は UtteranceProgressListener を使用していませんが、OnUtteranceCompletedListener は非常に特殊です。以下に 2 つのヒントを示します。

  • このリスナーをonInit()コールバックに設定します。
  • params3 番目のパラメーターをspeak()有効なで渡す必要がありますKEY_PARAM_UTTERANCE_ID。そうしないと、このリスナーは呼び出されません。
于 2012-10-18T18:50:57.123 に答える
1

私が知っている限り、これにはリスナーはありませんが、isSpeaking()TTS エンジンが話し中かどうかを確認するために呼び出されるメソッドがあります。このメソッドの助けを借りて、それが話しているかどうかを確認できるように

于 2012-09-01T11:50:39.580 に答える
-1
public boolean isDoneSpeaking() {
                   if(!mTts.isSpeaking())
                {
                    return true;
                }
                else
                {
                    return false;
                }

            }
于 2012-10-18T17:51:23.573 に答える