Освой Android играючи
/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000
2-й курс/Закрытая зона
Класс MediaPlayer
Воспроизведение MIDI из ресурсов
Воспроизведение MP3 из ресурсов (Java)
Воспроизведение MP3 из ресурсов (Kotlin)
Воспроизведение следующего трека
Воспроизведение из папки assets
Воспроизведение MP3 из SD-карты
Воспроизведение MP3 из интернета
Метод setVolumeControlStream()
Выбираем MP3-файл через намерение
MediaController
В составе Android есть класс MediaPlayer из пакета android.media, позволяющий воспроизводить различные музыкальные файлы (и видео), размещённые в ресурсах приложения, локальных файлах, источниках данных или в сетевом потоке.
На данный момент класс считается морально устаревшим, лучше переходить на ExoPlayer. Но для простых операции можно ещё использовать MediaPlayer.
В объекте MediaPlayer управление аудио- и видеофайлами реализовано в виде машины состояний:
Чтобы проигрывать мультимедийный ресурс, необходимо создать новый экземпляр класса MediaPlayer, инициализировать его с помощью источника медиаданных и подготовить к воспроизведению. При завершении процесса проигрывания необходимо вызвать метод release() из объекта MediaPlayer, чтобы освободить соответствующие ресурсы.
Android поддерживает ограниченное число одновременно работающих объектов MediaPlayer. Не освобождая их, вы рискуете столкнуться с выбросом исключения, когда система исчерпает ресурсы.
Android поддерживает следующие форматы аудио (на устройствах):
Лучше использовать OGG (звуковые эффекты) и MP3 (музыка), WAV слишком велик по объёму - его лучше не использовать.
Стандартный аудиоформат для Android - 16-битное стерео с частотой дискретизации в 44.1 кГц.
Также в Android есть класс SoundPool, который поддерживает одновременное проигрывание нескольких аудиопотоков.
Кроме того, MediaPlayer поддерживает проигрывание видеоконтента, но об этом в другой статье.
Вы вошли на сайт, как гость.
Необходимо зарегистрироваться, чтобы прочитать статью