マイクからキャプチャされた ByteArray からサウンドを再生しようとしています。マイクからサウンドが聞こえることを期待していますが、ランダムで歪んだサウンドしか得られません。これは私が今使っているコードです:
var playBa:ByteArray;
var player:Sound = new Sound();
sound.addEventListener(SampleDataEvent.SAMPLE_DATA, playMic);
sound.play();
var mic:Microphone = Microphone.getMicrophone();
mic.gain = 100;
mic.rate = 44;
mic.setSilenceLevel(0, 4000);
mic.addEventListener(SampleDataEvent.SAMPLE_DATA, onMicSample);
function playMic(e:SampleDataEvent):void
{
if (playBa != null) e.data.writeBytes(playBa, 0, playBa.length);
}
function onMicSample(e:SampleDataEvent):void
{
playBa = e.data;
playBa.position = 0;
player.play();
}
そして、数秒間歪んだ音の後、これが出力ウィンドウに表示されたものです。
RangeError: Error #2004: One of the parameters is invalid.
at flash.media::Sound/play()
at vclass_fla::MainTimeline/onMicSample()
私を助けてください。私はAS3とここにまったく新しいです。どんな助けでも大歓迎です。ありがとう。