1、使用 AudioUnitRender从麦克风获取数据,代码如下,但是出现50错误。
//调用render从麦克风获取数据。注意:此处busnumber必须设置为1.因为对remoteio来说,1是input,0是output
err = AudioUnitRender(inputUnit, ioActionFlags, inTimeStamp, 1, inNumberFrames, ioData);
该错误为remoteIO的steamformat设置错误。正确如下:
AudioUnitSetProperty(inputUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &asbd, sizeof(asbd));
AudioUnitSetProperty(inputUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &asbd, sizeof(asbd));