我正在为客户开发一个网站,他们坚持使用 HTML5 的视频标签作为某些视频内容的交付方法。我目前在以下方面的帮助下已经启动并运行了它http://videojs.com/ http://videojs.com/处理 Internet Explorer Flash 后备。
他们要求我做的一件事是,在视频播放完毕后(它们的长度都不同),将它们淡出,然后淡出一张图片来代替视频——把它想象成一个海报框架视频。
这可能吗?您可以通过 Javascript 或其他方法获取当前正在播放的电影的时间码吗?我知道 Flowplayer (http://flowplayer.org/demos/scripting/grow.html http://flowplayer.org/demos/scripting/grow.html)有一个 onFinish 函数,这是我应该采取的路线来代替 HTML5 视频方法吗? IE 用户将获得 Flash 播放器这一事实是否需要两个单独的解决方案?
任何投入将不胜感激。我目前在网站上使用 jQuery,因此如果可能的话,我希望将解决方案保留在该领域。谢谢!
您可以在此处查看规范中事件的完整列表 http://w3c.github.io/html/semantics-embedded-content.html#media-elements-event-summary.
例如:
$("video").bind("ended", function() {
alert("I'm done!");
});
您可以像 jQuery 中的其他任何内容一样绑定到元素上的事件...至于您的评论问题,无论您为 IE 提供什么元素,是的,它都需要一个单独的处理程序来处理它提供的任何事件。
对于有关时间码的另一个问题,timeupdate
事件在播放时发生,并且durationchange
当总持续时间发生变化时,事件就会发生。您可以绑定并使用它们,就像我在ended
上面的事件。和timeupdate
你可能会想要currentTime
财产,与durationchange
你会想要duration
属性,每个属性都可以直接从 DOM 对象获取,如下所示:
$("video").bind("durationchange", function() {
alert("Current duration is: " + this.duration);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)