Показан пользовательский интерфейс первого примера. Это приложение продемонстрирует некоторые фундаментальные применения класса MediaPlayer, такие как запуск, пауза, перезапуск и останов воспроизведения медиафайла. Взгляните на компоновку пользовательского интерфейса приложения.
Пользовательский интерфейс состоит из контейнера компоновки LinearLayout с четырьмя кнопками: одна для воспроизведения, одна для паузы, одна для перезапуска и одна для останова проигрывателя. Код и файл компоновки приложения ы . Предполагается, что этот пример будет собираться для Android. и последующих версий, поскольку здесь используется метод getExternalStoragePublicDirectory класса Environment. Чтобы собрать этот пример для более старых версий Android, просто примените вместо него метод getExternalStorageDirectory и скорректируйте местоположение медиафайлов, http://www.allconditioner.ru/catalog/daikin.html чтобы приложение смогло найти их.
На заметку! В конце приводится URL-адрес, по которому можно загрузить проекты этой и импортировать их непосредственно в Eclipse.
В этом первом сценарии воспроизводится файл MP из Интернета. Поэтому в файл манифеста следует добавить android.permission.INTERNET. В видно, что класс MainActivity включает в себя три члена: строку, указывающую URL-адрес файла MP, экземпляр MediaPlayer и целочисленный член по имени playbackPosition. Метод onCreate просто устанавливает пользовательский интерфейс из XML-файла компоновки. В обработчике щелчка на кнопке, если кнопка Start Playing Audio (Начать воспроизведение аудио) нажата, вызывается метод playAudio. В методе playAudio создается новый экземпляр MediaPlayer и указывается источник данных для него — URL-адрес MP-файла.
Затем вызывается метод prepareAsync проигрывателя для подготовки MediaPlayer к воспроизведению. Управление находится в главном потоке пользовательского интерфейса активности, поэтому подготовка MediaPlayer не должна занимать слишком долгое время. В классе MediaPlayer имеется метод prepare, но он блокирует поток вплоть до своего завершения. Если это займет много времени, пользователь может подумать, что приложение зависло, или, еще хуже, появится сообщение об ошибке. Метод prepareAsync возвращает управление немедленно, устанавливая фоновый поток для выполнения метода prepare класса MediaPlayer. После завершения подготовки инициируется обратный вызов onPrepared активности. Здесь, в конечном счете, запускается воспроизведение MediaPlayer. Мы должны указать MediaPlayer слушатель для обратных вызовов onPrepared, поэтому непосредственно перед вызовом prepareAsync производится вызов setOnPreparedListener. Вы не должны использовать в качестве слушателя текущую активность; это делается просто в целях демонстрации.
Опубликовал Kest
February 14 2015 13:21:44 ·
0 Комментариев ·
2908 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.