如何使用Core Audio的Clock API?

时间:2011-08-19 06:29:22

标签: objective-c core-audio clock audiounit

我正在尝试将可视化工具与正在使用生成器音频单元播放的音频轨道同步,AUGraph中的子类型audioFilePlayer。

我想使用Core Audio的Clock API,但我没有太多信息。我找到了thisthis

有没有人知道这个API的英文或任何文档的好例子?

2 个答案:

答案 0 :(得分:2)

答案是几乎没有文档,我发现的唯一参考是Apple list serv,声明它不是一个完全开发的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 :(得分:1)