興味深い質問です。残念ながら、これには簡単な答えはありません.Flashで何かを行うには何百万もの方法があります。オリジナルの開発者が何をしたかによって、試してみることができるさまざまなものがあります。
Flash PlayerはネイティブAPIでExternalInterfaceメソッドを提供しているため、すべてのFlashアプリケーションでjavascriptを呼び出すことができます。開発者が設定した場合、javascriptコマンドに応答するために内部コールバックメソッドをフラッシュに登録することもできます。そのため、両方の方法で動作させることができます。
これは、開発者があなたがそれを望んでいたために具体的に入れていない限り、彼はそれをしたとは思わなかったし、とにかく見ることもできないだろう。
swfの構築方法によっては、いくつかのオプションがあります。まずは埋め込みコードにLOOP = TRUEパラメータを追加してみてください(詳細はhere)。これが基本タイムラインアニメーションである場合、またはビデオクリップのフレームがタイムラインにダンプされ、Flash独自のアニメーションツールを使用して再生している場合、これが必要な場合もあります。
これでうまくいかない場合、状況は少し複雑になります。 .swfを任意の数のフラッシュデコンパイラの1つを使用して逆コンパイルしようとする可能性があります。これは、そこにあるメソッド、構造化されたものなどについてのいくつかの洞察を与えるかもしれません。それはまったく良い科学ではありません。試行錯誤。
swfをイントロスペクションする過程で、たとえば "Video"というオブジェクトが "Video"というオブジェクトを持っていることがわかっている場合は、ラッパーの.swfを書き込んでターゲットswfにロードし、 JavaScriptとのインターフェイス。あなたが探しているのがループなのであれば、ビデオオブジェクトにはオートリピートプロパティなどがあるかもしれません。
これは少し長かったですが、私はそれが助けてくれることを願っています。ご不明な点がございましたら、コメントをお寄せください。
出典
2011-02-05 18:00:56
Myk
応答ありがとう - 非常に有益です。 JavascriptではFlashを呼び出すことはできますが、これは開発者が設定し、SWFが汎用APIを共有していない場合のみであることを理解しています。正しい? – tjbp
ExternalInterfaceコールバックは、JavaScript側ではなく、フラッシュ側で設定する必要があります。 [まあ、彼らは両方の側で設定する必要があります - ジャンクスクリプトだけでそれを行う方法はありません。] – Myk
もう一度ありがとう。 :) – tjbp