【问题标题】:How to use Core Audio's Clock API?如何使用 Core Audio 的 Clock API?
【发布时间】:2011-10-30 08:56:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: objective-c core-audio clock audiounit


    【解决方案1】:

    【讨论】:

    • 您好 justnS,感谢您提供此链接。我以前没见过那个来源。我不确定 Clock API 上是否有任何内容,但这里有很多材料,所以我需要一些时间来完成它。
    • 链接转到 404 @justinself
    • 对不起@fionbio。这个答案已经有将近 5 年的历史了。估计没了反正可能已经过时了。
    【解决方案2】:

    答案是几乎没有文档,我发现的唯一参考资料是 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 来获得秒数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 2021-08-30
      • 1970-01-01
      • 2011-11-10
      • 1970-01-01
      相关资源
      最近更新 更多