Я хочу воспроизвести аудио. Использую ли я Thread, AsyncTask или Service?

Я хочу воспроизвести аудиофайл в своей деятельности.

У меня есть три кнопки для управления мультимедиа: воспроизведение/пауза/стоп. Кроме того, у меня есть панель поиска для мультимедиа, которую я могу использовать для перемотки трека вперед/назад.

Я пытаюсь обновлять прогресс панели поиска каждую 1 секунду. Затем я подумал о Threads. Это правильное направление или мне нужно рассмотреть возможность использования Services или AsyncTasks?

Есть ли в MediaPlayer панель поиска? Это мне очень поможет.

Спасибо,


person iTurki    schedule 24.07.2011    source источник


Ответы (3)


Я бы настроил Service для управления медиаплеером и AsyncTask для отображения приложения.

Попросите ваше приложение отправлять сообщения службе, чтобы остановить, запустить (с помощью кнопок onClick) и получить информацию о текущем положении, когда ему необходимо обновить информацию на экране. Это отделит игру от управления.

Ваше приложение может использовать простой AsyncTask для приостановки (SystemClock.sleep(1000)) в своем фоновом потоке и обновления любых ползунков и т. д. в потоке выполнения обновления, который выполняется в пользовательском интерфейсе. Нет необходимости писать какой-либо специфичный для потока код, если вы разделяете обязанности таким образом.

person Mark Fisher    schedule 24.07.2011

Если вы хотите обновлять каждую секунду, я бы рекомендовал TimerTask.

person MByD    schedule 24.07.2011

Я думаю, вам следует использовать asyntask : вы воспроизводите мультимедиа в другом потоке и обновляете поток пользовательского интерфейса.

person hqt    schedule 21.03.2012