Я хочу играть аудио. Я использую Thread, AsyncTask или Сервис? - PullRequest
4 голосов
/ 24 июля 2011

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

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

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

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

Спасибо

Ответы [ 3 ]

1 голос
/ 24 июля 2011

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

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

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

1 голос
/ 21 марта 2012

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

1 голос
/ 24 июля 2011

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

...