我正在尝试编写一段 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 Storage 提供的),当调试器越过该行时,该值始终为零。
为了设置这个值,我是否缺少一些技巧?
提前致谢。