2

我正在尝试编写一段 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 提供的),当调试器越过该行时,该值始终为零。

为了设置这个值,我是否缺少一些技巧?

提前致谢。

4

1 回答 1

0

尝试使用 Apache 服务器。

setCurrentTime 不适用于一些简单的服务器。

例如)python 内置服务器,php 内置服务器

HTTP 服务器应该支持部分内容响应。(HTTP 状态 206)

于 2020-09-10T10:45:32.663 回答