Cocoa touch 从AVAudioRecorder获取正在进行的录制数据段

Cocoa touch 从AVAudioRecorder获取正在进行的录制数据段,cocoa-touch,audio,nsdata,avaudiorecorder,Cocoa Touch,Audio,Nsdata,Avaudiorecorder,我的问题如下: 我需要捕获每320字节的原始音频数据。 我使用一个每0.02秒触发一个方法的NSTimer来实现这一点,这是因为我需要录制8000Hz和16位单声道音频,我计算出它应该是每秒50倍8000*16/320/8 因此,知道AVAudioRecorder会保存到一个文件中,我可以通过[[NSData data WITH CONTENTS OFURL:[audioRecorder url]]SUBSDATA WITH RANGE:NSMAKERANGE BYTESSUSED,320]从该

我的问题如下:

我需要捕获每320字节的原始音频数据。 我使用一个每0.02秒触发一个方法的NSTimer来实现这一点,这是因为我需要录制8000Hz和16位单声道音频,我计算出它应该是每秒50倍8000*16/320/8

因此,知道AVAudioRecorder会保存到一个文件中,我可以通过[[NSData data WITH CONTENTS OFURL:[audioRecorder url]]SUBSDATA WITH RANGE:NSMAKERANGE BYTESSUSED,320]从该文件中每隔320字节获取一次数据,但让我困惑的是,在我开始录制时,数据文件的大小是4096字节,然后在0.5秒后,它是9424字节,每半秒增加约5,3k字节

因此,如果我得到了正确的数据,并且认为设置可能是错误的,我会感到困惑。 AVAudioRecorder的当前设置为:

因此,主要问题是: 我应该使用什么设置? 这是从正在进行的音频录制中获取片段的正确方法吗

我为错误的解释道歉,一定要问一些问题来帮助我理解

[NSNumber numberWithInt:kAudioFormatLinearPCM], AVFormatIDKey,  
[NSNumber numberWithInt:16], AVLinearPCMBitDepthKey,  
[NSNumber numberWithInt:AVAudioQualityMin], AVEncoderAudioQualityKey,  
[NSNumber numberWithInt:16], AVEncoderBitRateKey,  
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,  
[NSNumber numberWithFloat:8000.0], AVSampleRateKey,