您的位置:首页 > 其它

audiounit在6s下录音不正常的问题

2015-11-11 16:17 218 查看
AudioStreamBasicDescription.mSampleRate = 8000不要变

关键是以下代码:

static OSStatus recordingCallback(void *inRefCon,

AudioUnitRenderActionFlags *ioActionFlags,

const
AudioTimeStamp *inTimeStamp,

UInt32 inBusNumber,

UInt32 inNumberFrames,

AudioBufferList *ioData) {

OSStatus status;

AudioBufferList bufferList; //此缓存一定要记得动态设置

UInt16 numSamples=inNumberFrames*1;

UInt16 samples[numSamples];

memset (&samples, 0, sizeof (samples));

bufferList.mNumberBuffers = 1;

bufferList.mBuffers[0].mData = samples;

bufferList.mBuffers[0].mNumberChannels = 1;

bufferList.mBuffers[0].mDataByteSize = numSamples*sizeof(UInt16);

status = AudioUnitRender([PAIOUnit sharedUnit].audioUnit,

ioActionFlags,

inTimeStamp,

inBusNumber,

inNumberFrames,

&bufferList);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: