我正在使用Adobe Flex制作录音机(麦克风,NetStream),我想从麦克风中获取当前音频波以显示在可视化区域,任何想法如何获取数据?
答案 0 :(得分:1)
您需要使用Flash Player 10,因为我认为这是您第一次真正访问Microphone apis。
然后你可以调用一个简单的函数来获取麦克风数据:
private var soundBytes:ByteArray = new ByteArray;
SoundMixer.computeSpectrum(soundBytes, false);
我通常在输入框处理程序中调用computeSpectrum代码并从那里绘制波形。
编辑:我不想误导你。我认为上面的代码是针对预先录制的音频文件。如果你想在闪存10中使用麦克风,你可以这样做:
private var _mic:Microphone;
_mid = Microphone.getMicrophone();
_mic.addEventListener( SampleDataEvent.SAMPLE_DATA, onSampleData );
protected function onSampleData( event:SampleDataEvent ):void {
while( event.data.bytesAvailable ){
var n:Number = event.data.readFloat();
}
}