1
TextToSpeech
インスタンスにUtteranceProgressListener
が設定されています。ユーザーがトークバックを使用しているときに、それが呼び出され、それがうまく動作するとがになると、音声要求が中断され、UtteranceProgressListener
が呼び出されません(onError
)。これはAndroid側の欠陥ですか、何か間違っていますか?トークバックが中断したときにTextToSpeechのUtteranceProgressListenerが呼び出されない
マイコード:
final String utteranceId = generateUtteranceId();
tts.setOnUtteranceProgressListener(new UtteranceProgressListener() {
@Override
public void onStart(String s) {
if(utteranceId.equals(s)) {
Log.e(TAG, "onStart");
}
}
@Override
public void onDone(String s) {
if(utteranceId.equals(s)) {
Log.e(TAG, "onDone");
}
}
@Override
public void onError(String s) {
if(utteranceId.equals(s)) {
Log.e(TAG, "onError");
}
}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
tts.speak(textToSpeech, TextToSpeech.QUEUE_ADD, null, utteranceId);
} else {
HashMap<String, String> map = new HashMap<String, String>();
map.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, utteranceId);
tts.speak(textToSpeech, TextToSpeech.QUEUE_ADD, map);
}
トークバックとは異なるTTSエンジンにバインドする場合、これを複製できますか? – brandall