我也有这个问题.
这可能是因为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();
}