<video>.currentTIme 不想被设置
2013-08-07
2376
我正在尝试编写一段 Javascript,以定时间隔在两个视频之间切换(不要询问)。更糟糕的是,每个视频都必须从特定位置开始(大约十秒,同样,不要询问。)
我仅使用 YUI Async 库触发以间隔切换视频,即可完成基本工作:
YUI().use('async-queue', function (Y) {
// AsyncQueue is available and ready for use.
var cumulativeTime = 0;
var q = new Y.AsyncQueue()
for (var x = 0; x < settings.length; x++) {
cumulativeTime = cumulativeTime + (settings[x].step * 1000)
q.add( {
fn: runVideo,
args: settings[x].mainWindow,
timeout: cumulativeTime
})
}
q.run()
});
到目前为止一切顺利。问题是我似乎无法让视频在十秒后开始播放。
我使用此代码执行此操作:
function runVideo(videoToPlay) {
console.log('We are going to play -> ' + videoToPlay)
var video = document.getElementById('mainWindow')
video.src = '/video?id=' + videoToPlay
video.addEventListener('loadedmetadata', function() {
this.currentTime = 10 // <-- Offending line!
this.play();
})
}
问题是 this.currentTime 拒绝保存我为其设置的任何值。我正在通过 Chrome 运行它(文件由 Google App Engine 实例后面的 Google 存储提供),当调试器越过该行时,该值始终为零。
我是否遗漏了某些技巧来设置此值?
提前致谢。
1个回答
尝试使用 Apache 服务器。
setCurrentTime 在某些简单服务器上无法正常工作。
例如)python 内置服务器、php 内置服务器
HTTP 服务器应支持部分内容响应。(HTTP 状态 206)
mikkame
2020-09-10