2

私はAndroidアプリに取り組んでおり、TTSエンジンを利用しています。アプリは、特定のイベントの期間中、継続的に繰り返されるメッセージを出力する必要があります。

私は現在while(true)、キューに追加するステートメントでそれを行っていますが、TTS.speakメソッドがブロックされているとは思わないため、これはおそらく良い考えではないと思いました。そのため、ttsエンジンに音声が継続的に追加されます。それはおそらく使用されないか、メモリの問題やパフォーマンスの問題などの問題を引き起こす可能性があります。

プログラムにテキスト読み上げが終了するのを待たせる方法はありますか。完了すると、ループしてメッセージをもう一度再生することができます。これは可能ですか、それとも私がやったことに対するより良い解決策がありますか?

以下は私がこれまでに持っているコードです

if (repitionOption.equals(SettingsManager.CALL_ANNOUNCE_CONTINUOUSLY))
{
    while (true)
    {
    textToSpeech.speak(ttsMessage, TextToSpeech.QUEUE_ADD, null);
    }
}

あなたが提供できるどんな助けにも感謝します。

4

1 に答える 1

3

onUtteranceCompletedを実装し、条件がtrueの場合は、もう一度speakを呼び出すことができます。

于 2013-03-19T23:22:57.040 に答える