3

我正在尝试让 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 文件放在公用文件夹、公用文件夹内的文件夹、资产文件夹以及资产文件夹内的 javascripts 文件夹中。没运气!以前有人处理过这个问题吗?

4

3 回答 3

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"
   });
});

或在咖啡脚本中:

$ = 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/ 下。现在工作!

于 2012-04-25T02:20:27.940 回答
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" %>"
  });
});
于 2013-03-02T21:43:55.247 回答
0

由于这里还没有人提到它,你也可以在你的 jplayer 初始化代码中这样做:

适用于使用资产管道的 Rails >= 3.2!

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

记住文件有一个大写的 J :-)

于 2014-03-14T15:02:16.410 回答