javascript - HTML5 <video> 回调?

标签 javascript jquery video html html5-video

我正在为一个客户开发网站,他们坚持使用 HTML5 的视频标签作为他们部分视频内容的传送方式。我目前在 http://videojs.com/ 的帮助下启动并运行了它处理 Internet Explorer Flash 回退。

他们要求我做的一件事是,在视频播放完毕后(它们的长度各不相同),将它们淡出,然后用一张图片代替视频——把它想象成视频后的海报框。

这可能吗?您可以通过 Javascript 或其他方法获取当前正在播放的电影的时间码吗?我知道 Flowplayer ( http://flowplayer.org/demos/scripting/grow.html ) 有一个 onFinish 函数,这是我应该代替 HTML5 视频方法的路线吗? IE 用户将获得 Flash 播放器这一事实是否需要两个单独的解决方案?

任何输入将不胜感激。我目前在网站上使用 jQuery,所以如果可能的话,我想将解决方案保留在那个领域。谢谢!

最佳答案

You can view a complete list of events in the spec here .

例如:

$("video").bind("ended", function() {
   alert("I'm done!");
});

您可以像 jQuery 中的任何其他内容一样绑定(bind)到元素上的事件...至于您的评论问题,无论您为 IE 提供什么元素,是的,它需要一个单独的处理程序来处理它提供的任何事件.

另外一个关于timecode的问题,timeupdate事件在播放时发生,durationchange事件在总时长变化时发生。您可以绑定(bind)并使用它们,就像我在上面的 ended 事件中展示的那样。对于 timeupdate,您可能需要 currentTime 属性,对于 durationchange,您可能需要 duration 属性,每个其中你可以直接从 DOM 对象中获取,如下所示:

$("video").bind("durationchange", function() {
   alert("Current duration is: " + this.duration);
});

关于javascript - HTML5 <video> 回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2954595/

相关文章:

javascript - 如何在Javascript中将字符串 "[7, 9]"转换为数组

javascript - 在滚动菜单上更改类,首先单击问题

javascript - 跨域 iframe - 更改复选框状态

android - 如何在按下后停止 android Mx Player

node.js - 如何在nodejs中执行 "ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 output.mp4"命令

javascript - 内表中的最后一行在固定数据表中不展开

javascript - 如何在Electron.js中最小化和最大化?

javascript - EventSource (SSE) 是否应该无限期地尝试重新连接?

javascript - 如何在每个屏幕上找到特定位置?

c++ - 如何在嵌入式设备上的 Qt/X11 中渲染 "Video"