Iphone 使用AVCaptureSession捕获和操作麦克风音频?

Iphone 使用AVCaptureSession捕获和操作麦克风音频?,iphone,objective-c,audio,microphone,avcapturesession,Iphone,Objective C,Audio,Microphone,Avcapturesession,虽然有很多关于如何使用AVCaptureSession获取摄像头数据的教程,但我找不到关于如何正确处理麦克风数据的信息(甚至在苹果的开发网络上) 我已经实现了AVCaptureAudioDataOutputSampleBufferDelegate,并且我正在收到对我的委托的调用,但是我不知道我得到的CMSampleBufferRef的内容是如何格式化的。缓冲区的内容是否为一个离散样本?它的特性是什么?在哪里可以设置这些属性 可以使用[AVCaptureVideoDataOutput setVid

虽然有很多关于如何使用AVCaptureSession获取摄像头数据的教程,但我找不到关于如何正确处理麦克风数据的信息(甚至在苹果的开发网络上)

我已经实现了AVCaptureAudioDataOutputSampleBufferDelegate,并且我正在收到对我的委托的调用,但是我不知道我得到的CMSampleBufferRef的内容是如何格式化的。缓冲区的内容是否为一个离散样本?它的特性是什么?在哪里可以设置这些属性


可以使用[AVCaptureVideoDataOutput setVideoSettings:]设置视频属性,但没有相应的AVCaptureAudioDataOutput调用(没有setAudioSettings或任何类似的调用)

它们的格式为LPCM!您可以通过如下方式获取AudioStreamBasicd描述来验证这一点:

CMFormatDescriptionRef formatDescription = CMSampleBufferGetFormatDescription(sampleBuffer);
const AudioStreamBasicDescription *streamDescription = CMAudioFormatDescriptionGetStreamBasicDescription(formatDescription);

然后检查流描述的mFormatId。

您看到WWDC 2010中“Wavy”应用程序的代码了吗。它获取麦克风数据并在屏幕上实时绘制。不,我没有,也没有找到它的副本。它使用了什么音频库/框架?在采样麦克风数据时,是否可以设置采样率并使用手机的硬件编码器?