0
私のテキストから音声が始まっているときにドロアブルアニメーションを開始し、テキストが終わったときにこれを停止する必要がありますが、私はそのアニメーションを止められません。テキストが音声で終わったときに何かする
コード:
tts = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
int result = tts.setLanguage(Locale.US);
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "This Language is not supported");
}
} else {
Log.e("TTS", "Initilization Failed!");
}
}
});
private void speak(String text){
animation.start();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
}else{
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
}
、ここで私のanimationdrawableのxml
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/selected" android:oneshot="false" >
<item android:drawable="@drawable/face_1a_mini" android:duration="250" />
<item android:drawable="@drawable/face_1b_mini" android:duration="250" />
<item android:drawable="@drawable/face_1c_mini" android:duration="250" />
<item android:drawable="@drawable/face_1d_mini" android:duration="250" />
</animation-list>
こんにちは、ウェルカムツアー(https://stackoverflow.com/tour)にアクセスして、あなたの最初のバッジを獲得する時間を取ってください)、[Minimal、Complete、Verifiableの例](https://stackoverflow.com/help/mcve)を作成する方法、[How to Ask Good Questions](https://stackoverflow.com/help/)をチェックしてください。 How-To-Ask)ので、フィードバックや有用な回答を得る機会が増えます。 – DarkCygnus
[TTSの終了を知る方法](https://stackoverflow.com/questions/4658376/how-to-know-when-tts-is-finished)の可能な複製 –