MediaPlayer在大约5秒后停止播放

Den*_*Den 15 android playback media-player

我目前正在开发一款简单的游戏,现在是时候添加音乐和音效了.我试过使用MediaPlayer,就像这里描述的那样:Android媒体播放器bug

但是我有另一个问题,MediaPlayer大约5秒后停止播放音乐.什么可能导致这个?

dac*_*009 61

我也有这个问题.这可能是因为MediaPlayer对象仅存在于方法中.

例如:

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

垃圾收集器很可能会进入并清除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();
}
Run Code Online (Sandbox Code Playgroud)

  • 这修复了我这个问题的实例.有点疯狂,MediaPlayer可以在播放过程中获取gc'd. (3认同)