【发布时间】:2013-05-07 00:07:47
【问题描述】:
我注意到一个小的不一致之处,我希望将其验证为 HTML5 的怪癖,或特定于 Video.js 的东西。
似乎如果您在提供新时间的同时调用 Video.js 的 currentTime() 函数,则对 currentTime() 的任何进一步调用(以获取当前时间)都不会返回正确的时间(它将返回上一个时间),直到timeupdate 事件触发。在timeupdate 事件之后,currentTime() 将返回正确的时间。
例如,假设视频尚未开始播放,但 Video.js 已加载,以及所有视频元数据等:
videoPlayer.addEvent('timeupdate', function() {
console.log('Event callback: ' + player.currentTime);
});
console.log('Original time: ' + player.currentTime);
player.currentTime(100);
console.log('New time: ' + player.currentTime);
我期望的输出如下所示:
Original time: 0
New time: 100
Event callback: 100
但是我收到的是:
Original time: 0
New time: 0
Event callback: 100
任何见解都会很棒!
编辑:我可以在 OSX 上的 Chrome 和 Safari 中重现此内容,但在 OSX 上的 Firefox 中无法重现(全部使用 HTML5)。我也可以在 IE8 上使用 Flash 播放器和 IE9 使用 HTML5 播放器重现此内容。
【问题讨论】:
标签: javascript html html5-video video.js