Vimeo javascript api player.play() 没有播放

Vimeo javascript api player.play() not playing

这种奇怪的行为似乎是在上周左右开始的。

下面的 html/javascript 组合应该加载一个 Vimeo 视频,然后当用户按下播放键时,它应该加载并播放另一个视频。如果您想在主视频之前播放前置广告,这很有用。

如果您在桌面浏览器(我试过 Safari、Chrome 和 Firefox)上测试它,它会加载第二个视频,然后暂停。还是陌生人,有时第一次就成功了,然后如果你重新加载页面并重试,问题就出现了。

如果有任何关于如何解决此问题的想法,我们将不胜感激。

<iframe allowfullscreen="" scrolling="no" src="https://player.vimeo.com/video/258684937" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen allow="autoplay; encrypted-media"></iframe>

<script src="https://player.vimeo.com/api/player.js"></script>

<script>
var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);

player.on('play', function(){
    player.off('play')
    player.loadVideo(76979871).then(function(){
        player.setAutopause(false).then(function(autopause) {
            player.play();
       });
    });
});
</script>

一个简单的解决方法是延迟 player.play() 调用...

var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);

player.on('play', function(){
    player.off('play')
    player.loadVideo(76979871).then(function(){
        player.setAutopause(false).then(function(autopause) {
          // wait 1 second then play  
          setTimeout(play2,1000);
       });
    });
});
function play2(){
  player.play();
}