我正在使用 Adobe Flex(麦克风,NetStream)制作录音机,我想从麦克风获取当前音频波以显示在可视化区域中,知道如何获取数据吗?
问问题
1202 次
1 回答
1
您需要使用 Flash Player 10,因为我认为这是您第一次真正获得对 Microphone api 的访问权限。
然后你可以调用一个简单的函数来获取麦克风数据:
private var soundBytes:ByteArray = new ByteArray;
SoundMixer.computeSpectrum(soundBytes, false);
我通常在输入帧处理程序中调用 computeSpectrum 代码并从那里绘制波形。
编辑:我不想误导你。我认为上面的代码是用于预先录制的音频文件。如果您想在 flash 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();
}
}
于 2011-05-16T16:43:05.403 回答