MediaPlayer прекращает воспроизведение через 5 секунд - PullRequest
14 голосов
/ 05 июня 2011

Сейчас я занимаюсь разработкой простой игры, и теперь пришло время добавить музыку и звуковые эффекты.Я попытался использовать MediaPlayer, как описано здесь: Ошибка медиа-проигрывателя Android

Однако у меня есть другая проблема: MediaPlayer перестает воспроизводить музыку примерно через 5 секунд.Что может быть причиной этого?

1 Ответ

59 голосов
/ 11 октября 2011

У меня тоже была эта проблема.Вероятно, это связано с тем, что объект 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();
}
...