首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS -在应用程序后台运行的异步时钟

iOS -在应用程序后台运行的异步时钟
EN

Stack Overflow用户
提问于 2012-11-02 19:04:46
回答 2查看 211关注 0票数 0

我正在做一个音频应用程序,我需要为不同的声音实时操作音频缓冲区。我需要一个在后台运行的异步时钟,我可以在各种回调中提取精确到毫秒的时间,用于各种音频操作目的,如音频播放的停止和开始时间,以及录制和停止录制的时间。

我需要它的精度允许我确定由各种进程造成的延迟,并在我的代码中对其进行补偿。

如何在iOS中实现这样的时钟?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-03 05:25:35

如果您正在使用RemoteIO音频单元并从音频会话请求非常短的音频缓冲区,则计数回调缓冲区中的远程回调和PCM样本似乎是将音频与亚毫秒分辨率对齐的最精确方法。其他任何东西都将根据回调之间的延迟量而关闭。

您还可以在mach_time.h头中使用计时器来进行相当精确的单调时间测量,但这不会与音频播放速率同步,也不会考虑子系统之间的各种延迟。

票数 1
EN

Stack Overflow用户

发布于 2012-11-02 19:11:31

如果您还没有这样做,我强烈建议您研究一下AVFoundation Framework,并使用Core Audio。考虑到对准确性的需求,您可以忘记原生NSTimer和NSDate选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13193975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档