Android 播放按钮不能重新启动MediaPlayer

Android 播放按钮不能重新启动MediaPlayer,android,android-mediaplayer,android-button,playback,Android,Android Mediaplayer,Android Button,Playback,我点击按钮播放正在播放的音乐,点击停止按钮,但当我站着时,点击播放按钮将不再播放 代码: 您应该查看中提供的状态图。不能直接从停止状态转到启动状态 您需要调用prepare()或prepareAsync(),然后才能再次启动它。从文件中: 调用stop()会停止播放并导致MediaPlayer处于已启动状态, 暂停、准备或播放完成状态,以进入停止状态 国家 一旦处于停止状态,播放将无法开始,直到 调用prepare()或prepareAsync()来设置MediaPlayer对象 再回到准备好

我点击按钮播放正在播放的音乐,点击停止按钮,但当我站着时,点击播放按钮将不再播放

代码:


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

您需要调用
prepare()
prepareAsync()
,然后才能再次启动它。从文件中:

调用stop()会停止播放并导致MediaPlayer处于已启动状态, 暂停、准备或播放完成状态,以进入停止状态 国家

  • 一旦处于停止状态,播放将无法开始,直到 调用prepare()或prepareAsync()来设置MediaPlayer对象 再回到准备好的状态

你能清楚地补充一下细节吗。例如,单击按钮和堆栈后跟踪时发生的情况
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();
    }
});