0

我有一个带有播放列表的 jplayer,它从 xml 文件加载并转换为 json。我正在尝试添加一个共享按钮(只是一个中央按钮,而不是在播放列表中的每首歌曲上),虽然我已经成功创建了将标题添加到 URL 以进行共享的代码,但我不知道如何提取参数关闭 URL 以确保当用户点击该站点的链接时播放共享歌曲。我正在修改播放列表文件,特别是选择功能。我的网站是本地的,所以我不能分享链接,但我可以发布播放列表代码的修改部分。

感谢你给与我的帮助!!斯蒂芬

链接到原始播放列表文件

修改选择功能:

    select: function(index) {
    $.urlParam = function(homily) {
            var results = new RegExp('[\\?&]' + homily + '=([^&#]*)').exec(window.location.href);
            return results[1] || 0;
            console.log($.urlParam('homily'));
        index = (index < 0) ? this.original.length + index : index; // Negative index relates to end of array.
        if(encodeURIComponent($.urlParam('homily')) === this.playlist[index].title) {
        this.current = this.playlist[index].title;
        $(this.cssSelector.jPlayer).jPlayer("setMedia", this.playlist[this.current]);
        } else if (0 <= index && index < this.playlist.length) {
            this.current = index;
            this._highlight(index);
            $(this.cssSelector.jPlayer).jPlayer("setMedia", this.playlist[this.current]);
        var downloadBtn=this.cssSelector.cssSelectorAncestor+' [class^="download_btn"]';
            $(downloadBtn).attr('href', encodeURIComponent(this.playlist[this.current].mp3));
            var shareBtn=this.cssSelector.cssSelectorAncestor+' [class^="share_btn"]';
            $(shareBtn).attr('href', "?homily=" + decodeURIComponent(this.playlist[this.current].title));

        } else {
            this.current = 0;           
    }
    }
    },
4

1 回答 1

0

如果我理解正确,您需要根据当前媒体生成一个 URL,并且您还想知道当前正在播放的媒体(如果播放的话)。正确的?

好吧,这里有一些想法:

  • JPlayerPlaylist 插件有一个内部属性this.current(这里和进一步this用于播放列表对象的上下文中),它将存储当前选择/播放的媒体的索引。要获取该对象,您将访问this.playlist[this.current]. 您已经在您提供的代码中按照这一行做了一些事情。

  • 如果您想知道某个特定时间的玩家状态。最简单的方法是访问,如果播放器暂停$("#your_jPlayer_Id").data("jPlayer").status.paused,它将返回。true

  • 我还将添加一些语句playpause方法,例如将按钮设置href#on pause 并将其恢复为play.

于 2012-07-12T19:28:12.800 回答