Android媒体播放器没有停止
我已经创建了一个android应用程序,当应用程序启动时使用一个媒体播放器启动音乐,当应用程序停止时使用一个媒体播放器停止音乐 在我的应用程序中,媒体播放器没有停止 我的代码是:Android媒体播放器没有停止,android,media-player,Android,Media Player,我已经创建了一个android应用程序,当应用程序启动时使用一个媒体播放器启动音乐,当应用程序停止时使用一个媒体播放器停止音乐 在我的应用程序中,媒体播放器没有停止 我的代码是: public void StartPlayer() { mPlayer = MediaPlayer.create(getApplicationContext(), R.raw.siren); mPlayer.setLooping(true); mPlayer.start();
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()
aftermPlayer.stop()
你确定调用了StopPlayer
吗?是的@MalaKa使用Log我检查了一下。但媒体播放器并没有停止。@SimplePlan我使用mPlayer.reset();但是它不起作用。嗯,我看不出有任何错误。。我唯一能想象的是,您将mPlayer=null
设置在某个地方,这样if子句就不是真的,因此播放器就不会停止。我看到的第二种可能性是,您以某种方式删除了两个mPlayer
变量(在处理程序中或onCreate
或类似的内容)。