1

私のファイル構造は次のとおりです:
main.swf
/swf/child.swf
/video/testvideo.flv

child.swfを単独でコンパイルすると、ビデオが正常に読み込まれ、再生されます(netStream.play(../ video / testvideo.flvを使用)。

ただし、ある時点でchild.swfをロードするmain.swfをコンパイルすると、ビデオを再生しようとすると次のエラーが発生します。

Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.

メインのswfをコンパイルしたときに表示されるように、パスをどのように構成する必要がありますか?パスをvideo/testvideo.flvだけに変更しようとしましたが、それでも同じエラーが発生します。

4

1 に答える 1

1

問題は、相対パスが親ムービー クリップに基づいているため、child.swf をテストするときの開始パスは /swf/ であり、main.swf をテストするときの開始パスは / です。ビデオを両方で再生したい場合は、少しテストを行う必要があります。このようなもの:

var rootPath:String = (root==this) ? "../" : "./";
netStream.play(rootPath + "video/testvideo.flv");

そうすれば、child.swf をテストしている場合、パスとしてroot == this使用../video/testvideo.flvされます。main.swf をテストしている場合は、パスとしてroot != this使用./video/testvideo.flvされます。

于 2009-09-29T19:54:16.303 に答える