如何停止媒体播放器的其他活动?

asd*_*asd 1 android

我像这样启动mediaplayer:

    if (mp != null) {
        mp.stop();
        mp.reset();
        mp.release();
    }
    mp = MediaPlayer.create(this, R.raw.background);
    mp.start();
Run Code Online (Sandbox Code Playgroud)

如何停止其他活动?它继续在另一个活动中播放。如何onDestroy在其他活动中使用?

its*_*uys 6

在项目中使用如下所示的Separate类。

import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.SoundPool;

public class AudioPlay {

    public static MediaPlayer mediaPlayer;
        private static SoundPool soundPool;
    public static boolean isplayingAudio=false;
    public static void playAudio(Context c,int id){
         mediaPlayer = MediaPlayer.create(c,id);
         soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);
         if(!mediaPlayer.isPlaying())           
         {
        isplayingAudio=true;
         mediaPlayer.start();             
         }          
     }
    public static void stopAudio(){     
         isplayingAudio=false;       
         mediaPlayer.stop();
    }   
}
Run Code Online (Sandbox Code Playgroud)

播放歌曲

`AudioPlay.playAudio(mContext, R.raw.audiofile);` // play it from your preferred activity. and you can change raw file to your path also its depends upon your requirement. 
Run Code Online (Sandbox Code Playgroud)

然后在AudioPlay.stopAudio();任何活动中使用此行停止音频。希望这可以帮助。