如何制作一个Button on / off音乐android

时间:2015-05-10 21:19:53

标签: android media-player

我正在尝试使用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);
}

1 个答案:

答案 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()应该足以恢复这首歌。