1

我正在从数据库中循环视频 URL,每个视频都有一个我想“寻找”的帧。我正在使用 JwPlayer 提供的“seek”功能。

但是,我似乎无法正确了解如何将变量传递给 JwPlayer javascript。下面是我的 JwPlayer 的 JS:

$('.video').fancybox({
    content : '<div id="myElement">Loading the player...</div>',
    fitToView : true,
    afterShow : function() {
        this.content = jwplayer('myElement').setup({            
            flashplayer: "js/jwplayer.flash.swf",
            file: this.href,
            height: 360,
            width: 640,
            autoStart : false,
            stretching : "fill"
        }); 
        // Store references to tag and rates
        var videoTag;
        var currentRate = 1;

        jwplayer().onReady(function() {
            jwplayer().seek(<?=$sec?>);
        });
    }
});

这是我的 HTML

<a class="video fancybox.iframe" href="<?=$video_link;?>">Watch Video</a>

谁能帮助建议我如何将“秒”放入jwplayer.seek?我尝试使用“id”然后获取 ID,但它也不起作用。

4

1 回答 1

2

如果我理解正确,听起来您有许多这样的<a>标签,并且您希望它们中的每一个都表示不同的$sec值。如果是这种情况,你可以试试这个:

<a onclick="seek(<?=$sec?>)" class="video fancybox.iframe" href="<?=$video_link?>">Watch Video</a>

并有一个像这样的 JS 函数:

function seek(sec) {
    jwplayer().onReady(function() {
        jwplayer.seek(sec);
    });
}

或者,如果您使用的是 HTML5,您可以在<a>标签上尝试数据属性:

<a data-sec="<?=sec?>" class="video fancybox.iframe" href="<?=$video_link?>">Watch Video</a>

并修改您的 JS 以使用它:

$('.video').fancybox({
    // ...
    afterShow: function() {
        // ...
        jwplayer().onReady(function() {
            jwplayer().seek($(this).data('sec'));
        });
    }
});
于 2013-11-05T14:18:52.983 回答