0

好吧,这个让我发疯。我在 CS4 中制作了一个自定义视频播放器。基本上,我只是使用 The Gimp 绘制视频播放器并将其保存为 PNG,然后将其拖到舞台上。

我不想使用 FLVPlayback,所以我使用 Actionscript 将视频添加到舞台。

var video:Video = new Video(480,360);
addChild(video);

我不会详细说明我是如何连接它的,但它工作得很好。当我尝试将 ComboBox 拖到舞台上时,问题就开始了。在我添加任何处理程序或任何东西之前,如果我从 ComboBox 中选择一个项目,它会终止我的视频(和 NetStream)上的播放。奇怪!为什么?以及如何防止它这样做?

4

1 回答 1

0

好吧,我现在感觉非常聪明,我想通了。当然,如果一开始就没有导致错误,我会更聪明。这是垃圾收集的问题,与 ComboBox 完全无关。事实证明,单击 ComboBox 会导致刚好足够的对象垃圾来触发垃圾收集器。

我的 NetStream 在没有触发事件处理程序的情况下死亡,因为它正在被垃圾收集。我的代码中没有引用它。我不认为我必须这样做,因为我已经打电话video.attachStream(ns)并持有对video. 但是,Video该类显然也不包含对 NetStream 的引用。

于 2009-09-17T22:22:36.770 回答