2009-08-10 8 views
1

i eine FLV-Video-Datei geladen i die Binärdaten dieser FLV-Datei in dem Speicher unter Verwendungflv video flex Kern

var myFile: File = File.documentsDirectory.resolvePath ("AIR Test/video.flv"); var myFileStream: FileStream = neuer FileStream(); myFileStream.open (myFile, FileMode.READ); var Bytes: ByteArray = neues ByteArray(); myFileStream.readBytes (Bytes); myFileStream.close();

Jetzt möchte ich einige Header dieser geladenen flv in Bytes Speichervariable ändern. aber nach dem Ändern der Kopfzeile wurde die geänderte Kopfzeile in Bytes Speichervariable gespeichert, die überschrieben wird.

jetzt, wie kann ich spielen, dass die FLV-Datei aus diesem Speicher (Bytes Speichervariable)

+0

Sie könnten dies als Luft und/oder Adobe-Air markieren. –

Antwort

0

Eine Möglichkeit wäre, das Bytes als eine temporäre Datei zu speichern und dann aus dem lokalen Dateisystem wiedergeben.

// write to temp file 
var f:File = File.createTempFile(); 
var fs:FileStream = new FileStream(); 
fs.open(f, FileMode.WRITE); 
fs.writeBytes(bytes); 
fs.close(); 

// play back 
var display:VideoDisplay; // created somehow 
display.source = f.url; 

Nicht sicher einige der Details (Ist die temporäre Datei eine Erweiterung .flv benötigen? Ist die Quell-URL müssen die native Pfad oder so sein?), Aber dieser Ansatz sollte innerhalb von AIR arbeiten.