我试图在 Flash 中实现一种幻灯片,它循环播放大约 100 个 h.264 编码的电影。我正在使用 NetConnection 和 NetStream 类连接到本地硬盘上的文件(请参见下面的代码)。
private function playMovie():void
{
var currentMovie:String = movies[index];
index = (index + 1) % movies.length;
netConnection = new NetConnection();
netConnection.connect(null);
if(netStream != null)
{
netStream.removeEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
netStream = null;
}
netStream = new NetStream(netConnection);
netStream.client = this;
netStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
stageVideo.attachNetStream(null);
stageVideo.attachNetStream(netStream);
netStream.play(currentMovie);
}
private function netStatusHandler(evt:NetStatusEvent):void
{
if(evt.info.code == "NetStream.Play.Stop")
{
playMovie();
}
}
public function onMetaData(e:Object):void
{
netStream.seek(int(e["duration"]));
}
public function onXMPData (e:Object):void {}
问题是 flashplayer 的内存使用量随着每部电影的增加而增加,当达到大约 1.3gb 时,它会自行结束而没有任何错误消息。
我的问题很明显:我该如何解决?