Я хочу добавить кнопку «Полный экран» к стандартной реализации SimpleExoPlayer из Google. Я добавил ImageButton, и все работает хорошо.Как подключить ExoPlayer внутри службы с ExoPlayerView внутри действия?
Тогда я решил, что полноэкранный режим будет работать следующим образом: после нажатия на кнопку я открываю новую активность с помощью полноэкранного SimpleExoPlayerView, передаю туда видео uri и текущую позицию, инициализирует плеер и ищет заданную позицию. Он работает, но повторная инициализация проигрывателя занимает 1-3 секунды в зависимости от устройства, чего не хотят.
Теперь я хотел бы иметь экземпляр плеера внутри намерения службы и просто прикрепить существующий плеер к любому мнению, что хочет показать его (предварительный просмотр или полноэкранный режим просмотра), как это:
mPlayerView.setPlayer(mPlayer);
Проблема заключается в том эта услуга будет иметь игрок, и активность будет иметь представление. Никто из них не сможет подключить игрока к просмотру. В качестве обходного пути я думаю о том, что класс сервиса может иметь статическую ссылку на игрока, поэтому активность сможет получить его с помощью статической ссылки. Но это похоже на некоторый запах кода, и я не знаю, не возникнут ли проблемы с обменом данными между потоками.
Итак, как я могу передать плеер из Сервиса (который не является Serializable или Parableable) в действие или как передать плеер в Службу?
попытаться связать службу, чтобы получить экземпляр проигрывателя. https://developer.android.com/guide/components/bound-services.html –