在Android中的onCompletion方法中取消MediaPlayer无效

时间:2011-06-26 15:15:17

标签: java android media-player

我正在尝试使用onCompletion方法来休息,释放和取消MediaPlayer。 我这样做如下:

    @Override
    public void onClick(View v) {

        if (player1 == null) {
            player1 = new MediaPlayer();
            player1.setVolume(10, 10);
            player1.setOnCompletionListener(this);
        }


        switch (v.getId()) {
               .
               . 
               .

    public void onCompletion(MediaPlayer player1) {
        player1.reset();
        player1.release();
        player1 = null;
                .
                .
                .

但是,当我尝试在Eclips中调试时,我发现player1不是“null”。有人可以告诉我如何通过player1以便我可以将其设为“null”。

非常感谢您的帮助。

TJ

1 个答案:

答案 0 :(得分:0)

尝试使用this.player1=null,因为在onCompletion事件中你将null设置为局部变量,而在onClick事件中你正在检查成员变量,它在上面的代码中是不可见的,但我的猜测。