Страницы

Поиск по вопросам

понедельник, 15 июля 2019 г.

Callback из MediaPlayer

Есть MediaPlayer и аудиозапись, которую нужно воспроизвести, в определенные моменты времени во время воспроизведения аудиозаписи мне нужно переключать слайды в ViewPager, как получить CallBack из MediaPlayer, что определенный момент времени наступил? Либо возможно посоветуете какие-то другие варианты.


Ответ

Решение, которое мне помогло:
CountDownTimer timer; int timeStampIterator; int[] timeStamp = new int[5]; // метки с временем
void play() { mPlayer.start(); timer = new CountDownTimer(mPlayer.getDuration() - mPlayer.getCurrentPosition(), 1000) { @Override public void onTick(long millisUntilFinished) { int timeSpends = mPlayer.getCurrentPosition(); if (timeSpends == timeStamp[timeStampIterator]) { mPager.setCurrentItem(LabelPosition.get(timeStampIterator)))); timeStampIterator++; } }
@Override public void onFinish() {
} }.start(); }
void pause() { mPlayer.pause(); timer.cancel(); timer = null; }
void stop() { mPlayer.stop(); timer.cancel(); timer = null; timeStampIterator = 0; }

Комментариев нет:

Отправить комментарий