javascript - 在 <div> 中显示 jwplayer 6 播放列表中当前播放的项目 - 在 jwPlayer 5 中工作

标签 javascript safari dom-events jwplayer livecode

我喜欢新的 jwplayer 6,而且我有商业版本,这样我就可以给它贴上品牌标签。我使用版本 5 得到了我想要的一切(包括捕获“onplaylistITme”事件) - 但现在是时候迁移到版本 6 以获得更广泛的兼容性和 Logo 显示了。

这是在 jwPlayer 5 代码上运行的播放器。请注意顶部显示的歌曲标题。

<小时/> version 5 of jwPlayer - this shows what I want <小时/> 相关部分是这个小的 Javascript 处理程序,它获取由第一次播放列表项创建的事件:

    <div id="playlistiteminfo"></div>
<div id="container" ></div>
<script type="text/javascript">
    jwplayer("container").setup({
        'flashplayer': '<?rev put gPlayerParamsA[jwplayerSWF] ?>',
        height: <?rev put gPlayerParamsA[playerHeight] ?>,
        width: <?rev put gPlayerParamsA[playerWidth] ?>,
        logo: {
            file: '<?rev put gPlayerParamsA[watermarkLoc] ?>',
            link: 'http://barncard.com'
            },
        'playlist': [{
<?rev

put tPlayListP  -- JAVASCRIPT PLAYLIST CREATED EARLIER INSERTED HERE

?>
 }],
'playlist.position': "<?rev put gPlayerParamsA[playListPosition] ?>",
    'playlist.size': <?rev put gPlayerParamsA[playListSize] ?>,
    'controlbar.position': 'bottom',
    skin:'<?rev  put gPlayerParamsA[skinSWF] ?>',  
    repeat: 'list',
    events: {
    onPlaylistItem: function(evt) {
        var playlistitem = this.getPlaylistItem();
        var infodiv = document.getElementById("playlistiteminfo");
        infodiv.innerHTML = "";
        infodiv.innerHTML += playlistitem.title;
        }
    }

});
        <?rev
        if gPlayerParamsA["single_play_index"] is a number
            then
        ?>
            jwplayer().playlistItem(<?rev put gPlayerParamsA["single_play_index"] ?>);
        <?rev
        end if
        ?>
</script>

转到版本 6 破坏了很多东西,语法更简单、更清晰,但有所不同,但除了上面列出的事件代码之外,我能够让所有内容再次工作。应该注意的是,我使用的是 Livecode 服务器端而不是 PHP,但这没有问题。

<小时/>

version 6 jwPlayer version


<div id="container" ></div>
<script type="text/javascript">
    jwplayer("container").setup({
        height: <?rev put gPlayerParamsA[playerHeight] ?>,
        width: <?rev put gPlayerParamsA[playerWidth] ?>,
        logo: {
            file: "<?rev put gPlayerParamsA[watermarkLoc] ?>",
            link: "http://barncard.com",
            position: "bottom-left"
            },
        playlist: [{
<?rev

put tPlayListP  -- JAVASCRIPT PLAYLIST CREATED EARLIER INSERTED HERE

?>
     }],
     displaytitle: "false",
     listbar: {
         position: "right",
         size: <?rev put gPlayerParamsA[playListSize] ?>,
     }

});
        <?rev
        if gPlayerParamsA["single_play_index"] is a number
            then
        ?>
            jwplayer().playlistItem(<?rev put gPlayerParamsA["single_play_index"] ?>);
        <?rev
        end if
        ?>
</script>

因此,当我在 postion: "right"之后将此代码片段添加到上面的代码中时,它会破坏整个播放器并且不起作用。

repeat: 'list',
    events: {
    onPlaylistItem: function(evt) {
        var playlistitem = this.getPlaylistItem();
        var infodiv = document.getElementById("playlistiteminfo");
        infodiv.innerHTML = "";
        infodiv.innerHTML += playlistitem.title;
        }

所以:

  1. 我无法判断这些事件在 jwPlayer 6 中是否有效 - 一些网络帖子表明它们无效。
  2. 或者这是我对正确语法的最低限度的理解。

我希望有人已经成功地做到了这一点或有解决方法......

最佳答案

在 JW6 中,更改:

重复:'列表',

致:

repeat: 'true',

这应该可以解决问题。

关于javascript - 在 <div> 中显示 jwplayer 6 播放列表中当前播放的项目 - 在 jwPlayer 5 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21517766/

相关文章:

javascript - 将多个参数与事件对象一起传递给事件处理程序

javascript - 如何编写在Chrome和IE中正常运行的JavaScript?

javascript - React Context vs React Redux,我应该什么时候使用它们?

javascript - 支持 Canvas 上的滚动和拖动操作

javascript - Livevalidation 设置 youtube url 验证器

html - Safari 浏览器文本渗出 div

javascript - angular2在html中输出对象值而不指定对象名称

ios - iOS Safari 上的 SVG viewbox 高度问题

iphone - 如何使用地址栏和底部工具栏按钮显示 webView,如 safari

javascript - 无法使 JavaScript 工作,是 ID 问题吗?