播放按钮不会重新启动MediaPlayer

时间:2014-07-18 14:01:43

标签: android android-mediaplayer android-button playback

我单击按钮播放正在播放的音乐,单击停止按钮,但是当我站立时单击播放按钮将无法再次播放

代码:

final MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.shaver);
final Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

ImageButton img = (ImageButton) findViewById(R.id.imageButton1);
img.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub

        // Vibrate for 500 milliseconds
        v.vibrate(120000);  

        mediaPlayer.start();
    }
});

Button durdur = (Button) findViewById(R.id.dur);
durdur.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub

        mediaPlayer.stop();

        v.cancel();
    }
});

1 个答案:

答案 0 :(得分:1)

您应该查看MediaPlayer documentation中提供的状态图。你不能直接从停止状态转到启动状态。

您需要先致电prepare()prepareAsync(),然后才能再次启动它。来自文档:

  

调用stop()停止播放并在Started中导致MediaPlayer,   Paused,Prepared或PlaybackCompleted状态进入Stopped   州。

     
      
  • 一旦处于Stopped状态,直到无法开始播放   调用prepare()或prepareAsync()来设置MediaPlayer对象   再次进入准备状态。
  •