2013-04-06 107 views
0

我開發一個應用程序,因爲它聽起來不太好,如果兩個聲音覆蓋,我想在下一個播放時停止聲音。我試了一下這樣的Android讓一個媒體播放器停止另一個

Button1的:

MediaPlayer mediaPlayerW = MediaPlayer.create(getBaseContext(), R.raw.w1);  
       if(mediaPlayerW.isPlaying()){ 
       mediaPlayerW.stop();} 
       else{ 
       mediaPlayerW.start(); 
       } } 

將Button2:

MediaPlayer mediaPlayerW = MediaPlayer.create(getBaseContext(), R.raw.w2);  
       if(mediaPlayerW.isPlaying()){ 
       mediaPlayerW.stop();} 
       else{ 
       mediaPlayerW.start(); 
       } } 

現在的問題是,該MPLAYER總是得到一個新的ID,因此這並不能阻止「老「聲音。

然後我用setDataSource試了一下,但我仍然不得不創建MediaPlayer的新對象,所以ID仍然改變。

任何人有關於此的想法?

回答

0

您的解決方案不是可擴展並且不會有效地滿足您的需求。

Android設計瞭解決您當前面臨的問題的解決方案:AudioFocus API。

該解決方案具有更高的可擴展性,因爲它可以與幾乎無限數量的MediaPlayer對象一起使用,並且可以在所有應用程序中工作。

+0

謝謝,我會試試:) – user2161301 2013-04-06 02:20:46