0

InDesign(インタラクティブブック)からエクスポートされた.swfファイルをロードするAdobeAIRjavascriptアプリケーションを開発しています。その.swfには、サンプルの.flvビデオを含む「MySWF_Resources」ディレクトリがあります。

問題は、SWFobjectを使用してその.swfをAIRアプリケーションにロードすると、アセットをロードする機能が失われることです。AIR環境内で実行すると、パスが正しくなくなります。ブラウザで実行された同じ.swfファイルは、「MySWF_Resources」ディレクトリからビデオを適切にロードします。

.swfがファイルを検索する作業ディレクトリをどうにかして強制することは可能ですか?AIRは、含まれている.swfsの相対パスを何らかの形で壊します。

4

1 に答える 1

0

以下は、AIR アプリケーションに SWF 経由で FLV / ムービー ファイルを含める方法です。Flash は Air app:/ 構造を認識しないため、FLV ファイルの絶対パスを使用する必要があります。次のことができます。

  1. AIRAliases.js をインクルードします (air sdk パッケージにあります)。
  2. jPlayer を含める ( LINK )
  3. 呼び出し用のエア イベント リスナーを追加する ( LINK )
  4. 現在のディレクトリをJavaScriptの変数/オブジェクトに保存します
  5. 場所の逆スラッシュ ( myVar.replace(/\\/g,"/"))
  6. location + file.flv を jPlayer オブジェクトに渡します

jPlayer を使用すると多くの手順を節約できますが、標準の SWF を介して実行したい場合は、javascript を使用して埋め込み/オブジェクトを作成し、FLV ファイルの場所の flashvars を渡す必要があります。次に、ActionScript ( LINK )を介して、flashvars に SWF のコンテンツ ソースを設定させます。

于 2013-08-06T19:03:05.683 に答える