从第一幕到第二幕时,我有3个 Activity 。当我从第二幕开始时,就会开始播放一首音乐。到第三幕,第二 Activity 的音乐应停止,第三 Activity 的音乐应开始。根据我的编码,第二 Activity 的音乐正在停止,但是第三 Activity 的音乐没有开始。我的代码如下:请帮助我。
//1st activity code start
public class MainActivity extends AppCompatActivity {
Button b;
static MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onResume() {
super.onResume();
final MediaPlayer mp = MediaPlayer.create(this,R.raw.bakaratwozeroone);
b = (Button) findViewById(R.id.butmove);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mp.start();
startActivity(new Intent(MainActivity.this,Main2Activity.class));
}
});
}
}
//1st activity code end
//2nd activity code start
public class Main2Activity extends AppCompatActivity {
Button b;
static MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
@Override
protected void onResume() {
super.onResume();
final MediaPlayer mp = MediaPlayer.create(this, R.raw.mumfive);
b = (Button) findViewById(R.id.butmove2);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mp.start();
startActivity(new Intent(Main2Activity.this, Main3Activity.class));
}
});
}
@Override
protected void onPause() {
super.onPause();
if(mp !=null);
mp.release();
mp = null;
}
}
//2nd activity code end
最佳答案
无需在每个 Activity 上保留MediaPlayer实例,使用BoundService运行媒体播放器并与Service和 Activity 进行通信。
供引用,请使用此链接
https://github.com/SimpleMobileTools/Simple-Music-Player
关于android - 如何在一个 Activity 中停止音乐并在下一个 Activity 中开始另一音乐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50041506/