2

我正在尝试使用 JPlayer ( http://www.happyworm.com/jquery/jplayer/ ) jQuery 插件,但在使用 Flash SWF 时遇到了一些麻烦。在这种情况下,我遇到了一个错误m.fl_play_mp3 is undefined,我可以追溯到 SWF 文件的路径可能存在问题。但是,我已将 SWF 的完整路径直接放在embed标签中,它仍然不起作用。当我将该完整路径复制src到浏览器窗口中时,我得到了 Flash 对象。那么接下来调试的最佳方法是什么?

有没有办法可以验证 < embed> 标签实际上能够加载 Flash 文件?

我可以反省编译后的 SWF 公开了哪些方法吗?

更新:我检查了 Firebug Net 选项卡,并下载了 SWF 文件。所以肯定还有另一个问题。错误发生在 jPlayer.js 文件中,当我尝试此演示时遇到此错误:http ://www.happyworm.com/jquery/jplayer/0.2.5/demo-07.htm 。我在 Snow Leopard 上使用 Firefox 3.6。失败的行是下面代码段中的第四行:

play: function(e) {
    var fid = $(this).data("jPlayer.config").fid;
 var m = $(this).data("jPlayer.getMovie")(fid);
 var r = m.fl_play_mp3(); // error occurs here
 if(r) {
     $(this).trigger("jPlayer.setButtons", true);
 }
}

更新 2:我能够通过为 jPlayer 提供 mp3 文件而不是 wav 文件来解决这个问题。不回答我的问题,但至少解决了这个问题。

4

3 回答 3

0

确保播放器 div 没有 display: none; 否则 swf 将不会被初始化。

即使您仅在 init() 期间隐藏播放器。如果需要隐藏,将位置设置为绝对,左侧设置为-5000px;

于 2012-05-09T14:07:40.067 回答
0

问题是当播放器退回到 Flash 时,您必须提供替代文件类型来替换 wav。仅部分 HTML5 浏览器支持 Wav 播放,但 Flash 不支持。

您可以使用提供的选项执行此操作。这告诉玩家要使用的类型和优先级。

如果您提供它 wav 和 mp3,那么播放器将通过 html5 使用 wav 或 mp3(如果可以),或者作为最后的手段通过 flash 使用 MP3。

于 2011-10-28T23:02:03.950 回答
0

是不是用flash版的时候就是不播放音乐的问题?这是因为在这种情况下,它会查找与 SWF 文件相关的音乐,而不是 html。如果您使用相对路径作为 mp3 路径而不是 http 链接,则可能找不到您的音乐。

于 2011-06-11T02:43:42.127 回答