【问题标题】:Android MediaPlayer stops playing after some timeAndroid MediaPlayer 在一段时间后停止播放
【发布时间】:2013-10-24 12:50:37
【问题描述】:

点击ImageButton后有小游戏播放短声。但触摸 10 次后,MediaPlayer 会在短时间内停止播放声音。一段时间后它再次播放声音。当我查看 LogCat 控制台时,它显示错误:E/MediaPlayer(19584): error (1, -2147483648)

请你告诉我找到解决这个问题的方法吗?为什么 MediaPlayer 给我错误?

我使用这部分代码来播放声音:

public void playAudio () {
    try {
        mediaPlayer = MediaPlayer.create(getBaseContext(), R.raw.trefa);
    mediaPlayer.setLooping(false);
    mediaPlayer.start();
    mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
            public void onCompletion(MediaPlayer arg0) {

            }
    });
    } catch (Exception e) {
    Log.e("beep", "error: " + e.getMessage(), e);
    }
    }

【问题讨论】:

  • "但是MediaPlayer在触摸10次后会在短时间内停止播放声音"一键播放正常吗?
  • 只需轻轻一按即可,当我按更多次(快或慢)时就可以了。然后经过一些点击(大约 10 次 - 不完全是)声音被静音。然后过一段时间(大约 10-15 秒)再次播放声音。
  • 适用于我们在游戏中使用的短音频文件。音池班是最好的选择。 MediaPlayer 的处理成本很高。如果可能,请尽早迁移到 SoundPool。

标签: android media-player playback


【解决方案1】:

对我来说,真正的解决方案是使用 SoundPool(而不是 MediaPlayer)。我已经用本教程中的 SoundPool 替换了我的 MediaPlayer:http://www.edumobile.org/android/android-programming-tutorials/sound-pool-example-in-android-development,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    相关资源
    最近更新 更多