ボタンを押したときに、音声からテキストを開始するコードがあります。 1つの詳細を除いてすべてが正常に動作しています。 2つのボタンを連続して押すと、音が重なり始める。ボタンを押すたびにメディアプレーヤーを切断する方法はありますか?私はnoise1.pause()、noise1.stop()、noise1.reset()を使用していますが、何も動作しません。私はメディアプレイヤーの完全なリスナーを使用することを考えていましたが、私はこれをどのように実装できるかはわかりません。どんな助けもありがとう。どうもありがとう!!!次のボタンをクリックして音楽を停止する方法
public void onClick(View view) {
Resources res = getResources();
final TextView tv = (TextView) findViewById(R.id.color_text);
final MediaPlayer noise1 = MediaPlayer.create(this, R.raw.one);
final MediaPlayer noise2 = MediaPlayer.create(this, R.raw.two);
final MediaPlayer noise3 = MediaPlayer.create(this, R.raw.three);
switch (view.getId()) {
case R.id.one_button:
String oneString = res.getString(R.string.One);
tv.setText(oneString);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
tts.speak(oneString, TextToSpeech.QUEUE_FLUSH, null);
} else {
tts.speak(oneString, TextToSpeech.QUEUE_FLUSH, null, null);
}
noise1.start();
break;
case R.id.two_button:
String twoString = res.getString(R.string.Two);
tv.setText(twoString);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
tts.speak(twoString, TextToSpeech.QUEUE_FLUSH, null);
} else {
tts.speak(twoString, TextToSpeech.QUEUE_FLUSH, null, null);
}
noise2.start();
break;
case R.id.three_button:
String threeString = res.getString(R.string.Three);
tv.setText(threeString);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
tts.speak(threeString, TextToSpeech.QUEUE_FLUSH, null);
} else {
tts.speak(threeString, TextToSpeech.QUEUE_FLUSH, null, null);
}
three.start();
break;
}
"_but nothing works_"なぜですか? –