MediaPlayer stop playing after about 5 seconds

后端 未结 2 602
时光取名叫无心
时光取名叫无心 2020-12-06 00:35

I\'m currently developing a simple game and now it\'s time to add music and sound effect. I tried using MediaPlayer, just like described here: Android media pla

2条回答
  •  没有蜡笔的小新
    2020-12-06 01:20

    I had this problem too. It was probably due to having the MediaPlayer-object only existing within a method.

    For example:

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

    It is most likely that the garbage collector will come in and clean away the MediaPlayer-object.

    This fixed the error for me:

    //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();
    }
    

提交回复
热议问题