Буферизация прямой трансляции аудио с ExoPlayer

Я использую ExoPlayer на Android для воспроизведения прямой трансляции радио. В стандартной реализации прямая трансляция прекращается сразу после потери сетевого подключения.

Состояние ExoPlayer: ЗАПУСК -> соединение теряется -> сразу БУФЕРИРОВАНИЕ -> через 2-3 сек. ПРАЗДНЫЙ

Можно ли буферизовать прямую трансляцию радио, чтобы при отсутствии подключения к Интернету поток продолжал воспроизводиться в течение нескольких секунд, пока сетевое соединение не восстановится. Музыкальное приложение Tunein имеет эту функцию. Возможно ли это с ExoPlayer или как это возможно?


person user630447    schedule 21.10.2017    source источник


Ответы (2)


Для 2.x размер буфера можно изменить с помощью LoadControl:

    DefaultLoadControl loadControl = new DefaultLoadControl(allocator, 30000,
 45000, 1500, DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS);

Официальные документы

Обновление: но у ExoPlayer есть одна проблема: Аудиопоток сразу переводится в состояние буферизации при отключении от Интернета который планируется исправить к концу года (или вскоре после этого), как сказал разработчик.

person Dima Kozhevin    schedule 21.10.2017
comment
к сожалению, это не работает. после потери соединения состояние игрока немедленно БУФЕРИРУЕТСЯ, а после этого - IDLE - person user630447; 21.10.2017
comment
это до сих пор не исправлено ... надеюсь, они скоро исправят. В приложении TuneIn есть эта функция, и она работает ... - person user630447; 21.10.2017

Да, теперь это возможно, используйте ExoPlayer 2.7.0, который имеет эту функцию. См. Эту проблему: Поиск в радиопотоках

в последних нескольких комментариях к этому посту он упоминается. Надеюсь, поможет.

person Harry .Naeem    schedule 20.10.2018