更改音频核心中回调之间的呼叫时间



我创建了自定义回调,用于使用 ExtAudioFile 为定时音乐应用程序实时混合声音。

OSStatus MyAURenderCallack (
   void                        *inRefCon,
   AudioUnitRenderActionFlags  *ioActionFlags,
   const AudioTimeStamp        *inTimeStamp,
   UInt32                      inBusNumber,
   UInt32                      inNumberFrames,
   AudioBufferList             *ioData
);

我需要更改调用每个回调的时间。

我正在检查每个新回调调用了多少个刻度......

soundStructPointerArray[inBusNumber].callTime=mach_absolute_time()-soundStructPointerArray[inBusNumber].last;
soundStructPointerArray[inBusNumber].last=mach_absolute_time();

在模拟器中,我得到了一个 ...11595773

我需要改变这个时间,以便更快。有人知道我该怎么做吗?

可以使用

音频会话属性kAudioSessionProperty_PreferredHardwareIOBufferDuration请求更频繁的音频单元缓冲区回调。

最新更新