0

video-1.flv、video-2.flv、video-3.flv、video-4.flv、video-5.flv のような 5 つのビデオ ファイルがあります。最初に video-1.flv を読み取り、以下のコードを使用して byteArray に格納します。

private var byteArray = new byteArray();
byteArray = readFile(VIDEO-FILE-PATH);

private function readFile(fileName:String):ByteArray
{
    var data:ByteArray = new ByteArray();
    var inFile:File = File.applicationDirectory; // source folder is application
    inFile = inFile.resolvePath(fileName);  // name of file to read
    var inStream:FileStream = new FileStream();
    inStream.open(inFile, FileMode.READ);
    inStream.readBytes(data, 0, data.length);
    inStream.close();

    return data;
}

ここで、video-2.flv から video-5.flv までの次の動画を読み込んで、同じ byteArray に保存したいと考えています。

これどうやってするの。コード サンプルまたは Web リンクをいただければ幸いです。

4

1 に答える 1

1

すべてのファイルに同じ byteArray を使用できます。データは自動的に追加されます。バッファーをreadFileメソッドに渡して削除するだけdata.lengthです (最初の読み取りでは 0 であるため、使用可能なすべてのデータを読み取り、次の読み取りでは新しいファイルを読み取ります。行内のすべての前のバッファの長さ) inStream.readBytes(data, 0, data.length);。例:

var buffer:ByteArray = new ByteArray();
for(var i:int = 1; i < 6; i++)
{
    readFile("video-"+i+".flv", buffer);
}

private function readFile(fileName:String, buffer:ByteArray):ByteArray
{
    var inFile:File = File.applicationDirectory; // source folder is application
    inFile = inFile.resolvePath(fileName);  // name of file to read
    var inStream:FileStream = new FileStream();
    inStream.open(inFile, FileMode.READ);
    inStream.readBytes(buffer);
    inStream.close();

    return buffer;
}
于 2013-01-23T07:41:34.387 に答える