我编写了一个V3 AudioUnit,并使用AVAudioUnit托管它。我的呈现回调是用512帧调用的,这对我的应用程序(合成器)来说太迟了。
是否有一种使用AVAudioEngine 来设置处理缓冲区大小的方法?还是我需要直接使用CoreAudio?
注意:这是在OSX10.11上。
发布于 2015-10-09 06:43:06
以下是其中的诀窍:
static OSStatus SetCurrentIOBufferFrameSize(AudioUnit inAUHAL,
UInt32 inIOBufferFrameSize)
{
return AudioUnitSetProperty(inAUHAL,
kAudioDevicePropertyBufferFrameSize,
kAudioUnitScope_Global,
0,
&inIOBufferFrameSize, sizeof(UInt32));
}..。
_audioEngine = [[AVAudioEngine alloc] init];
SetCurrentIOBufferFrameSize(_audioEngine.inputNode.audioUnit, 32);https://stackoverflow.com/questions/33030913
复制相似问题