我希望用户可以选择 skippreroll ad 指定时间(例如进入广告中的5秒)之后。然后,普通视频将播放。我该如何实现?目前,我对此有一些内线:

var adManager = function () {
    var adSrc = url,
        src = "http://media.w3.org/2010/05/sintel/trailer.mp4";
    var adEnded = function () {
        videoPlayer.removeEventListener("ended", adEnded, false);
        videoPlayer.removeEventListener("playing", adPlaying, false);
        $("#companionad").hide();
        videoPlayer.src = src;
        videoPlayer.load();
        videoPlayer.play();
        console.log(videoPlayer.currentTime);
    };
    var adPlaying = function () {
        var companionad = $(responseXML).find("HTMLResource").text();
        $("#companionad").html(companionad);
        console.log(videoPlayer.currentTime);
    }
    return {
        init: function () {
            videoPlayer.src = adSrc;
            videoPlayer.load();
            videoPlayer.addEventListener("ended", adEnded, false);
            videoPlayer.addEventListener("playing", adPlaying, false);
            if (videoPlayer.currentTime > 5) {
                $("#skip").show();
            }
            console.log(videoPlayer.currentTime);
        }
    };
}();
adManager.init();

我要做的是:

if (videoPlayer.currentTime > 5) {
    $("#skip").show();
}

显示 skip 按钮并继续进行正常视频。有没有 event 随着视频播放的进行,那是不断被解雇的吗?

有帮助吗?

解决方案

对您进行检查 media.currentTime 处理程序中的财产 timeupdate 事件。看 文档:

当当前时间属性所指示的时间更新时,将触发timeupdate事件。

就像一个旁边 HTML5视频演示页面 是一个非常方便的参考,用于播放可用的各种属性和事件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top