开发者问题收集

<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