安卓媒体播放器未停止。

6
我可以帮忙翻译。这段文字涉及到编程方面,作者创建了一个安卓应用程序,使用了一个媒体播放器在应用启动时播放音乐,并在应用停止时停止音乐。但是,该应用程序中的媒体播放器没有停止。以下是代码:
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;
    }       
}

mPlayer.stop(); 之后尝试使用 mPlayer.reset(); - M D
你确定 StopPlayer 被调用了吗? - MalaKa
是的,@MalaKa,我使用Log进行了检查。但是媒体播放器并没有停止。 - user3559272
@SimplePlan 我使用mPlayer.reset(); 但它不起作用。 - user3559272
嗯,我看不到任何错误...我唯一能想象的是你在某个地方设置了mPlayer = null,所以if语句不成立,因此播放器没有停止。我看到的第二种可能性是你在处理程序或onCreate中声明了两个mPlayer变量。 - MalaKa
2个回答

3

我通过将mediaplayer对象设置为静态的来解决了这个问题(这样就只有一个对象实例)。


0

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

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);
                }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接