2012-09-27 76 views
1

我有一個四個ToggleButton的視圖,每個在每個狀態下播放不同的聲音。所以我總共有八個MediaPlayer實例。當用戶選擇一個切換按鈕時,聲音將播放,具體取決於切換按鈕的值。這是我的一個ToggleButton的代碼。Android MediaPlayer Stop

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停止之前按下切換按鈕的另一個,在MediaPlayer播放直到拳頭一個完成兩種曲調。我可以在被按下的ToggleButton上停止MediaPlayer,但我不想爲每個按鈕輸入它,因爲這將是七個音調同時停止()。

有誰知道如何用一個簡單的命令停止所有MediaPlayer實例?

+0

你有什麼樣的聲音? – moDev

回答

1

使用SoundPool。它更適合這個目的。 查看此link瞭解詳情。

+0

謝謝!真正的幫助! –

+0

不客氣。很高興它有幫助。 –

0

將所有MediaPlayers置於Collection中。

然後你可以迭代收集並停止它們。

+0

你知道使用Collection的好教程嗎?試圖用Google搜索它,但找不到任何東西。 –

+0

我認爲這三個是很好的例子和教程收集[1](http://www.vogella.com/blog/2009/08/04/collections-sort-java/),[2](http:// www.tutorialspoint.com/javaexamples/collection_all.htm),[3](http://www.tutorialspoint.com/javaexamples/java_collections.htm) –