Теперь давайте посмотрим на код обработки щелчков на кнопках Pause Player
Теперь давайте посмотрим на код обработки щелчков на кнопках Pause Player (Приостановить проигрыватель) и Restart Player (Перезапустить проигрыватель). При выборе кнопки Pause Player получается текущая позиция проигрывателя с помощью вызова getCurrentPosition. Затем с помощью вызова pause воспроизведение приостанавливается. Когда проигрыватель должен быть перезапущен, вызывается метод seekTo с передачей ему позиции, полученной ранее от getCurrentPosition, после чего вызывается start.
Класс MediaPlayer также содержит метод stop. Обратите внимание, что если остановить проигрыватель методом stop, то перед новым вызовом start понадобится подготовить MediaPlayer снова. В противоположность этому, если был вызван метод pause, то start можно вызывать без подготовки MediaPlayer. Завершив работу с проигрывателем, не забудьте вызвать метод release. В данном примере это делается в методе killMediaPlayer.
В рассматриваемом примере приложения для воспроизведения аудиоконтента имеется и второй URL-адрес, но он указывает не на файл MP, а на источник потокового аудио (Radio-Mozart). Это также работает с MediaPlayer и к тому же снова демонст
рирует причину, по которой необходимо вызывать prepareAsync вместо prepare. Подготовка аудиопотока для воспроизведения может занять некоторое время, зависящее от сервера, сетевого трафика и т.п.
В как следует воспроизводить аудиофайл, находящийся в Интернете. Класс MediaPlayer также поддерживает воспроизведение медиа-контента, расположенного в файле.apk. Код в демонстрирует обращение и воспроизведение файла из папки /res/raw внутри файла.apk. Добавьте папку raw в /res, если она еще не существует в проекте Eclipse. Затем скопируйте выбранный файл.mp в /res/raw и назовите его music_file.mp.
Если нужно включить аудио- или видеофайл в приложение, он должен быть помещен в папку /res/raw. Затем можно получить экземпляр MediaPlayer для ресурса, передав идентификатор ресурса медиафайла. Это делается вызовом статического метода create, . Обратите внимание, что класс MediaPlayer предоставляет несколько других статических методов create, которые можно использовать для получения экземпляра MediaPlayer вместо создания его вручную.
В метод create является эквивалентом вызова конструктора MediaPlayer (Context context, int resourceId), за которым следует вызов prepare. Метод create должен применяться только когда источник медиа является локальным на устройстве, поскольку он всегда использует prepare, а не prepareAsync.
Опубликовал Kest
February 14 2015 13:22:41 ·
0 Комментариев ·
2666 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.