setOnCompletionListener不起作用

时间:2016-04-16 13:12:54

标签: java android media-player

我有一个针对MediaPlayer的onCompletion Listener,但是在MediaPlayer停止后它没有工作,并且它导致了错误。我想在音频停止后更改按钮背景;这是代码:

  btnPlay.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (isPlaying == false) {
                isPlaying = true;
                try {
                    if (mp.isPlaying()) {
                        mp.stop();
                        mp.release();
                    }
                    btnPlay.setBackgroundResource(R.drawable.stop_play_button);
                    mp = MediaPlayer.create(getApplicationContext(), path[flag]);
                    mp.start();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } else {
                isPlaying = false;
                mp.stop();
                mp.release();
                btnPlay.setBackgroundResource(R.drawable.play_button);
            }
        }
    });
    mp = MediaPlayer.create(getApplicationContext(), path[flag]);
    mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        public void onCompletion(MediaPlayer mp) {
            btnPlay.setBackgroundResource(R.drawable.play_button);
        }
    });

1 个答案:

答案 0 :(得分:-1)

您应该覆盖方法

mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
    @Override        
    public void onCompletion(MediaPlayer mp) {
         btnPlay.setBackgroundResource(R.drawable.play_button);
    }
});