Динамическое заполнение списка воспроизведения с помощью JSON из PHP в jPlayer - PullRequest
8 голосов
/ 06 декабря 2011

У меня есть PHP, который создает JSON-массив mp3-файлов в каталоге.Вывод массива JSON из PHP выглядит следующим образом:

[{"title":"Kalimba","mp3":"/path/to/mydirectory/Kalimba.mp3"},{"title":"Maid with  the Flaxen Hair","mp3":"/path/to/mydirectory/Maid with the Flaxen Hair.mp3"},{"title":"Sleep Away","mp3":"/path/to/mydirectory/Sleep Away.mp3"}]

Отлично, похоже, это то, что ожидается от JQuery.jPlayer.

Теперь в базовом файле jplayer.js у меня есть:

$(document).ready(function(){

new jPlayerPlaylist({
    jPlayer: "#jquery_jplayer_1",
    cssSelectorAncestor: "#jp_container_1"
}, [
    //I guess my JSON array should come here
    // but no idea on how I put it in...
], {
    swfPath: "../js",
    supplied: "mp3",
    wmode: "window"
});
});

Моя проблема в том, что я не могу разместить свой массив JSON там, где он должен быть (см. Комментарии в коде js)

Любая помощь будет очень полезна!Прости мой английский, это не мой родной язык Заранее спасибо

РЕДАКТИРОВАТЬ И РЕШИТЬ

Привет всем, Для тех, кто заинтересован, я нахожу решение: Мой файл JS:

$(document).ready(function(){
    var cssSelector = {
        jPlayer: "#jquery_jplayer_1", 
        cssSelectorAncestor: "#jp_container_1"
    };
    var playlist = []; // Empty playlist
    var options = {
        swfPath: "./js", 
        supplied: "mp3"
    };
    var myPlaylist = new jPlayerPlaylist(cssSelector, playlist, options);
    $.getJSON("../PHP/radio.php",function(data){  // get the JSON array produced by my PHP
        $.each(data,function(index,value){
            myPlaylist.add(value); // add each element in data in myPlaylist
        })
    }); 
});

Ответы [ 2 ]

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

Почему вы просто не включили JavaScript:

var playlist = [{"title":"Kalimba","mp3":"/path/to/mydirectory/Kalimba.mp3"},{"title":"Maid with  the Flaxen Hair","mp3":"/path/to/mydirectory/Maid with the Flaxen Hair.mp3"},{"title":"Sleep Away","mp3":"/path/to/mydirectory/Sleep Away.mp3"}];

$(document).ready(function(){

  new jPlayerPlaylist({
    jPlayer: "#jquery_jplayer_1",
    cssSelectorAncestor: "#jp_container_1"
  },
  playlist,
  {
    swfPath: "../js",
    supplied: "mp3",
    wmode: "window"
  });
});

Вы даже можете использовать PHP для генерации playlist var.

0 голосов
/ 14 июля 2014

измени свой

 myPlaylist.add(value);

myPlaylist.add({title:$(this).attr("title"),mp3:$(this).attr("mp3")});

перед этим убедитесь, что вы правильно передали значения с помощью alert () или console.log ()

...