Ответ
ExoPlayer — это мощная библиотека для воспроизведения медиа в Android, поддерживающая аудио, видео, адаптивные форматы (HLS, DASH) и DRM.
Ключевые особенности:
- Гибкость: можно кастомизировать рендеринг, обработку данных, логику буферизации.
- Поддержка форматов: MP4, WebM, HLS, DASH, SmoothStreaming.
- Расширяемость: можно реализовать собственные
DataSource,Renderers.
Пример базовой настройки:
val player = ExoPlayer.Builder(context).build()
playerView.player = player
val mediaItem = MediaItem.fromUri("https://example.com/video.mp4")
player.setMediaItem(mediaItem)
player.prepare()
player.play()
Плюсы:
- Открытый исходный код (Google).
- Лучшая альтернатива
MediaPlayerдля сложных сценариев.
Минусы:
- Больший размер APK.
- Требует ручного управления жизненным циклом (
onPause,onResume).
Использовал для стриминга видео, аудиоплееров и кастомизации UI/UX.