2011-03-24 44 views

回答

1

Socket.writeBytes()會做你所需要的。

0

通過this link:

// serialization 
var serializedSound:ByteArray; 

serializedSound = serializeSound(sound); 
serializedSound.position = 0; 

// unserialization 
var newSound:Sound = new Sound(); 
newSound.addEventListener(SampleDataEvent.SAMPLE_DATA, deserialize); 
newSound.play(); 

function serializeSound(sound:Sound):ByteArray 
{ 
var result:ByteArray = new ByteArray(); 

while(sound.extract(result, 8192)){ 
result.position = result.length; 
} 

return result; 
} 

function deserialize(e:SampleDataEvent):void 
{ 
for (var c:int=0; c<8192; c++) { 
if(serializedSound.bytesAvailable < 2) break; 
e.data.writeFloat(serializedSound.readFloat()); 
e.data.writeFloat(serializedSound.readFloat()); 
} 
} 
0

你需要發送bytearray到PHP還是獲取bytearray?

用於發送字節組可以使用Zend_AMF: http://framework.zend.com/download/amf

這將處理所有的轉換,並在PHP,你將通過一個變量(我用的變量引用作爲獲得字節組作爲一個字符串:&$file保存在撥打方法的)

以下一些內存是一些代碼片斷,它可以幫助你: Sending ByteArray to Zend_Amf

對於獲得的ByteArray可以使用FileReference load()方法到g等一個本地文件的所有字節數組。

+0

我想寫我的本地系統視頻文件到服務器。我應該在flex 4中做什麼,這樣我就可以做到這一點。 – Vivek 2011-03-24 07:50:56

+0

我這樣做是這樣的: {的ByteArray} 但是當我使用上述代碼flashbuilder編輯器是顯示警告「數據綁定將無法檢測到字節數組的分配」,我做錯了。請指導。謝謝 – Vivek 2011-03-24 07:59:41

0

你知道,在創建Flex中視頻的ByteArray逐字存儲該視頻記憶吧?任何類型的大型或未壓縮的視頻都會使用大量的客戶端內存,如果Flash達到其內存限制,可能會導致錯誤。

我不認爲你會以正確的方式進行。我建議你做的只是將視頻上傳到服務器,然後再訪問服務器中的字節。如果你想上傳視頻到服務器,看看這裏的教程,它展示瞭如何從Flex上傳文件和PHP腳本來獲取和存儲文件:http://livedocs.adobe.com/flex/3/html/17_Networking_and_communications_7.html#118972

從這裏,PHP可以訪問字節如果你這麼傾向。

0

AS3代碼:

uploadURL = new URLRequest(); 
uploadURL.url = "upload.php?fileName=videotrack"; 
uploadURL.contentType = 'application/octet-stream'; 
uploadURL.method = URLRequestMethod.POST; 
uploadURL.data = rawBytes; 
urlLoader = new URLLoader(); 
urlLoader.addEventListener(Event.COMPLETE, completeHandler); 
urlLoader.load(uploadURL); 

rawBytes是要上傳到服務器的字節數組。

PHP代碼

$fileName = $_REQUEST['fileName'] . ".mp3"; 
$fp = fopen($fileName, 'wb'); 
fwrite($fp, $GLOBALS[ 'HTTP_RAW_POST_DATA' ]); 
fclose($fp); 

我已經使用了.mp3擴展名,因爲我的字節數組是從一個MP3文件中的數據,但您可以設定擴展到任何類型的文件的字節數組表示的。

希望這會幫助你。

相關問題