2009-08-31 2 views
1

Моя файловая структура такова:
main.swf
/swf/child.swf
/video/testvideo.flvAS3 - воспроизведение видео в загруженном SWF

Когда я скомпилировать child.swf по сам, он загружает и воспроизводит видео просто отлично (используя netStream.play (../ video/testvideo.flv).

Однако при компиляции main.swf, который в какой-то момент загружает child.swf, я получаю эта ошибка при попытке воспроизведения видео:

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

Как мне настроить путь таким образом, чтобы его можно было увидеть при компиляции основного swf? Я попытался изменить путь к видео/testvideo.flv, и я все равно получаю ту же ошибку.

+0

Если вы установили путь к «/video/testvideo.flv» и скомпилировали child.swf, вы получите сообщение об ошибке, но как только вы загрузите его в main, вы должны быть в порядке. –

ответ

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.

Смежные вопросы