嵌入式播放器中的 Vimeo 前置广告

Vimeo pre-roll ads at embeded player

我需要一个想法来创建一个应用程序,用于将片头电影广告投放到网页上的电影中。广告电影和电影托管在 Vimeo。

我尝试使用 Vimeo 播放器 API 但遇到了一个问题。我的应用程序监听了事件 "play",然后广告开始播放。但在广告开始之前,播放了正片的一两帧画面。因此应用程序需要等待一段时间才能开始播放广告。

这看起来很糟糕,尤其是当海报图片出现在主视频的开头时。

我不知道如何修复它。

我的代码如下:

<script>
    var iframe = document.querySelector('iframe');
    var player = new Vimeo.Player(iframe);
    var a = 1;
    function playAd() {
        if (!a) return;
        a = 0;
        player.pause();
        player.loadVideo(41540648);
        player.on('loaded', function () {
            player.play();
        });
    }
    var b = 1;
    function playMovie() {
        if (!b) return;
        b = 0;
        player.loadVideo(63723953);
        player.on('loaded', function () {
            player.play();
        });
    }
    player.on('play', playAd);
    player.on('ended', playMovie);
</script>

我试过你的代码 似乎工作正常(在我的浏览器上)。

但是很难确定你的正片开头有没有漏掉几张图片,因为没有什么可以将它们与下面的图片区分开来(水印左右,只是为了测试) (而且我没有适合测试的视频)。

你可以尝试在你的函数player.play();之前添加player.setCurrenttime(0); playMovie(),这样你就可以确定播放器从0开始播放;

我看不出有什么不同,但你可以,尤其是如果你的电影的第一张图片与后面的不同。

它有点像 hack,但如果它对你有用,总比没有好。

PS :我最近意识到,当我的视频的 Outro 设置设置为开始时存在问题,或者至少我有问题,因为我无法搜索到 0 或重播视频了。 (see details on vimeo forum)

PS2:我实际的走动是将 outro 设置设置为 "nothing" 和 setCurrentTime(0.1),但这是我不希望 vimeo[=14 做的事情=]

干杯