Exoplayer с RecyclerView без расширенного использования - PullRequest
0 голосов
/ 29 апреля 2020

Что я собираюсь сделать, так это то, что в моем приложении чата у меня есть аудио сообщения, фото / видео сообщения, а также текстовые сообщения, как и у любого другого приложения чата. Экран чата состоит из вида переработчика, который имеет различные типы представлений, к которым я привязываюсь в соответствии с типом сообщения, и он работает нормально. В настоящее время для сообщений мультимедиа (видео и аудио) при нажатии я использую встроенный инструмент выбора android, чтобы открывать мультимедиа в другом приложении, которое выберет пользователь. Это раздражает, однако, что пользователь покидает мое приложение и воспроизводит мультимедиа в каком-то другом приложении, а затем возвращается в мое приложение, особенно для звуковых сообщений; лучший способ сделать это - использовать exoplayer в моем приложении, не требуя показа другого приложения.

Эта фотография взята из Whatsapp, однако внешний вид более или менее такой же:

Sample photo to show recycler view appearance

Мне нужно удерживать экземпляр SimpleExoPlayer в компоненте, поддерживающем жизненный цикл, таком как моя деятельность, и когда пользователь нажимает звуковое сообщение, мне как-то нужно сначала остановить, возможно, воспроизводимое аудио из другого сообщения (это означает, что сначала нужно перейти к ранее нажатому представлению в адаптере, получить его PlayerControlView и выпустить SimpleExoplayer), а затем подключить проигрыватель к PlayerControlView только что просмотренного представления.

Не могу придумать, как это сделать. это правильно. Примеры, приведенные в inte rnet, предназначены для автоматического воспроизведения видео, когда вид отображается на экране, и прослушиваются события прокрутки прокрутки. Вместо этого мне нужно, чтобы мне было все равно, виден ли элемент на экране или нет, мне нужно привязать плеер, когда кнопка воспроизведения нажата, а не когда он отображается, и отпустить плеер, когда я закончу.

Я надеюсь, что смогу прояснить мою точку зрения. Заранее спасибо.

...