0

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

今度はもっと速くするために変更する必要があります。誰もが私がそれを行うことができる方法を知っていますか?

4

1 に答える 1

1

オーディオ セッション プロパティ kAudioSessionProperty_PreferredHardwareIOBufferDuration を使用して、より頻繁なオーディオ ユニット バッファ コールバックを要求できます。

于 2012-12-19T17:04:09.303 に答える