我正在尝试编写一段Javascript,以定时间隔在两个视频之间切换(不要问)。更糟糕的是,每个视频都必须从特定的地方开始(大约十秒钟,再一次,不要问。)
我通过使用YUI异步库来触发基本工作来定时切换视频:
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()
});
到目前为止,这么好。问题是我似乎无法让视频在10秒内启动。
我正在使用此代码执行此操作:
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 Storage提供),当调试器超过该行时,该值始终为零。
为了设置这个值,我是否缺少一些技巧?
提前致谢。
答案 0 :(得分:0)
尝试使用Apache服务器。
setCurrentTime无法在某些简单服务器上使用。
ex)服务器内置的python,服务器内置的php
HTTP服务器应为“支持部分内容响应”。 (HTTP状态206)