Музыка останавливается при повороте экрана с помощью MediaPlayer в Android

#android #android-activity #media #media-player #rotation

#Android #android-активность #Медиафайлы #медиаплеер #вращение

Вопрос:

Я столкнулся с проблемой, в Android которой, я думаю, мне нужно сохранить какую-то ссылку на MediaPlayer объект.

В моем Activity я начинаю с создания экземпляра MediaPlayer объекта, и я могу начать воспроизведение выбранной музыки. Проблема заключается в том, что при повороте экрана действие уничтожается, создается заново, а затем я теряю ссылку на MediaPlayer (поскольку я нигде его не сохраняю). Создается новый объект, и при следующем взаимодействии пользователя с телефоном музыка перестает воспроизводиться. Как правильно управлять этим? Должен ли я быть? Он не сериализуем, поэтому я не могу поместить его в onSaveInstanceState(Bundle) .

Спасибо за помощь.

Комментарии:

1. Используете ли вы сервис для сохранения ссылки на MediaPlayer?

2. Нет, я воспроизводил ее непосредственно во время действия. Судя по одобрительному ответу Торбена, похоже, что это правильное направление, в котором нужно двигаться.

Ответ №1:

Я бы попробовал поместить MediaPlayer в сервис, настроить привязку и управлять ею из вашего приложения.

Комментарии:

1. Это имеет полный смысл, я просто надеялся, что это можно сделать из activity. Если ни у кого нет ответа на это из действия, я отмечу ваше решение.

Ответ №2:

У меня тоже была такая же проблема. Поскольку мне на самом деле не нужно было поворачивать экран, я добавил android:screenOrientation="portrait" к действию в файле манифеста.