Android媒体播放器没有停止

Android媒体播放器没有停止,android,media-player,Android,Media Player,我已经创建了一个android应用程序,当应用程序启动时使用一个媒体播放器启动音乐,当应用程序停止时使用一个媒体播放器停止音乐 在我的应用程序中,媒体播放器没有停止 我的代码是: public void StartPlayer() { mPlayer = MediaPlayer.create(getApplicationContext(), R.raw.siren); mPlayer.setLooping(true); mPlayer.start();

我已经创建了一个android应用程序,当应用程序启动时使用一个媒体播放器启动音乐,当应用程序停止时使用一个媒体播放器停止音乐

在我的应用程序中,媒体播放器没有停止

我的代码是:

public void StartPlayer()
{   
    mPlayer = MediaPlayer.create(getApplicationContext(), R.raw.siren);
    mPlayer.setLooping(true);   
    mPlayer.start();        
}
public void StopPlayer()
{
    if(mPlayer!=null && mPlayer.isPlaying())
    {
        mPlayer.stop();
        mPlayer.release();
        mPlayer = null;
    }       
}

我通过将mediaplayer对象设置为静态(那么它只能是该对象的一个实例)解决了这个问题。

我有一个可以启动和停止的工作媒体播放器

Uri ringtone;
MediaPlayer mp;

ringtone = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
        mp = MediaPlayer.create(getApplicationContext(), ringtone);

//code to start the mediaplayer

 if (Flags.notificationReceived) {
                    showAlert(Flags.patientModel);
                    Flags.notificationReceived = false;
                    mp.start();
                    mp.setLooping(true);
                    vibrate(2000);
                }

//code to stop the media player

 if (mp.isPlaying()) {
                    mp.stop();
                    mp.reset();
                    mp.release();
                    mp = MediaPlayer.create(getApplicationContext(), ringtone);
                }

也可以尝试
mPlayer.reset()
after
mPlayer.stop()
你确定调用了
StopPlayer
吗?是的@MalaKa使用Log我检查了一下。但媒体播放器并没有停止。@SimplePlan我使用mPlayer.reset();但是它不起作用。嗯,我看不出有任何错误。。我唯一能想象的是,您将
mPlayer=null
设置在某个地方,这样if子句就不是真的,因此播放器就不会停止。我看到的第二种可能性是,您以某种方式删除了两个
mPlayer
变量(在处理程序中或
onCreate
或类似的内容)。