1

我有四个 ToggleButtons 的视图,每个按钮在每个状态下播放不同的声音。所以我总共有八个 MediaPlayer 实例。当用户选择一个切换按钮时,将播放声音,具体取决于切换按钮的值。这是我的一个切换按钮的代码。

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() 的七首曲子。

有谁知道如何用一个简单的命令停止所有 MediaPlayer 实例?

4

2 回答 2

1

Use SoundPool . It fit better for this purpose. Check this link for details.

于 2012-09-27T09:33:37.640 回答
0

将所有MediaPlayers内容放在Collection中。

然后你可以遍历集合并停止它们。

于 2012-09-27T09:30:32.520 回答