javascript - 要查找什么事件...更改视频元素的当前时间时

标签 javascript html5-video

当我将视频元素的当前时间更改为未缓冲的时间点时,视频将停止播放。我想知道它什么时候开始播放第一帧。

我已经尝试过 canplay 和 playing 但没有成功。

虽然我确实通过使用播放和暂停让它工作。

所以当我暂停它时,canplay 事件起作用,然后我听它,这告诉我现在可以播放我暂停的新位置。然后我只是玩它。是否应该可以不间断地进行。为什么没有像ajax中那样的readystatechange。如果视频暂停、停止、等待缓冲(如我的情况),则触发一个事件。

最佳答案

所有媒体元素事件的列表应该会有帮助:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-definitions

waitingplaying 事件应该是相关的,如果您只是在播放并且视频自行暂停。 waiting 在视频被迫暂停时触发,因为它正在缓冲来自网络的数据,而 playing 在准备好恢复时触发。值得注意的是 playplaying 之间的区别。 play 在“尝试”播放时触发,即 .paused === false。但是 playing 意味着它正在 actually 播放(尽管有一些奇怪的情况并非严格如此,如链接文档中所述)。

但是,如果您正在寻找,则可以使用 seekingseeked 事件。我要做的是在所有四个事件以及 canplay 上保持监听,并检查其中的 .readyState 属性。

关于javascript - 要查找什么事件...更改视频元素的当前时间时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18995981/

相关文章:

javascript - 无法让我的数据绑定(bind)与 knockoutJS 一起工作

javascript - 如何在鼠标悬停时和通过超链接在 leaflet.js 中显示突出显示的轮廓?

javascript - 存储和加载文件系统中的媒体到 Electron 应用程序

javascript - 在 JavaScript 中反序列化二进制搜索树

javascript - Moment.js 没有使简单的工作时间变得人性化

php - 检查字符串中是否存在至少 3 个不同字符的正则表达式

youtube - 为什么手机(不限于iPhone)上的YouTube音频出现乱码?

html - Safari 无法播放 HTML5 视频

html5-video - Video.js 中的 MP4 直到完全加载才播放

websocket - SignalR WebRTC WebSocket 已经处于 CLOSING 或 CLOSED 状态