当我按下手机中的后退按钮时,如何停止播放音频。当我去另一个活动时,音频仍在播放,除非我关闭应用程序。这是我的代码:
FloatingActionButton fab7 = (FloatingActionButton) this.findViewById(R.id.fab7);
final MediaPlayer mp = MediaPlayer.create( this, R.raw.cebu);
fab7.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {;
if(mp.isPlaying()){
mp.pause();
} else {
mp.start();
}
}
});
答案 0 :(得分:1)
1。)在mp.release()
MediaPlayer mp;
2。)onCreate
并在override onStop
为什么
onStop
不是onStop
?
onBackPress
答案 1 :(得分:0)
按“后退”按钮时,覆盖Activity#onBackPress()方法停止播放器:
<div style="margin:auto;width:60%;padding:10px;">
<img src="@Server.MapPath("~/assets/img/image.png")" />
</div>
如果你想在活动结束时停止你的播放器,并且不关心为什么(可能是Back back,另一个Activity已经启动,app崩溃了......),你可以覆盖Activity#onStop()因此,只要您的活动消失,确保您的音乐会立即停止!
@Override
public void onBackPress() {
if (mp != null) {
mp.stop();
mp.release();
mp = null;
}
}
顺便说一下,请注意您应该使用@Override
public void onStop() {
if (mp != null) {
mp.stop();
mp.release();
mp = null;
}
super.onStop();
}
而不是mp.stop()
然后使用mp.pause()
来避免内存/资源泄漏!
答案 2 :(得分:0)
使用此功能检测并暂停Mediaplayer
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
Log.d(this.getClass().getName(), "Back button pressed Song paused");
mp.pause();
}
return super.onKeyDown(keyCode, event);
}
答案 3 :(得分:0)
写mediaplayer.stop(); 当你离开后开始活动