2014-01-14 150 views
0

我收到短信時嘗試播放歌曲,當我收到2條短信時, ,然後同時播放歌曲。Android:在播放新歌之前停止播放歌曲。

感謝您的幫助

  Runnable stopPlayerTask = new Runnable(){ 
       @Override 
       public void run() { 
        mPlayer.stop(); 
       } 
      }; 

      if(mPlayer.isPlaying()){ 
       mPlayer.stop(); 
      }else{ 
       mPlayer.seekTo(startime); 
       mPlayer.start(); 
       mPlayer.setLooping(true); 
      } 
      Handler handler = new Handler(); 
      handler.postDelayed(stopPlayerTask, endtime); 
+0

首先,檢查你是否有單個玩家的實例。如果你有多個實例,而不需要使用任何靜態變量來檢查運行狀態並停止你喜歡的狀態。 –

+0

是你的mplayer作爲靜態的delcraed? –

+0

我宣佈最終 – Merv

回答

0

如果我正確理解您打算如何使用媒體播放器,你應該從Android系統中請求音頻焦點。因此,您可以將mediaplyer包裝在實現「AudioManager.OnAudioFocusChangeListener」的服務中。如果您爲應用程序正確執行回調,則該歌曲不應該同時播放。

請注意,Android需要至少8的API級別使用AudioManager

下面是該文檔中的參考:後mPlayer.stop(); 這將重置所有初始化 http://developer.android.com/guide/topics/media/mediaplayer.html

+0

。我使用API​​7 – Merv

+0

好的,然後這應該工作。 –

+0

@Merv不要忘記標記這是正確的答案,如果這個工作。 :-) –

0

使用mPlayer.reset();例如:跟蹤URI等,所以將不得不重新設置跟蹤URI之前mPlayer.start();

這將只讓新的和一個軌道播放一段時間,並且會停止&完全重置上一個曲目。