Как использовать Clock Audio от Core Audio? - PullRequest
3 голосов
/ 19 августа 2011

Я пытаюсь синхронизировать визуализатор с аудиотреком, который воспроизводится с аудиоустройством генератора, подтипом audioFilePlayer в AUGraph.

Я бы хотел использовать Clock API от Core Audio, но там не так много информации.Я нашел this и this .

Кто-нибудь знает хороший пример на английском или какие-либо документы по этому API?

Ответы [ 2 ]

2 голосов
/ 24 августа 2011

Ответ заключается в том, что документации почти нет, и единственной ссылкой, которую я нашел, был список рассылки Apple, заявляющий, что это не полностью разработанный API.

Вместо этого, если вам нужны данные о звуковых часах, зарегистрируйте обратный вызов рендеринга с помощью аудиоустройства вашего генератора следующим образом.

AudioUnitAddRenderNotify(m_generatorAudioUnit, auRenderCallback, this);


OSStatus auRenderCallback (
                      void                        *inRefCon,
                      AudioUnitRenderActionFlags  *ioActionFlags,
                      const AudioTimeStamp        *inTimeStamp,
                      UInt32                      inBusNumber,
                      UInt32                      inNumberFrames,
                      AudioBufferList             *ioData
                      )
{      
    AudioEngineModel* pAudioEngineModel= (AudioEngineModel*)inRefCon;
    pAudioEngineModel->m_f64SampleTime= inTimeStamp->mSampleTime;

    return noErr;
}

Вы можете получить секунды, разделив mSampleTime на sampleRate.

1 голос
/ 19 августа 2011
...