Как определить разницу между словами «пауза» и «готово» с элементом видео HTML5 на iPhone?

Это расширение этого вопроса

Согласно моим исследованиям, для видеоэлемента на iPhone/iPad нажатие обеих кнопок «Готово» и «Пауза» запускает событие «пауза». Поэтому, если у меня есть желаемое поведение веб-страницы, которое я хочу инициировать при нажатии кнопки «Готово», мне нужно прослушать событие «пауза».

player = document.getElementById('videoplayer');
player.addEventListener("pause", function() {
   //desired "done button" behavior defined here
}, false);

Согласно ответу Arv-ToolTwistна этот первоначальный вопрос, различать «готово» и «пауза» можно путем проверки логического значения webkitDisplayingFullscreen(поскольку «готово " кнопка выходит из полноэкранного режима, логическое значение возвращает false).

player.addEventListener("pause", function() {
   if(!player.webkitDisplayingFullscreen) {
      //desired "done button" behavior defined here
   }
}, false);

Однако в случае, когда пользователь приостанавливает воспроизведение видео, когда проигрыватель находится в полноэкранном режиме, а затем нажимает кнопку «Готово» во время приостановки видео, «желаемое поведение кнопки «Готово»» не инициируется.

Мои исследования показывают, что информации об этом практически нет, но я предполагаю, что либо событие «пауза» не запускается во второй раз, либо оно запускается во второй раз до webkitDisplayingFullscreen. изменение логического значения на "false".В любом случае, устройство может определить разницу между «готово» и «пауза» (даже если проигрыватель уже поставлен на паузу), поэтому мне интересно

  1. , как устройство определяет разницу, и
  2. есть ли способ определить, когда игрок выходит из полноэкранного режима, так что даже когда игрок уже поставлен на паузу, нажатие кнопки «Готово» все еще обнаруживается, и желаемое поведение все еще инициируется.

11
задан Community 23 May 2017 в 12:34
поделиться