1

Web ブラウザーで jPlayer を使用するための JavaScript パターンを作成するだけです。このコードのように:

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ではありません。助けてください、お願いします!!!

4

2 に答える 2

0

以下のこのコードは私のために働いたので、誰かが興味を持ったらここに投稿します。どなたかコメントありがとうございます。

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()を機能させることはできません。これをすぐに修正したいと思っています!! 関数名をpauseからmypauseと関数ボリュームに変更しましたが、実行されますが、なぜ実行されるのかまだわかりません!!

于 2011-07-07T03:12:10.980 に答える
0

あなたはあまりにもトリッキーです。このデモのソースを見てください

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

それに非常によく似たものを使用します。

于 2011-06-11T02:34:16.030 に答える