我的问题如下:
我需要捕获每个 320字节的原始音频数据 我通过使用每0.02秒触发一次方法的NSTimer来做到这一点 - 这是因为我需要记录8000Hz和16bit单声道音频,并且我已经计算出它应该是每秒50x(8000 * 16/320/8)。
因此,知道AVAudioRecorder
保存到文件,我可以通过[[NSData dataWithContentsOfURL:[audioRecorder url]] subdataWithRange:NSMakeRange(bytesUsed, 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,
所以主要问题是:
我应该使用哪些设置?
这是从正在进行的录音中获取片段的正确方法吗?
我为糟糕的解释道歉,请提出问题以帮助我让它变得更容易理解。