注:エラー #2084 - 引数の AMF エンコーディングは 40K を超えることはできません 。私の問題は異なります。私の配列は 0 ではなく、40960 未満です。
私のコードは単純なものです。このリンクからこの mp3 レコーディング fla を取得しました: http://www.jordansthings.com/blog/?p=5 これは、shinemp3 エンコーダーを使用します。
録音した音を保存するのではなく、再生したかっただけです。そこで、録音したファイルを保存するボタンに以下を追加しました。
private function onWavClick(e:MouseEvent)
{
// WRITE ID3 TAGS
var sba:ByteArray = mp3Encoder.mp3Data;
sba.position = sba.length - 128
sba.writeMultiByte("TAG", "iso-8859-1");
sba.writeMultiByte("Microphone Test 1-2, 1-2 "+String.fromCharCode(0), "iso-8859-1"); // Title
sba.writeMultiByte("jordansthings "+String.fromCharCode(0), "iso-8859-1"); // Artist
sba.writeMultiByte("Jordan's Thingz Bop Volume 1 "+String.fromCharCode(0), "iso-8859-1"); // Album
sba.writeMultiByte("2010" + String.fromCharCode(0), "iso-8859-1"); // Year
sba.writeMultiByte("www.jordansthings.com " + String.fromCharCode(0), "iso-8859-1");// comments
sba.writeByte(57);
//new FileReference().save(sba, "FlashMicrophoneTest.mp3") // this saves the file. I don't need it.
// my addition
var snd:Sound = new Sound();
var channel:SoundChannel = new SoundChannel();
trace(sba.length);
snd.loadCompressedDataFromByteArray(sba,sba.length);
channel = snd.play();
}
さらに、これが機能しても... 40Kを超える配列をロードできませんか???