Я использую mx: videodisplay для воспроизведения видеофайлов (.flv и .mp4), и он отлично работает. Он делает то, что должен - он прекрасно воспроизводит видеофайл. Но каждый раз, когда я перезагружаю страницу, исходный видеофайл перезагружается на мой компьютер, что приводит к соответствующему увеличению объема памяти, используемой plugin-container.exe, до тех пор, пока не останется свободной памяти и он не будет работать.
Вот диспетчер задач после трех перезагрузок.
Перед первой перезагрузкой
http://i.stack.imgur.com/4PJDe.jpg
После третьей перезагрузки
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>