Firefox的插件容器在使用视频显示时崩溃

时间:2011-05-16 16:04:24

标签: flash flex firefox video videodisplay

我正在使用mx:videodisplay播放视频文件(.flv和.mp4),它运行正常。它做了它应该做的事情 - 它完美地播放视频文件。但每次重新加载页面时,源视频文件都会重新加载到我的计算机上,这会导致plugin-container.exe使用的内存相应增加,直到没有剩余可用内存并且崩溃为止。

这是三次重新加载后的任务管理器。

首次重装前

first http://i.stack.imgur.com/4PJDe.jpg

第三次重装后

third http://i.stack.imgur.com/Yivtk.jpg

所以我的问题是:重新加载页面后,有没有办法删除下载的文件?

如果您想知道我为什么需要重新加载页面。问题是,我正在开发的网站必须能够播放许多不同的视频文件,而不仅仅是一个。只要我的网站选项卡在Firefox中打开,插件容器使用的内存就不会减少。关闭选项卡后,内存将被释放。但看完每个视频后,离开网站,重新进入,然后重新登录是非常不方便的。

这是脚本。它实际上是一个缩略图,在两秒钟(间隔)后显示视频的四个帧(重复)。

<?xml version="1.0" encoding="utf-8"?>
  <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
 <mx:Script> 
    <![CDATA[
        [Bindable] 
        public var source:String;
        [Bindable]
        public var repeat:int=4;
        [Bindable]
        public var interval:int=2; 
        private var timer:Timer;
        import mx.events.VideoEvent;

        private function init():void{
            timer = new Timer(interval*1000,0);
            timer.addEventListener(TimerEvent.TIMER, switchThumbnail);
        }
        private function startTimer():void {
            vid.play();
            vid.pause();
            vid.playheadTime=vid.totalTime/repeat;
            timer.start();          
        }

        private function resetTimer():void {
            vid.stop();
            vid.close();
            timer.reset();
        }

        private function switchThumbnail(event:TimerEvent):void{
            vid.playheadTime=vid.playheadTime+vid.totalTime/repeat;
            if(vid.playheadTime>=vid.totalTime){
                vid.playheadTime=0;
            }
        }
    ]]>
</mx:Script>

<mx:Canvas>
    <mx:VideoDisplay id="vid" source="{source}" autoPlay="false" rollOver="startTimer()" rollOut="resetTimer()" volume="0" maintainAspectRatio="false" width="{width}" height="{height}"/>      
</mx:Canvas>

即使这个脚本也存在同样的问题:

<?xml version="1.0" encoding="utf-8"?>
  <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" >
<mx:Script> 
    <![CDATA[
        [Bindable] 
        public var source:String;
    ]]>
</mx:Script>

<mx:Canvas>
  <mx:VideoDisplay id="vid" source="{source}" autoPlay="false" volume="0" maintainAspectRatio="false" width="{width}" height="{height}"/>
</mx:Canvas>

0 个答案:

没有答案