我遇到了旧的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投影仪播放时,它运行正常。任何想法???
答案 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。
祝你好运!