2017-09-23 248 views
1

我想在我的應用程序來播放音樂的所有活動,但是當我和mainactivity之間切換的另一個活動的音樂停止,請幫助我的人,而無需使用服務播放音樂的所有活動

MainAcivity:

ToggleButton MusicButton; 
    MediaPlayer mediaPlayer; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.vaporv2); 
     if(!mediaPlayer.isPlaying()){ 
      mediaPlayer.start(); 
     } 
     mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
      public void onCompletion(MediaPlayer mp) { 
       mediaPlayer.start(); 
      } 
     }); 

    //code 

@Override 
    protected void onPause() { 
     super.onPause(); 
     if(mediaPlayer!=null && mediaPlayer.isPlaying()){ 
      mediaPlayer.pause(); 
     } 
    } 
    @Override 
    protected void onResume() { 
     super.onResume(); 
     if(mediaPlayer!=null && !mediaPlayer.isPlaying()){ 
      if(MusicButton.isChecked()){ 
       mediaPlayer.pause(); 
      } 
      else 
       mediaPlayer.start(); 
     } 
    } 

我不知道我可以在其他活動中做些什麼。

+1

發佈你的日誌,它不工作 – Zoffa

+0

@Zoffa我不知道我應該在其他活動中做什麼,以保持音樂播放 –

+1

你能解釋爲什麼你不喜歡擴展這個「服務」類任務?一般的音樂播放器使用在後臺運行的「服務」處理所有活動中的__play音樂。 –

回答

0

您可以使用附加功能傳遞當前搜索位置,但音樂可能會在活動之間切換時停止。

我建議您使用服務,然後在每個活動事件中檢查您是否切換到應用程序中的其他活動,如果沒有發送一些廣播到服務停止播放音樂。