jPlayer запускает скрипт, когда он начинает проигрывать песню - PullRequest
1 голос
/ 06 декабря 2011

Я пытаюсь убедить Jplayer запустить внешний скрипт (либо через .get или .ajax из jQuery), чтобы заполнить другую область, отличную от того, где в данный момент находится плеер, с информацией о текущей песне ... (надеюсь, этосмысл ...) У меня проблема в том, что когда он загружает информацию в div, он больше не воспроизводит музыку.Если я удаляю success: из вызова AJAX, или function(data){} на вызове .get (очевидно) тянет сценарий, но ничего не делает с ним, и музыка играет ... как только я говорю этосделать что-нибудь, музыка больше не загружается ..

Вот что я добавил к функции воспроизведения ...

$.ajax({
  url: "add_song.php",
  success: function(html){
  $("#hidden").append(html);
  }
});

, так что это выглядит так:

play: function(time) {
    time = (typeof time === "number") ? time : NaN; // Remove jQuery event from click handler

    if(this.status.srcSet) {
        if(this.html.active) {
            this._html_play(time);
        } else if(this.flash.active) {
          this._flash_play(time);
        }           
    } else {
        this._urlNotSetError("play");
    }
    /* branning */          
    $(".slide_new").addClass("slide_old");
    $(".slide_new").removeClass("slide_new");
    /* add new slide */
    $.ajax({
        url: "add_song.php",
        success: function(html){
            $("#hidden").append(html);
        }
    });
    /* end branning edits */    
},

Я пытался переместить его, но всегда получал один и тот же результат с .ajax и .get.Есть ли более простой способ сделать это, или какая-то очевидная ошибка, которую я сделал?

Вот сайт разработчика, на котором мы сейчас на нем: http://www.branninggroup.com/backbeat/media_player/

Спасибо за любую помощь!

1 Ответ

2 голосов
/ 07 декабря 2011

Я не уверен, что такое протокол для ответа на ваш собственный вопрос, но я нашел решение и хотел опубликовать его.

Я удалил все, что у меня было сверху, и добавил следующее к вызову jplayer:

$("#jquery_jplayer_1").bind($.jPlayer.event.play, function(event) { 
    $("li.new").removeClass("new");
    $(".slide_new").addClass("slide_old");
    $(".slide_new").removeClass("slide_new");
    $("ul.slider").prepend('<li class="new"></li>');
    $("li.new").load('add_song.php?img='+escape($('#jp_poster_0').attr("src"))+'&name='+escape($('a.jp-playlist-current').html()));
});

и теперь все играет и загружается правильно

...