我有一个使用HTML5视频标签的iPhone网页。在iPhone上,此类嵌入式视频在本机播放器中播放。当用户使用“完成”按钮解除视频时,我想检查视频何时结束和。最初,我试过这个:
var video = $("#someVideo").get(0);
video.addEventListener('ended', myFunction);
但只有在视频被允许完成时才会被解雇。在玩了一些其他事件(暂停,停滞,等待)之后,我发现“完成”按钮会触发“暂停”事件。但是,当我添加这个:
video.addEventListener('pause', myFunction);
当用户点按播放控件中的暂停按钮时,我会从“完成”按钮和调用我的代码。第二种情况是不可取的;我只想要第一个案例,但事件似乎没有给我足够的信息。
有没有人知道如何告诉用户何时点击了iPhone播放器中的“完成”按钮(而不是简单地暂停)?
答案 0 :(得分:20)
只需在暂停功能中检查webkitDisplayingFullscreen布尔值即可。按“完成”或“暂停”会触发暂停事件,但是“完成”会像从全屏模式退出一样进行额外操作。执行该检查将帮助您区分按下2个按钮。 下面是一些示例代码。
<script>
var html5Video = function() {
return {
init: function() {
var video = document.getElementsByTagName('video')[0];
video.addEventListener('ended', endVideo, false);
video.addEventListener('pause', pauseVideo, false);
}
};
}();
function endVideo() {
alert("video ended");
}
function pauseVideo() {
var video = document.getElementsByTagName('video')[0];
if (!video.webkitDisplayingFullscreen)
endVideo();
}
html5Video.init();
</script>
答案 1 :(得分:20)
这就是你需要的:
yourplayer.addEventListener('webkitendfullscreen', onPlayerExitFullscreen, false);
反之亦然
yourplayer.addEventListener('webkitbeginfullscreen', onPlayerEnterFullscreen, false);
以下是我发现的问题的另一个答案:How to figure out when a HTML5 video player enters the full screen mode on iOS / iPads?
答案 2 :(得分:-2)
您应该使用一个名为“已结束”的事件,请参阅http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#event-media-ended。