4つのToggleButtonがあり、それぞれが状態ごとに異なるサウンドを再生しているビューがあります。したがって、合計で8つのMediaPlayerインスタンスがあります。ユーザーがトグルボタンを1つ選択すると、トグルボタンの値に応じてサウンドが再生されます。これが1つのToggleButtonのコードです。
MediaPlayer pos = MediaPlayer.create(Set.this, R.raw.pos)
MediaPlayer neg = MediaPlayer.create(Set.this, R.raw.neg);
private void onPlayer1Clicked() {
if (((ToggleButton)Player1).isChecked())
positive();
else
negative();
}
private void positive() {
pos.start();
}
private void negative() {
neg.start();
}
私が立ち往生しているのは、MediaPlayerが停止する前に別のToggleButtonが押されたときです。MediaPlayerは、最初の曲が終了するまで両方の曲を再生します。ToggleButtonが押されているときにMediaPlayerを停止することはできますが、一度にStop()に7曲かかるため、ボタンごとにMediaPlayerを入力する必要はありません。
簡単なコマンドですべてのMediaPlayerインスタンスを停止する方法を知っている人はいますか?