Шаблон Javascript с помощью jPlayer - PullRequest
1 голос
/ 10 июня 2011

Я просто строю шаблон javascript для использования jPlayer в веб-браузере. Мне нравится этот код:

var myplayer = {}
myplayer.Controller = (function() {
        var controller;
        var player_state= "default";
        var player  = jQuery('#jquery_jplayer_2');

    function createController(){
        function initial(){
            player.jPlayer({
                solution: "flash, html",
                supplied: "mp3",
                swfPath: "/js"
            });
           }
           function play(){
              player.jPlayer("play");
           }
            return {
              initial:function(){
                  initial();
              },
              play:function(){
                  play();
              }
            }
     }

     return {
         getController:function(){
             if(!controller){
                 controller = createController();
             }
             return controller;
         }
     }

, и я называю это var mypl = myplayer.controller.getController (). Initial (); Он запускается без каких-либо ошибок или предупреждений, но не первоначальный jPlayer? Кто-нибудь здесь имеет опыт работы с JavaScript, пожалуйста, покажите мне путь, большое спасибо! Я также проверяю путь к папке javascript и mp3 файл действителен. Я пишу предупреждение перед вызовом и после вызова начальной функции, и она запускается, но все еще не инициализирует jPlayer. помогите пожалуйста пожалуйста !!!

Ответы [ 2 ]

0 голосов
/ 07 июля 2011

Этот код ниже работал для меня, поэтому я публикую здесь, если кому-то интересно. Я ценю любые комментарии от кого-либо.

var mypl = {};
mypl.player = (function(){
    var myplayer;
    var pl = jQuery("#jquery_jplayer_2").jPlayer;

    function createPlayer(){
        function initialPlayer(domitem){
            if(domitem == undefined){
                domitem = $("#jquery_jplayer_2"); 
            }
            domitem.jPlayer( {
                ready: function () {
                  $(this).jPlayer("setMedia", {
                    mp3: "url_to_mp3_file"
                  });
                },
                solution: "flash, html",
                supplied: "mp3",
                swfPath: "path_to_swf_file_locate"
              });
        }
        function setMedia(title,filepath){
            jQuery("#jquery_jplayer_2").jPlayer("setMedia",{name:title,free:true,mp3:filepath});
        }
        function play(){
            jQuery("#jquery_jplayer_2").jPlayer("play");
        }
        function pause(){
            jQuery("#jquery_jplayer_2").jPlayer("pause");
        }
        function stop(){
            jQuery("#jquery_jplayer_2").jPlayer("stop");
        }
        function volume(volume){
            if(volume == undefined || volume  < 0){
                volume = 0.8;
            }
            jQuery("#jquery_jplayer_2").jPlayer("volume",volume);
        }
        function mute(){
            jQuery("#jquery_jplayer_2").jPlayer("mute");
        }
        function unmute(){
            jQuery("#jquery_jplayer_2").jPlayer("unmute");
        }
        function seek(seek){
            if(seek == undefined || seek < 0){
                seek = 0;
            }
            jQuery("#jquery_jplayer_2").jPlayer("playHead",seek);
        }
        return{
            initialplayer:function(domitem){
                initialPlayer(domitem);
            },
            setmedia:function(title,filepath){
                setMedia(title,filepath);
            },
            play:function(){
                play();
            },
            pause:function(){
                pause();
            },
            stop:function(){
                stop();
            },
            mute:function(){
                mute();
            },
            unmute:function(){
                unmute();
            },
            seek:function(){
                seek();
            }
        }
    }
    return{
        getPlayer:function(){
            if(!myplayer){
                myplayer = createPlayer();
            }
            else{
            }
            return myplayer;
        }
    }
})();

и я называю это так:

var abc = mypl.player.getPlayer();
abc.initialplayer();

когда вы нажимаете на какой-либо элемент, просто вызывайте abc.play () или abc.stop (). Я до сих пор не могу заставить работать abc.pause (). Надеюсь исправить это в ближайшее время! Я изменил имя функции с паузы на mypause и громкость функции тоже, она работает, но я до сих пор не знаю, почему она работает или нет !!

0 голосов
/ 11 июня 2011

Ты слишком хитрый. Посмотрите на источник из этой демонстрации

http://jplayer.org/latest/demo-01/

и используйте нечто очень похожее на это.

...