我目前正在开发一个简单的游戏,现在是时候添加音乐和音效了。我尝试使用 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/