读取Cocoa中的音频输入电平峰值

时间:2010-04-26 23:33:59

标签: cocoa audio

我正在尝试制作音频动画,为此,我正在寻找一种查找当前音频电平的方法。我正在寻找一定时间内的峰值。 (想想在音频表上停留一秒左右的红色条。)

我一直在寻找类似的东西,我唯一能找到的是如何阅读电影的音频电平,以及Quartz Compositions如何通过他们的iTunes Visualizer协议访问它。

我正在寻找一种从麦克风中读取此内容的方法,但如果您知道如何从音频文件中读取此内容,我也会感兴趣。

谢谢!

3 个答案:

答案 0 :(得分:2)

Take a look here.您需要一种“包络检测器”方法,或“简单的高峰追随者”。

如果您这样做,迟早您将需要该网站的其他算法。

答案 1 :(得分:2)

我正在寻找同样的事情并且发现了你的帖子。我找到了答案。您需要QTCaptureConnection到音频设备,然后您可以监视连接的QTCaptureConnectionAudioAveragePowerLevelsAttribute属性。请参阅此示例项目以显示详细信息:here

答案 2 :(得分:0)

您可以使用AudioQueue服务来记录缓冲区,然后在每个16位样本上使用for循环来查找峰值。您可以对输出执行相同操作。