javascript - Vimeo javascript api player.play() 不播放
问题描述
这种奇怪的行为似乎是在上周左右开始的。
下面的 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();
}
推荐阅读
- android - android模拟器挂在Mac上
- java - 字段列表中的 Spring Boot JPA 未知列
- powerbi - 当所有类别都存在时,DAX 计算平均值
- python - 连接到初始化器的 LSTM 值错误
- java - 尝试将 char 数组的元素转换为 int 时出错
- firebase - firebase onAuthStateChanged 在启用 JS 调试器的情况下反应本机非常慢
- android - 只需将复选框状态存储到 sqlite 数据库
- crystal-reports - Crystal Reports 中的单面打印 - Simplex
- json - object to json in spring
- css - 覆盖 CSS :after /:befor 选择器