6

ドキュメント内のテキストを読み取るアプリを開発していて、一時停止と再開の機能を追加したいのですが、TTSにpause()メソッドが見つかりません。一時停止する方法はありますか..?

4

2 に答える 2

5

一時停止する方法があります。hereTextToSpeech.playSilence()から以下のコードを参照してください

いくつかの沈黙とともに、実際のテキストを話します。

private void playScript()
{
    Log.d(TAG, "started script");
// setup

// id to send back when saying the last phrase
// so the app can re-enable the "speak" button
HashMap<String, String> lastSpokenWord = new HashMap<String, String>();
lastSpokenWord.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID,
        LAST_SPOKEN);

// add earcon
final String EARCON_NAME = "[tone]";
tts.addEarcon(EARCON_NAME, "root.gast.playground", R.raw.tone);

// add prerecorded speech
final String CLOSING = "[Thank you]";
tts.addSpeech(CLOSING, "root.gast.playground",
        R.raw.enjoytestapplication);

// pass in null to most of these because we do not want a callback to
// onDone
tts.playEarcon(EARCON_NAME, TextToSpeech.QUEUE_ADD, null);
tts.playSilence(1000, TextToSpeech.QUEUE_ADD, null);
tts.speak("Attention readers: Use the try button to experiment with"
        + " Text to Speech. Use the diagnostics button to see "
        + "detailed Text to Speech engine information.",
        TextToSpeech.QUEUE_ADD, null);
tts.playSilence(500, TextToSpeech.QUEUE_ADD, null);
tts.speak(CLOSING, TextToSpeech.QUEUE_ADD, lastSpokenWord);

}

于 2012-06-18T08:33:21.710 に答える
3

TextToSpeech クラスにはsetOnUtteranceCompletedListener (または API レベル 15以降の場合はsetOnUtteranceProgressListener ) を追加する機能があり、TTS 発話が完了したときにリスナーをアタッチして、2 番目の発話、一時停止、または必要なものを開始できます。 ..

于 2012-06-17T07:56:51.937 に答える