【问题标题】:MediaPlayer error: pause called in state 64MediaPlayer 错误:在状态 64 中调用暂停
【发布时间】:2012-09-20 20:01:12
【问题描述】:

我在我的Activity 中使用MediaPlayer

当我点击返回按钮时,我得到了这个错误:

09-20 19:44:16.540: E/MediaPlayer(1822): pause called in state 64
09-20 19:44:16.540: E/MediaPlayer(1822): error (-38, 0)

代码

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        if (mp!= null && mp.isPlaying()) {
            mp.stop(); 
        }

        Intent intentstart = new Intent(X.this, Y.class);
        intentstart.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intentstart);
    }

    return super.onKeyDown(keyCode, event);
}

如果我使用mp.pause(),它工作正常。为什么?

【问题讨论】:

  • 是:如果 (mp!=null) mp.pause()。除了那个 super.onPause();

标签: android media-player


【解决方案1】:

我使用了 pause 和 seekto 方法来重置播放器。

player.pause();
player.seekTo(0);

【讨论】:

    【解决方案2】:

    暂停已停止的MediaPlayer 是非法的,并且根据该错误消息听起来与您正在做的完全一样。

    我建议更改您的onPause,使其不会尝试暂停停止的MediaPlayer

    也许: 如果(mp!= null){ if(mp.isPlaying()) mp.pause(); }

    其实不要这样做,我只是在文档中找到了这个:

    请注意,从 Started 状态到 Paused 状态的转换(反之亦然)在播放器引擎中异步发生。在对 isPlaying() 的调用中更新状态可能需要一些时间,

    你应该在本地维护一个变量来检查你是否已经停止了MediaPlayer,然后测试你是否应该调用pause()

    【讨论】:

    • 如果我在所有地方都使用 .pause 并且根本不使用 .stop() 怎么办?
    • 虽然我不是媒体播放器方面的专家,但我无法立即想到它不起作用的任何原因。
    • 我通过在任何地方使用 mp.pause()(如果 mp.isplaying())而不是在任何地方使用 mp.stop() 来解决它。
    【解决方案3】:

    我来这里寻找答案,虽然上面的回答在其他方面很有用,但它们并没有解决我的问题......

    但是...我设法解决了这个问题:

    改变 mediaPlayer.stop();

    mediaPlayer.reset();

    帮我摆脱了error( -38 , 0 )

    再次感谢您指出问题:)

    【讨论】:

    • 谢谢。不要忘记通过单击旁边的“向上箭头”对答案进行评分。我很高兴能帮上忙:)
    • 这行得通,但是当您在此之后执行mediaPlayer.start() 时,您会收到另一个错误。 @Goran 的回答对我来说效果很好,没有错误
    【解决方案4】:

    在停止媒体播放器后遇到启动问题后, 我遇到了一个例外,mp 能够重新开始, 然后将mp.stop() 替换为mp.reset() 效果很好。

    【讨论】:

      【解决方案5】:

      即使我也遇到过同样错误的类似问题。

      我用mplayer.pause()代替mplayer.stop()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多