How to play mp3 continuosly when application starts and stop when user close app in background

后端 未结 4 1717
一整个雨季
一整个雨季 2021-01-26 02:14

I am writing an app in which i am allowing user to view images and select one of them to set an WALLPAPER, and in this i also want to play an mp3 when user starts an App and sto

4条回答
  •  隐瞒了意图╮
    2021-01-26 03:07

    This part has to be in EVERY activity's onPause:

    Stop music automatically when user exit from app

    public void onPause(){
    super.onPause();
        Context context = getApplicationContext();
                ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
                List taskInfo = am.getRunningTasks(1);
                if (!taskInfo.isEmpty()) {
                  ComponentName topActivity = taskInfo.get(0).topActivity; 
                  if (!topActivity.getPackageName().equals(context.getPackageName())) {
                   StopPlayer();
                    Toast.makeText(xYourClassNamex.this, "YOU LEFT YOUR APP. MUSIC STOP", Toast.LENGTH_SHORT).show();
                  }
                }
      }
    

    This part has to be in EVERY activity's onResume:

    Play music automatically when user resume the app

    Public void onResume()
        {
           super.onResume();
         StartPlayer();
        }
    

    You can put your Player functionalty in global class. where every class can call it's player. so your plyer will be remain same in whole application. & you can start or stop it. on Pause method it will detect wether user left this App or not. if user left from the app so u can stop it.

    GlobalPlayer.class

    public MediaPlayer mPlayer;
    
    public void StartPlayer(){
    MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.music_file);
    
    
                // TODO Auto-generated method stub
                mPlayer = MediaPlayer.create(getApplicationContext(),R.raw.mymusic.mp3);
                mPlayer.start();//Start playing the music
    
    }
    public void StopPlayer(){
                if(mPlayer!=null && mPlayer.isPlaying()){//If music is playing already
                    mPlayer.stop();//Stop playing the music
              }
    }
    

提交回复
热议问题