Vimeo javascript api player.play() 不播放

问题描述 投票:0回答:1

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

以下 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>
javascript api video vimeo autoplay
1个回答
1
投票

一个简单的解决方法是延迟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();
}
© www.soinside.com 2019 - 2024. All rights reserved.