通过单击Amazon S3上托管的链接更改jPlayer上的歌曲

Jac*_*rry 7 ruby ruby-on-rails amazon-s3 jplayer

各位大家好,感谢您提前提供的任何帮助.

我有一个ruby on rails应用程序,我试图通过jPlayer流式传输音频,这是在S3上托管的.到目前为止,我上传文件或使用内置播放器播放音频文件,甚至使用S3上的歌曲初始化jPlayer都没有问题.当我开始改变歌曲时,问题出现了.

我像这样初始化jPlayer:

$('a.html5').click(function() { 

    var url = $(this).attr('href');  

    $("#jquery_jplayer_1").jPlayer({
        ready: function (event) {
            $(this).jPlayer("setMedia", {
                mp3: url
            });
        },
        swfPath: "javascripts",
        supplied: "mp3",
        wmode: "window"
    });
    return false;  
});  
Run Code Online (Sandbox Code Playgroud)

其中mp3:url指向S3 URL(这一切都很好).

这允许我从链接列表中选择一首歌曲,并加载并开始播放没有问题.

问题是,当我尝试更改歌曲时,我收到了一个access-control-allow-origin错误.所以我尝试了以下方法:

$('a.html5').click(function() {

    var url = $(this).attr('href');  

    $("#jquery_jplayer_1").jPlayer("setMedia", mp3: url).jPlayer("play");

    return false;  
  });
Run Code Online (Sandbox Code Playgroud)

这仍然给我一个access-control-allow-origin错误.我一直在靠墙撞击几个小时试图解决这个问题.

所以基本上总结一下,我可以初始化jPlayer并播放一首歌,但是当我想改变一首歌时,access-control-allow-origin错误毁掉了我的一天.

有任何想法吗?

Jac*_*rry 8

好吧,似乎唯一的问题是mp3周围缺少括号:jPlayer的url部分("setMedia"....

它应该是 (...).jPlayer("setMedia", {mp3: url}).(...)