我这样启动mediaplayer:
if (mp != null) {
mp.stop();
mp.reset();
mp.release();
}
mp = MediaPlayer.create(this, R.raw.background);
mp.start();
我如何才能在另一个活动中停止?它继续在另一个活动中发挥作用。如何在其他活动中使用onDestroy
?
发布于 2013-05-22 19:04:19
在第1个活动中覆盖onPause
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
mp.stop();
}
发布于 2013-05-22 19:06:25
您不能调用stop an activity,而是从activity本身调用
要实现这一点,您可以在服务中发送媒体播放器,并在您想要访问的活动中绑定到该服务
发布于 2015-07-14 17:50:30
因为您已经在第一个活动中启动了媒体播放器,并且想要在另一个活动中停止,所以只需使用layout inflater self调用第一个活动中的第二个布局,而不是创建另一个活动。在第二个布局文件中,只需按下一个按钮即可停止媒体播放器
public class FirstAvtivity extends Activity
{
MediaPlayer mPlayer;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_activity_layoutfile);
Button b=(Button)findViewById(R.id.button1);
//start the media player like how you were starting in your activity
// then after clicking button you will be navigated to new layout , there
// you can stop media player
mPlayer.start();
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
updateLayout();
}
});
}
private void newUpdateLayout() {
LayoutInflater inflater = LayoutInflater.from(this);
setContentView(inflater.inflate(R.layout.second_disapr_scr, null));
finalDismiss=(Button)findViewById(R.id.final_dismiss);
finalDismiss.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(),"welcome to second
avtivity",Toast.LENGTH_SHORT).show();
mPlayer.stop();
finish();
}
});
}
}
https://stackoverflow.com/questions/16690057
复制相似问题