2016-07-19 138 views
0

我使用Adobe Flash Professional CS6 + as3,並且我有一個按鈕可以下載或保存爲桌面視頻,但不會執行它?爲什麼?錯誤在哪裏?按鈕將視頻保存爲桌面

import fl.video.FLVPlayback; 
import flash.display.StageAlign; 
import flash.events.Event; 
import flash.display.MovieClip; 
import flash.display.StageScaleMode; 
import flash.media.SoundMixer; 



myVideoPlayer.source = ""; 
addChild (myVideoPlayer); 

function loadMyVideo (url:String):void 
{ 
    myVideoPlayer.source = url; 
    myVideoPlayer.visible = true; 
} 


videosaveas.addEventListener (MouseEvent.CLICK, videosaveas2); 
function videosaveas2 (e:Event):void 
{ 

    file = new FileReference(); 
    var fileReference:FileReference=new FileReference(); 
    file.save (ByteData, "video.mp4"); 
} 
+0

有很多例子只是使用你最喜歡的SE進行一些研究; [1](http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7cf8.html#WSD7D78288-ADD8-422d-AF79-AE803643F71F),[2](http://stackoverflow.com/a/2974055/2256820),[3](http://code.tutsplus.com/tutorials/quick-tip-download-files-via-swfs-using-filereference-active-9068),... – akmozo

+0

這是AIR應用程序還是Flash Player?你覺得你會怎麼發佈它? – akmozo

+0

@akmozo我想要兩個人在一起..非常緊急。 「 AIR和AS3 凡爲什麼不執行它的 非常感謝您 – FlashGirl

回答

1

我不知道,如果你知道Flash Player的應用程序和空氣之間的區別之一,但我會把一個例子離線Flash播放器的應用程序下載一個文件,該文件在同一目錄SWF。

要加載文件,我將使用一個URLLoader對象,然後使用FileReference將其保存。

在這裏,不要忘記FileReference.save()只有在用戶操作(如鼠標點擊或按鍵)後才被允許。例如,對於這兩個操作,我將使用相同的按鈕(用戶應該按兩次按鈕以獲取保存文件對話框)。

var url_loader:URLLoader; 

// at the first, we use the button to load the file 
btn_download.addEventListener(MouseEvent.CLICK, load_the_file); 

function load_the_file(e:MouseEvent): void { 
    url_loader = new URLLoader(); 
    url_loader.dataFormat = URLLoaderDataFormat.BINARY; 
    url_loader.addEventListener(Event.COMPLETE, function(e:Event){ 
     btn_download.removeEventListener(MouseEvent.CLICK, load_the_file); 
     // then we use the same button to download the file 
     btn_download.addEventListener(MouseEvent.CLICK, download_the_file); 
    }) 
    url_loader.load(new URLRequest('file_path.ext')); 
} 

function download_the_file(e:MouseEvent): void { 
    var file_reference:FileReference = new FileReference() 
     file_reference.save(url_loader.data, 'default_file_name.ext'); 
    btn_download.removeEventListener(MouseEvent.CLICK, download_the_file); 
} 

在這裏,用一個按鈕僅僅是一個例子,所以你可以,例如,顯示加載消息,用另一種方式來加載文件時,用兩個按鈕,...

,則對於在線應用程序(web應用程序),你可以使用,例如,FileReference.download()

var file_ref:FileReference = new FileReference(); 
    file_ref.download(new URLRequest('http://www.example.com/file_path.ext')); 

對於AIR,你有很多的使用FileFileStreamFileReference類可能性,你有很多例子在網上...

希望能有所幫助。

+0

首先,感謝你對我的幫助的問題.. 視頻顯示了在工作從文件夾 \影片.. 我只是想保存它再次在,例如,桌面.. – FlashGirl

+0

@FlashGirl我不明白你的問題,該代碼是保存在用戶選擇的任何目錄中的文件,你試過嗎? – akmozo

+0

是的,我試過了 但它顯示我一個保存的窗口 而我想保存的視頻出現在我面前??? – FlashGirl