【问题标题】:Draw waveform for microphone in flex, is it possible?在flex中为麦克风绘制波形,可以吗?
【发布时间】:2010-10-08 06:48:34
【问题描述】:

我正在使用 Adob​​e Flex(麦克风,NetStream)制作录音机,我想从麦克风获取当前音频波以显示在可视化区域中,知道如何获取数据吗?

【问题讨论】:

  • 您只需要从麦克风获取数据流,还是还想知道如何将这些数据转换为波形图像?
  • 只是谷歌它......有大量的教程......
  • @JoshD 第一部分,请@Adrian 我把它贴在这里,因为我的谷歌搜索失败了

标签: apache-flex audio visualization waveform


【解决方案1】:

您需要使用 Flash Player 10,因为我认为这是您第一次真正获得对麦克风 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();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多