2011-08-19 55 views
3

我正在尝试使用AUGraph中的发生器音频单元,子类型audioFilePlayer正在播放的音轨同步可视化器。如何使用Core Audio的时钟API?

我想使用Core Audio的时钟API,但我没有太多的信息。我发现thisthis

有没有人知道一个很好的例子在英文或此API的任何文档?

回答

2

答案是几乎不存在的文件,我发现的唯一参考了苹果的列表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
+0

嘿justnS,谢谢你的这个链接。我以前从未见过这个消息来源。我不确定Clock API是否有任何内容,但这里有很多内容,所以需要一些时间才能完成。 – Mark

+0

链接转到404 @justinself – fionbio

+0

对不起@fionbio。这个答案差不多5年前。我猜它已经消失了。反正可能已经过时了。 –