0

相关问题:如何使用 Vimeo API 获取视频播放暂停状态?

我正在尝试实现一个切换按钮,但我不确定如何检查视频是否处于暂停状态。我见过的所有示例都处理 2 个单独的播放和暂停按钮。

var iframe = $('#vimeo-frame')[0];
var player = $f(iframe);

$('#controls li.vimeo a').bind('click', function() {
    var $this = $(this);
    if( player.api('paused') ) {
        player.api('play');
       // yep video is paused, so now play it 
    } else {
        player.api('pause');
               // video was playing, so now pause it.
    }

});

我已经尝试过player.api('paused'),因为它应该返回一个布尔值。player.api('play')并按player.api('pause')预期工作。有人可以在这里帮助我。谢谢。

使用 Brads 的建议进行编辑:

var iframe = $('#vimeo-frame')[0];
var player = $f(iframe);

$('#controls li.vimeo a').bind('click', function() {
       var $this = $(this);
       console.log('clicked'); // triggers
       player.api('paused', function(paused) {
       console.log('inside paused'); // doesn't trigger
            if (paused) {
              player.api('play');
            }
            else {
              player.api('pause');
            }
       });

}); 

我的研究使我发现:这个暂停 vimeo 嵌入代码在我的滑块脚本中的什么位置?http://jsfiddle.net/bdougherty/UTt2K/56/但仍然不太有效。

4

2 回答 2

0

因为 API 使用postMessage,所以抓取任何数据都需要使用回调函数。您应该将回调作为第二个参数传递给api调用。您要求的值将作为第一个参数传递给回调。

player.addEvent('paused', function(paused) {
    if (paused) {
        player.api('play');
    }
    else {
        player.api('pause');
    }
});
于 2013-10-11T02:38:21.240 回答
0

您可能错过了文档中的这一行吗?(我知道我确实做到了)

如果您在一个页面上嵌入和控制多个播放器或使用我们的 JS API 库 (Froogaloop),您应该为每个播放器提供一个与 iframe 元素的 id 匹配的 player_id。

http://player.vimeo.com/video/VIDEO_ID?api=1&player_id=vimeoplayer

于 2016-03-21T23:16:11.603 回答