java - 在 Android 的 onCompletion 方法中取消 MediaPlayer 不起作用

标签 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,以便我可以将其设置为“空”吗?

非常感谢您的帮助。

TJ

最佳答案

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

关于java - 在 Android 的 onCompletion 方法中取消 MediaPlayer 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6484775/

相关文章:

java.lang.IllegalMonitorStateException : (m=null) Failed to get monitor for

java - 我可以使用 ssh 运行 java jar 程序吗?

java - 如何在android中的特定位置绘制矩形

android - Activity、AppCompatActivity、FragmentActivity和ActionBarActivity : When to Use Which?

java - 我的 onUpgrade() 方法应该是什么样子?

android - WAV从文件播放,不直接从URL播放

java - 你能用下面的代码解决这个编译器问题吗

Android 手机的 Java 编译器

ios - 如何告诉 MediaPlayer 播放哪首歌?

jquery - IE9 + jwplayer : __flash__addCallback error if move player in dom before calling player. 加载()