2011-08-27 93 views
1

我有一個Flash文件(完整鏈接,閃存看起來像http://localhost:8888/PROJECT/swf/audio/player.swf)它加載的MP3文件(鏈接到MP3我用PHP發送通過Flash變量)如何使用基地PARAM閃光燈

我我已經動態地(使用swfobject)將此swf嵌入到我的頁面中。沒關係。然後我發送ajax-request到腳本,它用flash重新加載div。 Div是空的。

通過實驗我發現我遇到了相對路徑的問題。 Flash文件嵌入此地址./swf/audio/player.swf和mp3-address爲./media/audio/user/1/random.mp3。 相對於根目錄,這些路徑是正確的。

但是,如果我用../../media/audio/user/1/random.mp3更改mp3地址,所有的東西都可以正常工作

我搜索了一下,發現在flash中有'base'參數,它設置了flash相對路徑的根目錄。我嘗試像這樣使用它:var params = {base:「http:// localhost:8888/PROJECT /」};但沒有結果。

我該如何解決這個問題?

回答

1

swf相對路徑的起始位置基於基準參數。如果base沒有設置,它將默認爲持有.swf的html頁面的位置,無論swf在哪裏。

http://localhost:8888/PROJECT/media/audio/user/1/random.mp3

這應該是路徑,你mediea如果參數是設置爲... /項目/

要當心用的AS2的路徑,前點(單),它有時會在AS2中失敗。在基本路徑的末尾或相對路徑的開始處嘗試使用或不使用斜槓。簡單的事情可能會弄亂路徑,導致它們不可讀。

+0

感謝您的快速回復!請你澄清一下,'base'參數應該怎麼樣?這是對的嗎? - base:「http:// localhost:8888/PROJECT /」 – dark

+1

只要它是正確的,並且.swf可以看到它,它就可以看到任何你想要的東西。我現在正在開發的這個項目中,服務器似乎有一個「blabla/pathDir」作爲基本參數,以便在as2 swf中使用斜線「/ static/flash/etc」開始的相對路徑(有趣的是這個有時會導致.swf在本地失敗)...我想你應該嘗試「http:// localhost」等,但也要確保你的安全沙箱是正確的,這可能是瀏覽器上的問題(安裝調試版本它會顯示運行時錯誤)。 – Neoraptor