0

请不要建议使用 tts.stop() 从 tts 队列中刷新文本。

我想问如果我有

HashMap<String, String> params = new HashMap<String, String>();
params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID,"tag2");
tts.speak("Hi",TextToSpeech.QUEUE_ADD,params);
tts.speak("Hello",TextToSpeech.QUEUE_ADD,params);

同样,队列中还添加了许多其他句子。

我的问题是,如果

tts.speak("Flushing",TextToSpeech.QUEUE_FLUSH,null); is done

或者

tts.speak("Flushing",TextToSpeech.QUEUE_FLUSH,params); is done

其中 params 与前一个相同

两种情况下的操作是否不同,即只有当 params 参数或话语 id 对它们而言相同时,句子才会被刷新?

谢谢!

4

1 回答 1

1

没有区别,您的所有应用程序队列都将被刷新。HashMap 参数是为语音引擎传递额外的信息。在您的情况下,如果传递 null onUtteranceCompleted 将不会被调用。请参阅文档http://developer.android.com/reference/android/speech/tts/TextToSpeech.html#QUEUE_FLUSH

于 2013-08-13T19:41:49.850 回答