0

我正在开发一个加载从 InDesign(交互式书籍)导出的 .swf 文件的 Adob​​e AIR javascript 应用程序。该 .swf 有一个“MySWF_Resources”目录,其中包含一个示例 .flv 视频。

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

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

4

1 回答 1

0

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

  1. 包括 AIRAliases.js(位于 air sdk 包中)
  2. 包括 jPlayer (链接)
  3. 添加用于调用的空中事件侦听器(LINK
  4. 将当前目录保存到 javascript 中的变量/对象
  5. 位置的反斜杠 ( myVar.replace(/\\/g,"/"))
  6. 将 location + file.flv 传递给 jPlayer 对象

使用 jPlayer 可以节省许多步骤,但如果您想通过标准 SWF 来完成,则需要通过 javascript 创建嵌入/对象并传入 flashvars 以获取 FLV 文件的位置。然后让 flashvars 通过 ActionScript ( LINK ) 在 SWF 中设置内容源。

于 2013-08-06T19:03:05.683 回答