テキストの読み上げ(テキスト読み上げ)を開始するボタン(再生アイコンが背景)があります。
tts が話している間、ボタンの背景を (停止アイコンを使用して) 変更したいと考えています。次に、話すのをやめたら、ボタンの背景を最初のもの(再生アイコン)にリセットしたいと思います。
スレッドを使用して実行しようとしていますが、希望の結果が得られません..
ここでボタンクリックリスナーの私のコードを見てください:
if (tts.isSpeaking()) {
tts.stop();
btn4.setBackgroundResource(R.drawable.sound_icon);
} else {
Thread splashTread = new Thread() {
@Override
public void run() {
try {
while (tts.isSpeaking()) {
sleep(100);
btn4.setBackgroundResource(R.drawable.stop_icon);
}
} catch (Exception e) {
// do nothing
} finally {
btn4.setBackgroundResource(R.drawable.sound_icon);
}
}
};
if (myText.equals("")) {
speech("No text");
splashTread.start();
} else {
speech(myText);
splashTread.start();
}