当我离开我的应用程序时(按下主页按钮或后退按钮时),音乐会在后台继续播放。我怎么能阻止它?
public class MainActivity extends Activity implements OnClickListener {
MediaPlayer ourSong;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ourSong = MediaPlayer.create(MainActivity.this, R.raw.girissong);
ourSong.start();
// codes
}
@Override
public void onClick(View v) {
// some code
}
}
}
我制作了这段代码,当我去下一堂课并且下一首歌开始时它应该停止
答案 0 :(得分:4)
覆盖活动的onPause方法并在MediaPlayer上调用stop。
答案 1 :(得分:3)
将以下两种方法放在课堂上,以便在分别导航到其他屏幕和主页按钮时停止音乐播放....
@Override
public void onPause()
{
super.onPause();
if(ourSong.isPlaying())
ourSong.stop();
else
return;
}
@Override
public void onStop()
{
super.onStop();
if(ourSong.isPlaying())
ourSong.stop();
else
return;
}
答案 2 :(得分:2)
查看您要对onPause执行的操作。 示例:
protected void onPause() {
super.onPause();
ourSong.stop();
}
答案 3 :(得分:2)
你必须覆盖 onKeyDown()方法并检查 keyevent ,如果它是主页键或后退键,则在此方法中停止媒体播放器对象然后释放它。 的 mp.stop(); mp.release(); 强>
答案 4 :(得分:1)
你应该放
if (player != null && player.isPlaying()) {
player.stop();
player.release();
player = null;
}
在你的onStop()或你活动的onDestroy()方法中。
如果你把它放在onStop()
中,当按下主页按钮时音频会停止(或者任何时候另一个活动可能接管电话铃声)。
如果你把它放在onDestroy()
中,它会继续播放,直到系统需要你的应用程序正在使用的资源。无论哪种方式,这都是一个好主意,以便您的应用程序不会保留MediaPlayer资源,因为用户无论出于何种原因都没有按下停止按钮。