Seeker For Media Player - PullRequest
       20

Seeker For Media Player

2 голосов
/ 29 сентября 2011

Я бы предположил, что кто-то нашел бы простое решение для этого, но я не нашел прямого метода.Я хочу создать панель поиска для воспроизведения аудио через MediaPlayer.Мне не удалось найти что-то похожее на прослушиватель onSeekChanged в объекте MediaPlayer, поэтому я создал AsyncTask, который просто обновляется через цикл while(playing) и обновляет длительность и полосу.Однако это не самый лучший способ, поскольку этот цикл while заставляет приложение работать очень медленно (звук не запаздывает, но кнопки типа паузы задерживаются).Итак, я хочу знать, какова лучшая реализация для создания эффективного поисковика.Это не сложный вопрос, так как многие приложения используют его, я просто хочу знать, каким должен быть правильный способ сделать это.Спасибо!

1 Ответ

0 голосов
/ 29 октября 2012

Прежде всего, вам нужно поставить сон не менее чем на 1 миллисекунду в цикле:

Thread.sleep(1);

Во-вторых, вы можете рассчитать необходимое время для следующей проверки:

Thread.sleep(1000 - currentPos % 1000);

Этот алгоритм используется в стандартном MediaController.

...