2010-05-10 3 views
5

Я использую VideoView для отображения видео. Я использую setOnPreparedListener и setOnCompletionListener, чтобы делать вещи до и после начала и окончания видео.Android VideoView - определение точки времени в видео

Мне было интересно, как я могу найти какое-то время в видео. Например, например, я хочу записать журнал в файл, когда видео воспроизводилось в течение 10 секунд. Как определить 10-значный знак?

Благодаря Крис

ответ

5

Шаг № 1: Используйте postDelayed() или что-то, чтобы получить контроль каждый второй или так.

Шаг № 2: Проверьте getCurrentPosition() и проверьте, находится ли он рядом с вашей нужной точкой маркера. Если да, сделайте свою обработку.

Шаг № 3: Намочите, промойте, повторите.

Не существует механизма для того, чтобы Android обращался к вам конкретно, когда в видеоролике произошел определенный момент времени, поэтому вам нужно сделать это с помощью механизма опроса.

+1

Из моего опыта это работает до определенного момента, но это не очень точно. Может быть +/- 500ms – justinl

+0

Есть ли преимущество использования postDelayed против наличия таймера просто проверить текущую позицию. Мне было интересно, есть ли преимущество в использовании обработчиков против использования таймеров в Android. –

+0

@ sleep.ninja: таймеры требуют нитки; 'postDelayed()' не делает. – CommonsWare

Смежные вопросы