/ / Alterando músicas no jPlayer clicando em um link, hospedado no Amazon S3 - ruby-on-rails, ruby, amazon-s3, jplayer

Alterando músicas no jPlayer clicando em um link, hospedado no Amazon S3 - ruby-on-rails, ruby, amazon-s3, jplayer

Olá a todos e obrigado por qualquer ajuda antecipadamente.

Eu tenho um aplicativo Ruby on Rails em que estoutentando transmitir áudio através do jPlayer, que está hospedado no S3. Até agora eu não tenho nenhum problema em carregar arquivos ou usar os navegadores embutidos no player para reproduzir arquivos de áudio, ou até mesmo fazer com que o jPlayer inicialize com uma música que esteja no S3. A questão surge quando entro em mudar de música.

Eu inicializo o jPlayer assim:

$("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;
});

onde o mp3: url aponta para o URL S3 (tudo isso funciona bem).

Isso me permite selecionar uma música de uma lista de links, e ela carrega e começa a tocar sem nenhum problema.

A questão é que, quando tento mudar de música, recebo um erro de acesso-controle-permitir-origem. Então eu tentei o seguinte:

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

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

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

return false;
});

Isso ainda me dá um erro de controle de acesso-permitir-origem. Eu tenho batido minha cabeça contra a parede por horas tentando descobrir isso e nada.

Então, basicamente, um resumo é que eu posso inicializar o jPlayer e tocar uma música muito bem, mas quando eu quero mudar uma música, os erros access-control-allow-origin arruínam o meu dia.

Alguma ideia?

Respostas:

8 para resposta № 1

Bem, parece que o único problema foi a falta de colchetes em torno da parte mp3: url do jPlayer ("setMedia" ....

então deveria ter sido (...).jPlayer("setMedia", {mp3: url}).(...)


2 para resposta № 2

Depois de pesquisar muito, poderia ser uma das soluções também.

 músicas de função (json1) {
$ ("# jquery_jplayer_1") jPlayer ("destruir"); // isso destruirá o conteúdo do jplayer anterior e, se você chamar novamente essa função, ele adicionará a nova url da sua música de áudio ao jplayer
var audio_url_inside = json1.audio_url;
$ ("# jquery_jplayer_1"). jPlayer ({
pronto: function (event) {
$ (this) .jPlayer ("setMedia", {
mp3: audio_url_inside,
oga: audio_url_inside
} jPlayer ("play"); // tentar reproduzir mídia
}
swfPath: "http://www.jplayer.org/2.1.0/js",
fornecido: "mp3, oga"
});
}

: Espero que ajude.