使用JPlayer音频播放器时出现问题

时间:2010-02-13 18:32:31

标签: javascript jquery html flash jplayer

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

有没有办法可以验证<嵌入>标签实际上能够加载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文件来解决这个问题。不回答我的问题,但至少解决了这个问题。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

问题是,当播放器回到闪存时,您必须提供替代文件类型以替换wav。 Wav播放仅在某些HTML5浏览器中支持,但不支持Flash。

您可以使用supplied选项执行此操作。这告诉玩家使用什么类型和优先级。

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

答案 2 :(得分:0)

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

即使您只在init()期间隐藏播放器。如果您需要隐藏它,请将position设置为absolute,并将其设置为-5000px;