PDA

Просмотр полной версии : NetStream не работает. В чем мистика?


cv'
04.08.2010, 16:24
Доброго вам, уважаемые Flash-самураи!

Есть код, который НЕ работает:

var container:Video = _this.mc.mc_logo.video_container;

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);

container.attachVideo(ns);
ns.setBufferTime(2);

ns.play( "summer.flv" );

И есть код, которй РАБОТАЕТ:

var container:Video = _this.mc.mc_logo.video_container;

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);

container.attachVideo(ns);
ns.setBufferTime(2);

trace([nc,NetStream]);

ns.play( "summer.flv" );

Разница между ними ТОЛЬКО в строке
trace([nc,NetStream]);

Как объяснить? Как лечить?

Все это добро лежит внутри класса, который экстендит MovieClip и добавляется на сцену с помощью таймлайна.

rainbowrussia
04.08.2010, 22:00
Вот прямо закоментируешь trace и сразу перестает работать?

cv'
04.08.2010, 22:13
точно так

Могу исходник на почту прислать, если интересно.

Так же позже експерементально было установлено, что все работает с трейсом

trace([nc]);
или
var smth = [nc];

И НЕ работает с

trace(nc);
или
[nc];

%)

rainbowrussia
04.08.2010, 22:35
"_this" - есть такая переменная или опечатка?
Попробуйте "setBufferTime" перенести выше "attachVideo".
В остальном все вроде так, странно что не работает.

cv'
04.08.2010, 22:38
переменная _this - получена таким образом:

...
TweenLite.from(mc_logo, 1, { _alpha:0, onComplete:fillVideo, onCompleteParams:[this]} );

private function fillVideo(_this) {
var container:Video = _this.mc.mc_logo.video_container;
...

Перенос setBufferTime не помог...