Ошибка памяти проигрывателя Flash Video - PullRequest
1 голос
/ 15 апреля 2011

Я сделал видеоплеер с плейлистом.Примерно через 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) и добавляю каждое видео в ОЗУ, и в итоге перегружаю флэш-плеер?

Я слышал о сборе мусорано я не знаю, как удалить видеообъект, чтобы он удалялся (и само видео) из памяти.

Когда я проверяю System.totalMemory, он добавляется каждый раз при загрузке нового видео,Я не могу понять, как удалить старые видео из памяти.

1 Ответ

0 голосов
/ 15 апреля 2011

Пожалуйста, не перепечатывайте вопросы Репост

    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);
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...