我有一个应用程序,其中第一个活动有一个开始按钮,当按下按钮时,第二个活动弹出了类似计算器的东西。每次按下该号码,将使用以下代码播放媒体声音
if (mp != null) {
if (mp.isPlaying()) {
mp.stop();
mp.release();
}
mp = null;
}
MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.c4_beep1);
mp.start();
现在,当用户完成第二个活动时,按一个按钮返回第一个活动
mTextView.setText("its over");
Intent myIntent = new Intent(getApplicationContext(), DefuseMe.class);
startActivity(myIntent);
finish();
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_righ);
这里一切正常,但是当我从第一个活动再次按开始时,声音停止工作。
**编辑:**我把 finish()放在那里因为我认为它会杀死第二个活动,当我再次按 start 时它会启动一个新的活动,我认为一切都会好起来的。
答案 0 :(得分:0)
我成功运行。我的代码如下:
1:ActivityOne:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp != null) {
if (mp.isPlaying()) {
mp.stop();
mp.release();
}
mp = null;
}
mp = MediaPlayer.create(MainActivity.this, R.raw.beep);
mp.start();
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
}
});
}
2:活动二:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two_layout);
button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SecondActivity.this.finish();
}
});
}
每次我开始第二次活动时,都会发出哔哔声。