Работал ли с MediaPlayer

«Работал ли с MediaPlayer» — вопрос из категории Android компоненты, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал с MediaPlayer для воспроизведения аудио и видео. Основные моменты:

  1. Инициализация:
val mediaPlayer = MediaPlayer().apply {
    setDataSource(path) // или setDataSource(context, uri)
    prepare() // или prepareAsync() для фоновой подготовки
    start()
}
  1. Управление: start(), pause(), stop(), seekTo(), release()

  2. Слушатели:

mediaPlayer.setOnCompletionListener { 
    // Действия после завершения
}
mediaPlayer.setOnErrorListener { _, what, extra -> 
    // Обработка ошибок
    true
}

Важно всегда вызывать release(), чтобы освободить ресурсы. Для потокового воспроизведения нужно учитывать буферизацию и сетевые задержки. Для сложных сценариев (плейлисты, фоновое воспроизведение) лучше использовать ExoPlayer.