Android Studio"从未使用分配给MediaPlayer的值null"

时间:2016-03-13 19:48:40

标签: java android

我在Android Studio中遇到问题。我正在制作一个声音板,我想在播放完毕后让我的MediaPlayer为空。我已经创建了一个完整的侦听器,但是当我将MediaPlayer设置为null时,在侦听器内部,工作室会发出一个警告:"值为null,分配给" mp"从未使用过。"

public void playUpToUs (View view) {
    if (mp == null){
        mp = MediaPlayer.create(this, R.raw.its_up_to_us);
        mp.start();
        mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                mp.release();
                mp = null;
            }
        });

    } else {
        mp.release();
        mp=null;
    }
}

我还有其他四种方法,只是它们在点击时播放不同的声音。我可能犯了一个明显的错误,但如果有人能帮助我,我真的很感激。

1 个答案:

答案 0 :(得分:3)

这是因为mp方法中的onCompletion参数会影响您尝试修改的mp成员变量。你实际上是将参数设置为null,这在这里没用。您想要修改阴影实例。

使用不与成员变量冲突的其他变量名,或者使用外部类名作为限定符引用成员(例如MyActivity.this.mp,如果您的外部类是MyActivity)。