С элементом видео HTML5 на iphone, как я могу определить разницу между "паузой" и "сделанным"?
Это расширение this question
Согласно моим исследованиям, для элемента видео на iPhone/iPad нажатие "Готово" и "Пауза" вызывает событие "пауза" . Поэтому, если у меня есть желаемое поведение веб-страницы, которое я хочу инициировать при нажатии кнопки "done", мне нужно прослушать событие "пауза" .
player = document.getElementById('videoplayer');
player.addEventListener("pause", function() {
//desired "done button" behavior defined here
}, false);
В соответствии с ответом Arv-ToolTwist на этот оригинальный вопрос, то, как различают "сделанные" и "паузы", можно проверить логику webkitDisplayingFullscreen
boolean ( так как кнопка "done" выходит из полноэкранного режима, логическое значение возвращает false).
player.addEventListener("pause", function() {
if(!player.webkitDisplayingFullscreen) {
//desired "done button" behavior defined here
}
}, false);
Однако в случае, когда пользователь приостанавливает видео, пока проигрыватель находится в полноэкранном режиме, а затем нажимает "done", пока видео приостановлено, "желаемое поведение кнопки" не инициируется.
В моих исследованиях появляется небольшая информация об этом, но я полагаю, что либо событие "пауза" не запускается во второй раз, либо запускается во второй раз до webkitDisplayingFullscreen
boolean переход на "false". В любом случае, устройство может определить разницу между "сделанными" и "паузами" (даже когда плеер уже приостановлен), поэтому мне интересно
- как устройство говорит о различии, и
- есть ли способ обнаружить, когда плеер выходит из полноэкранного режима, так что даже когда плеер уже приостановлен, нажатие кнопки "done" все еще обнаружено и все еще активируется желаемое поведение.
Ответы
Ответ 1
Это событие, которое вы ищете:
player.addEventListener('webkitendfullscreen', onVideoEndsFullScreen, false);
Это событие действительно срабатывает, когда пользователь нажимает кнопку "done". (IPhone/Itouch)
Был дан ответ в этом вопросе Как узнать, когда видеопроигрыватель HTML5 входит в полноэкранный режим на iOS/iPads?
Это просто покидает событие кнопки дома... для которого, похоже, нет надежного события (см. нижние 2 сообщения) https://discussions.apple.com/thread/4182660?start=0&tstart=0