flash - Flash Video Player的内存问题

标签 flash actionscript-3 memory video audio

我制作了一个带有播放列表的视频播放器。大约45分钟后,声音停止!视频继续播放。我播放短片(每个大约3至4分钟)。

播放器基于2帧:

第1帧使用文件名定义变量VidReference:

VidReference = trackToPlay;

第2帧播放视频:
var nc:NetConnection = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
const buffer_time:Number = 2;
ns.bufferTime = buffer_time;
ns.client = this;
ns.play(VidReference);
var vid:Video = new Video();
vid.attachNetStream(ns);
addChild(vid);
vid_frame.addChild(vid);

视频播放完毕后,将转到第1帧(将新值放入VidReference变量中),然后返回第2帧以播放新视频。
我是否应该在每次加载新视频时删除该视频对象?实际上,每次循环(帧1> 2)并将每个视频添加到RAM并最终使Flash播放器不堪重负时,我实际上是在声明一个新的视频对象吗?

我听说过垃圾回收,但是我不知道如何删除视频对象,以便从内存中清除视频对象(以及视频本身)。

当我检查System.totalMemory时,每次加载新视频时它都会累加,我不知道如何从内存中删除旧视频。

最佳答案

请不要重新发布问题
Repost

    if(!vid){
      var nc:NetConnection = new NetConnection();
      nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
      nc.connect(null);
      var ns:NetStream = new NetStream(nc);
      ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
      const buffer_time:Number = 2;
      ns.bufferTime = buffer_time;
      ns.client = this;
      ns.play(VidReference);
      var vid:Video = new Video();
      vid.attachNetStream(ns);
      //addChild(vid); // you shouldnt add the video to2 display objects
      vid_frame.addChild(vid);
    }else{
      ns.play(VidReference);
   }

关于flash - Flash Video Player的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5670602/

相关文章:

java - 有没有办法在javafx WebView中播放flash?

FlashDevelop - 更改自动完成类的默认选择

json - 如何解析JSON(AS3)

actionscript-3 - Intellij IDEA - Actionscript 项目 - 无法连接 Flash Player 的调试器版本

windows - 是否有命令行实用程序来显示 WS 私有(private)字节?

iOS 应用程序内存不足处理

flash - Flash 播放器可以从 url 播放 .wav 文件吗?

Flash 有时无法触发 URLLoader 上的任何事件

javascript - 在 JavaScript 和 ActionScript 之间共享数组引用

Xcode:为什么我使用presentModalViewcontroller 收到SIGABRT 消息?