无论是否正在播放,如何在按下后停止媒体播放器?
How to stop media player on back pressed regardless of whether it's playing or not?
@Override
public void onBackPressed(){
super.onBackPressed();
mp.release();
overridePendingTransition(R.anim.anim, R.anim.anim2);
}
MediaPlayer 在播放声音时释放,但是当不播放声音时它不能释放任何东西并导致空指针。如果我不释放它,它就会继续播放。这是一个陷阱 22。我怎样才能基本上停止 MediaPlayer 而不会出现任何错误?
以这种方式释放媒体播放器
if(mp!=null && mp.isPlaying()){
mp.release();
}
试试这个
检查媒体播放器是否正在播放
if(mp !=null && mp.isPlaying())
mp.release();
您可以创建一个 flag.Whenever 媒体正在播放,使该标志为真。
int playingFlag = 0;
//当媒体正在播放时,将此播放标志设置为1,使其值为1
playingFlag = 1;
//当媒体停止时,将此标志设置为0
playingFlag = 0;
//在你的onBackPressed方法中,检查这个flag.If它是1,停止播放器,如果它是0,什么都不做。
@Override
public void onBackPressed(){
super.onBackPressed();
if( playingFlag == 1 ) {
//Do something you want
mp.release();
overridePendingTransition(R.anim.anim, R.anim.anim2);
} else {
//Do nothing
}
}
@Override
public void onBackPressed(){
super.onBackPressed();
mp.release();
overridePendingTransition(R.anim.anim, R.anim.anim2);
}
MediaPlayer 在播放声音时释放,但是当不播放声音时它不能释放任何东西并导致空指针。如果我不释放它,它就会继续播放。这是一个陷阱 22。我怎样才能基本上停止 MediaPlayer 而不会出现任何错误?
以这种方式释放媒体播放器
if(mp!=null && mp.isPlaying()){
mp.release();
}
试试这个
检查媒体播放器是否正在播放
if(mp !=null && mp.isPlaying())
mp.release();
您可以创建一个 flag.Whenever 媒体正在播放,使该标志为真。
int playingFlag = 0;
//当媒体正在播放时,将此播放标志设置为1,使其值为1
playingFlag = 1;
//当媒体停止时,将此标志设置为0
playingFlag = 0;
//在你的onBackPressed方法中,检查这个flag.If它是1,停止播放器,如果它是0,什么都不做。
@Override
public void onBackPressed(){
super.onBackPressed();
if( playingFlag == 1 ) {
//Do something you want
mp.release();
overridePendingTransition(R.anim.anim, R.anim.anim2);
} else {
//Do nothing
}
}