【发布时间】:2011-10-30 08:56:24
【问题描述】:
我正在尝试将可视化工具与正在使用生成器音频单元播放的音轨同步,该音频轨道是 AUGraph 中的子类型 audioFilePlayer。
我想使用 Core Audio 的 Clock API,但那里没有太多信息。我找到了this 和this。
有没有人知道一个很好的英文例子或关于这个 API 的任何文档?
【问题讨论】:
标签: objective-c core-audio clock audiounit
我正在尝试将可视化工具与正在使用生成器音频单元播放的音轨同步,该音频轨道是 AUGraph 中的子类型 audioFilePlayer。
我想使用 Core Audio 的 Clock API,但那里没有太多信息。我找到了this 和this。
有没有人知道一个很好的英文例子或关于这个 API 的任何文档?
【问题讨论】:
标签: objective-c core-audio clock audiounit
【讨论】:
答案是几乎没有文档,我发现的唯一参考资料是 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 来获得秒数。
【讨论】: