2012-04-11 11 views
3

私はjPlayerをレールアプリでフラッシュフォールバックを使って作業しようとしています。私のコンストラクタは、今のようになります。jPlayer + Rails 3.1.3 swfPath?

$("#jquery_jplayer_1").jPlayer({ 
preload: "auto", 
errorAlerts: true, 
swfPath: "javascripts", 
solution: "flash, html", 
supplied: "oga", 
wmode: "window", 
ended: function(e) { 
     ...some function... 
} 
}); 

私はswfPathはそれはそう訂正得ることができない、と私はjPlayerは、そのパスを探しているかについて、ここで何かが欠けている必要があります。スタイルシートの画像など、その他の資産はassetsフォルダ/ imagesフォルダに正しくルーティングされているようです。 jPlayerがJplayer.swfを見つけるための魔法の組み合わせを見つけることができないようです。 swfファイルをパブリックフォルダ、パブリックフォルダ内のフォルダ、assetsフォルダ、およびassetsフォルダ内のjavascriptsフォルダに配置しようとしました。いいえ、運がない!前に誰かがこの問題を扱っていたのですか?

答えて

2

私は同じ問題を抱えている...インターネット上で何の答えを見つけていないの後、私はものをしようとして始めた:)

これは(Railsの3.2)私の仕事:

$(document).ready(function(){ 
    $("#jplayer").jPlayer({ 
     ready: function (event) { 
      $(this).jPlayer("setMedia", { 
       m4a: "url goes here" 
      }); 
     }, 
     swfPath: "/", 
     supplied: "m4a", 
     solution: "flash, html" 
    }); 
}); 

やCoffeeScriptの中:

$ = jQuery 
$ -> 
    $(document).ready -> 
    $("#jplayer").jPlayer(
     ready: (event) -> 
     $(this).jPlayer "setMedia", 
      m4a: "url goes here" 
     preload: "auto", 
     swfPath: "/", 
     solution: "html, flash", 
     supplied: 'm4a') 

私はJplayer.swfファイルをpublic /に配置しました。今すぐご利用ください!

1

私は、これを行うにあたって、swf dirをアセットパイプラインに追加することをお勧めします。

あなたがいるので.js.erb

$(document).ready(function(){ 
    $("#jplayer").jPlayer({ 
    swfPath: "<%= asset_path "Jplayer.swf" %>" 
    }); 
}); 
0

を使用してこれをインポートするあなたのconfig/application.rbファイルに

config.assets.paths << Rails.root.join("app", "assets", "swf") 

を追加することによって、これを行うと、あなたのJSファイルでvendor/swf/Jplayer.swf

Jplayer.swfファイルをドロップすることができます誰もここでそれをまだ言及していない、あなたのjplayerの初期化コードでこれを行うこともできます:

アセットパイプラインを使用するRails> = 3.2で動作します!

swfPath: "<%= escape_javascript(asset_path('jplayer/Jplayer.swf')) %>", 
solution: "flash,html", 
supplied: "rtmpa,mp3", 

、ファイルが

:-)資本Jを持って覚えています
関連する問題