Java: Android: MediaPlayer иногда возвращает null onResume

Я пытаюсь заставить музыку играть в своем приложении, но столкнулся с проблемой, которую не могу понять. Когда я впервые загружаю программу, она работает нормально, музыка загружается и воспроизводится. Если я позволю телефону бездействовать, а затем вернусь к нему, приложение снова заработает. Но в третий раз, когда я позволяю ему простаивать и возвращаться, медиаплеер вернет ноль и завершит работу приложения при возобновлении работы. Вот код медиаплеера:

    public void startMusic(Context context)
{           
    if (music != null){
        if (music.isPlaying()){
            music.stop();
        }
        music.release();
        music = null;
    }

    music = MediaPlayer.create(context, R.raw.song);

    music.setLooping(true);
    musicPlaying = true;   
}

Приложение вылетит, когда встретит строку кода music.setLooping(true);, говорящую, что музыка недействительна.

Любые идеи?


person Bob    schedule 03.01.2013    source источник
comment
Проверьте вывод logcat. В классе MediaPlayer должно быть исключение, которое даст вам подсказку о том, почему создание не удалось.   -  person Michael    schedule 03.01.2013


Ответы (1)


Оказывается, я выпускал музыку не в том месте. Я делал это в представлении, когда я должен был делать это в действии.

person Bob    schedule 18.01.2013