通过iphone上的HTML5video元素,我如何检测“暂停”和“完成”之间的区别?

这是这个问题的延伸

根据我的研究,对于iPhone / iPad上的video元素,按“完成”和“暂停”触发“暂停”事件。 所以,如果我有一些想要的网页行为,我想按下“完成”button时,我需要听取“暂停”事件。

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

根据Arv-ToolTwist对原始问题的回答 ,“区分完成”和“暂停”的方式是通过检查webkitDisplayingFullscreen布尔值(因为“完成”button从全屏退出,布尔值将返回false)。

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

然而,在用户在全屏模式下暂停video,然后在暂停video时按下“完成”的情况下,不会启动“期望的完成button行为”。

我的研究是关于这个问题的小信息,但是我的假设是,“暂停”事件不会被第二次触发,或者在webkitDisplayingFullscreen布尔值更改为“false”之前被第二次触发。 。 无论哪种方式,该设备可以告诉“完成”和“暂停”之间的差异(即使玩家已经暂停),所以我想知道

  1. 如何设备告诉差异,和
  2. 是否有办法检测播放器何时退出全屏模式,以便即使当播放器已经暂停时,仍然检测到按下“完成”button并且仍然开始期望的行为。

这是您寻找的事件:

 player.addEventListener('webkitendfullscreen', onVideoEndsFullScreen, false); 

当用户按下“完成”button时,事件确实会触发。 (iPhone / iTouch的)

在这个问题得到了回答, 如何确定一个HTML5video播放器在iOS / iPad上进入全屏模式?

这只是离开了主页button事件…似乎没有可靠的事件(见底部2职位) https://discussions.apple.com/thread/4182660?start=0&tstart=0