2011-08-27 94 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