创建NetConnection时Flash Player崩溃

时间:2012-03-26 14:51:27

标签: flash netconnection flash-player-11

我遇到了旧的Flash应用程序的问题。在应用程序的整个生命周期中,它会打开并关闭多个NetConnections。这工作正常,直到需要创建最后一个连接,一旦我调用新的NetConnection()浏览器崩溃,日志中出现以下错误:

Faulting application name: iexplore.exe, version: 9.0.8112.16421, time stamp: 0x4d76255d
Faulting module name: Flash11g.ocx, version: 11.1.102.63, time stamp: 0x4f4c3a2f
Exception code: 0xc0000005
Fault offset: 0x0022e4fb
Faulting process id: 0x378
Faulting application start time: 0x01cd0b5c61ea285f
Faulting application path: C:\Program Files\Internet Explorer\iexplore.exe
Faulting module path: C:\Windows\system32\Macromed\Flash\Flash11g.ocx
Report Id: b48eea61-774f-11e1-8a5a-0019d19a2ae1

应用程序之前运行正常,当我使用Flash Player投影仪播放时,它运行正常。任何想法???

1 个答案:

答案 0 :(得分:0)

我发现在NetStreams之前初始化NetConnections存在问题。始终提前初始化NetConnections,并在与NetStreams不同的函数中初始化。

这是一个例子,如果我把所有这些代码放在init()函数中,Flash Player会崩溃,但是通过在我的Class的构造函数中初始化NetConnection,一切都很好:

    public function VideoView(url:String)
    {
        this.url = url;

        netConnection = new NetConnection();
        netConnection.connect(null);

        video = new Video(960, 480);
        video.smoothing = true;
        this.addChild(video);
    }

    public function init():NetStream {
        netStream = new NetStream(netConnection);
        video.attachNetStream(netStream);
        return netStream;
    }

    public function play():void {
        netStream.play(url);
    }

对我来说,崩溃只发生在同时执行其他事情时可能已经调用了垃圾收集,比如在已加载的另一个swf上调用unloadAndStop。

祝你好运!