android - MediaPlayer 在大约 5 秒后停止播放

标签 android media-player playback

我目前正在开发一个简单的游戏,现在是时候添加音乐和音效了。我尝试使用 MediaPlayer,就像这里描述的那样:Android media player bug

但是我还有另一个问题,MediaPlayer 在大约 5 秒后停止播放音乐。这可能是什么原因造成的?

最佳答案

我也遇到过这个问题。 这可能是因为 MediaPlayer 对象仅存在于方法中。

例如:

//ERROR, stops after 5 sec!
public static void playMusic(int id)
{
  MediaPlayer mediaPlayer = MediaPlayer.create(context, id);
  mediaPlayer.setLooping(true);
  mediaPlayer.start();
}

垃圾收集器很可能会进来并清除 MediaPlayer 对象。

这为我修复了错误:

//mediaPlayer-object will not we cleaned away since someone holds a reference to it!
private static MediaPlayer mediaPlayer;

public static void playMusic(int id)
{
    mediaPlayer = MediaPlayer.create(context, id);
    mediaPlayer.setLooping(true);
    mediaPlayer.start();
}

关于android - MediaPlayer 在大约 5 秒后停止播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6241687/

相关文章:

android - 如何在android中设置包含背景颜色

java - 无法使用 PayPal Android SDK 进行付款

java - Android 按钮添加功能

android - 如何删除 MediaPlayer?

html - 我的 Azure 媒体服务视频无法在 Azure 媒体播放器中播放

ios - 询问是否仍在播放由应用加载并启动的声音的iOS API方法

android - 在 Android 的 TextureView 中的视频出现问题后播放视频

android - Android按钮音板

android - 如何通过单击小部件打开应用程序

java - RTP音频流播放器