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