2010-02-13 81 views
2

我試圖使用JPlayer(http://www.happyworm.com/jquery/jplayer/)jQuery插件並在回退到Flash SWF時遇到一些麻煩。在這種情況下,我遇到了一個錯誤m.fl_play_mp3 is undefined,我已經追溯到SWF文件路徑的問題。但是,我已將SWF的完整路徑直接放在embed標記中,但它仍然無效。當我將src中的完整路徑複製到瀏覽器窗口中時,我得到了Flash對象。那麼接下來調試的最佳方法是什麼?使用JPlayer音頻播放器的問題

有沒有一種方法可以驗證<嵌入>標記實際上是否能夠加載Flash文件?

我可以反思編譯的SWF公開的方法嗎?

UPDATE:我檢查了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文件來解決這個問題。不回答我的問題,但至少解決了這個問題。

+0

使用Firebug的網絡標籤檢查是否加載了Flash文件。誰給你'm.fl_play_mp3是未定義的? JavaScript的?從哪裏打電話?你能顯示代碼嗎? – 2010-02-13 18:34:49

+0

粘貼你的代碼,它可以幫助。 – 2010-02-13 18:36:35

回答

0

問題是它使用閃存版本時不能播放音樂?這是因爲它在這種情況下查找與SWF文件相關的音樂,而不是html。如果您將相對路徑用作mp3路徑而不是http鏈接,則可能無法找到您的音樂。

0

問題是,您必須提供一種替代文件類型來替換wav,當播放器回落到閃光燈。 Wav播放只支持一些HTML5瀏覽器,但不支持Flash。

您可以使用supplied選項執行此操作。這告訴玩家使用哪些類型和優先級。

如果您提供wav和mp3,則播放器將使用wav或mp3格式(如果可以的話),或者通過flash使用MP3作爲最後的手段。

0

確保玩家div沒有顯示:none;否則,swf將不會被初始化。

即使您僅在init()期間隱藏播放器。如果您需要隱藏它,請將位置設置爲絕對,並將其設置爲-5000px;