我正在尝试使用2个按钮在Android中开发应用程序。如果您打开或关闭状态,则第一个按钮必须暂停并重新启动音乐。但是这段代码不起作用,为什么?
public class MainActivity extends Activity {
MediaPlayer sound;
Boolean pulsado=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
sound=MediaPlayer.create(getBaseContext(),R.raw.gaitas);
sound.setLooping(true);
sound.start();
}
public void boton1(View v){
if(pulsado==false){
sound.stop();
pulsado=true;
}else{
sound.reset();
}
}
public void boton2(View v){
Intent i=new Intent(this,ActivityB.class);
startActivity(i);
}
答案 0 :(得分:2)
Android文档说明MediaPlayer.reset() - 将MediaPlayer重置为未初始化状态。调用此方法后,您必须通过设置数据源并调用prepare()来重新初始化它。
出于您的目的,您可以再次使用MediaPlayer.create(...)将setDataSource设置为MP并准备播放。
if (pulsado == false) {
sound.stop();
sound.reset();
pulsado = true;
} else {
sound = MediaPlayer.create(getBaseContext(), R.raw.song);
sound.setLooping(true);
sound.start();
pulsado = false;
}
如果你正在寻找暂停这首歌的话,你可以宁愿调用sound.pause(),而在其他方面阻止简单的sound.start()应该足以恢复这首歌。