我试图让jPlayer在rails应用程序中使用flash后备,到目前为止还没有运气!我的构造函数现在看起来像这样:
$("#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文件夹中。没运气!有没有人以前处理过这个问题?
答案 0 :(得分: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 :(得分:1)
我认为这样做的一个好方法是在资产管道中添加swf
目录。
您可以通过添加
来完成此操作config.assets.paths << Rails.root.join("app", "assets", "swf")
到您的config/application.rb
文件,然后将Jplayer.swf
文件放入vendor/swf/Jplayer.swf
在您的JS文件中,您可以使用.js.erb
$(document).ready(function(){
$("#jplayer").jPlayer({
swfPath: "<%= asset_path "Jplayer.swf" %>"
});
});
答案 2 :(得分:0)
由于此处尚无人提及,您也可以在jplayer初始化代码中执行此操作:
使用Rails&gt; = 3.2使用资产管道!
swfPath: "<%= escape_javascript(asset_path('jplayer/Jplayer.swf')) %>",
solution: "flash,html",
supplied: "rtmpa,mp3",
请记住文件有一个大写J: - )