Adobe AIR中加载的.swf无法找到其媒体文件

时间:2012-05-08 22:18:52

标签: javascript flash air swfobject

我正在开发一个Adobe AIR javascript应用程序,它加载从InDesign导出的.swf文件(交互式书籍)。那个.swf有一个带有样本.flv视频的“MySWF_Resources”目录。

问题是,当我使用SWFobject将.swf加载到我的AIR应用程序时,它失去了加载其资源的能力 - 在AIR环境中运行时,路径不正确。在浏览器中执行的相同.swf文件正确加载“MySWF_Resources”目录中的视频。

是否有可能以某种方式强制.swf应该查找文件的工作目录? AIR以某种方式破坏了包含.swfs的相对路径。

1 个答案:

答案 0 :(得分:0)

下面是如何在空中应用程序中通过SWF包含FLV /电影文件。您需要使用FLV文件的绝对路径,因为Flash不知道Air app:/ structure。您可以执行以下操作:

  1. 包括AIRAliases.js(位于air sdk包中)
  2. 包含jPlayer(LINK
  3. 为调用添加空中事件侦听器(LINK
  4. 将当前目录保存到javascript中的变量/对象
  5. 反向斜线(myVar.replace(/\\/g,"/")
  6. 将位置+ file.flv传递给jPlayer对象
  7. 使用jPlayer可以保存许多步骤,但如果您想通过标准SWF执行此操作,则需要通过javascript创建嵌入/对象,并传入flashvars以获取FLV文件的位置。然后,您可以通过ActionScript(LINK)让flashvars在SWF中设置内容源。