onUtteranceCompleted()
GalaxyNexus4.0.2で解雇されません。API 8、10、および15を使用するエミュレーターは起動しますonUtteranceCompleted()
。
編集:まあ..上記のステートメントはほとんどの場合に当てはまります、私はちょうどそれを私のハードウェア4.0.2で動作させることができました。それから私はそれを閉じて再開しました、そしてonUtteranceCompleted()は再び解雇されませんでした。昨日(一部のコードが変更される前)同じことをしていたので、90%の時間は機能していません。それを理解することはできません;(
edit2:FYI:mTts.setOnUtteranceCompletedListener(this); TextToSpeech.SUCCESSを返します
これが私のコードです:
(...)
public void onInit(int status) {
mTts.setOnUtteranceCompletedListener(this);
if (status == TextToSpeech.SUCCESS) {
int result = mTts.setLanguage(Locale.US);
if (result == TextToSpeech.LANG_MISSING_DATA ||
result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e(TAG, "Language is not available.");
} else {
TTSAusgabe.setEnabled(true);
}
} else {
Log.e(TAG, "TTS failed");
}
}
SayText() { (....)
MundAnimation.start();
HashMap<String, String> params = new HashMap<String, String>();
params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "utterance");
mTts.speak("Ma Text", TextToSpeech.QUEUE_FLUSH, params);
}
}
// That's the bad boy!
public void onUtteranceCompleted(String utterance)
{
MundAnimation.stop();
//startVoiceRecognitionActivity();
System.out.println("drin");
}
(...)