2011-12-15 14 views
1

Adobe空気で音声を生成するにはByteArrayを使用します。音はx秒の沈黙でなければなりません。私はバイトを生成するために使用しています。このコードが見つかりました:byteArrayとAdobe Airでx秒の無音オーディオファイルを生成

private function encode(data : ByteArray) : ByteArray 
{ 
    var channels : uint = 2; 
    var bits : uint = 16; 
    var rate : uint = 44100; 

    var bytes : ByteArray = new ByteArray(); 
    bytes.endian = Endian.LITTLE_ENDIAN; 

    bytes.writeUTFBytes('RIFF'); 
    bytes.writeInt(uint(data.length + 44)); 
    bytes.writeUTFBytes('WAVE'); 
    bytes.writeUTFBytes('fmt '); 
    bytes.writeInt(uint(16)); 
    bytes.writeShort(uint(1)); 
    bytes.writeShort(channels); 
    bytes.writeInt(rate); 
    bytes.writeInt(uint(rate * channels * (bits/8))); 
    bytes.writeShort(uint(channels * (bits/8))); 
    bytes.writeShort(bits); 
    bytes.writeUTFBytes('data'); 
    bytes.writeInt(data.length); 
    bytes.writeBytes(data); 
    bytes.position = 0; 

    return bytes; 
} 

をしかし、私はフラッシュファイルにのFileReferenceを使用してファイルを保存し、それをインポートするとき、私は、ファイルの読み取りに問題があったというエラーメッセージが表示されます。

+0

バイトコードをエンコード関数に渡していますか?バンドルされたアプリにデフォルトのsilent.mp3ファイルを含めることはできますか?そうであれば、このmp3ファイルを読み込み、読み込まれたmp3のbytearrayを使用して、filereferenceを使ってファイルに書き込むことができます。事実上コピーを作ること。または単にfilereference.copyToを使用してください – crooksy88

答えて

0

このオープンソースライブラリをチェックしてください。

http://code.google.com/p/micrecorder/downloads/list

それはマイクからの音声をキャプチャし、wavファイルとして保存します。

+0

私は何も記録したくありません。サイレントオーディオファイルを生成したい。 – Mattias

+0

wav file.soを生成する際にメタデータコードに問題があります。このコードでメタデータ注入コードを参照できます。 – sanjay

関連する問題