2017-09-23 268 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

您可以使用附加功能传递当前搜索位置,但音乐可能会在活动之间切换时停止。

我建议您使用服务,然后在每个活动事件中检查您是否切换到应用程序中的其他活动,如果没有发送一些广播到服务停止播放音乐。