gpt4 book ai didi

ios - 使用 GCD 构建节拍器但在屏幕锁定时声音播放不均匀

转载 作者:行者123 更新时间:2023-11-29 01:55:20 25 4
gpt4 key购买 nike

我正在使用 GCD 触发一个周期性播放滴答声的循环。

我还使用 AVAudioSessionCategoryPlayback 配置了我的 AVAudioSession ,并使用音频后台模式编辑了 info.plist 文件以启用后台执行。

这在应用程序中或进入后台时效果很好。但是,当屏幕锁定时,声音播放非常不均匀。听起来像 dick-dick-dick---dickdick-dick-dick-dick

我在debug模式下锁屏运行,日志按预期均匀输出。所以我猜测可能是音频问题。

我花了很多时间使用不同的音频引擎和库,但没有一个能改善这种情况。

制作自己的循环音频是可行的方法吗?我知道 AudioQueue 可能会有帮助,但不知道从哪里开始。

任何想法都非常感激。

最佳答案

GCD 不保证计时具有音频计时所需的精度。如果您希望它对音乐家(尤其是鼓手)有用,您需要将抖动降至 <20 毫秒,最好是 <10 毫秒或 <5 毫秒。

AudioQueue 或 Audio Units 可能是最佳选择(我推荐 AudioQueue)。您需要对声音流进行样本级访问,您可以在其中以 22/44/48kHz 分辨率精确写入样本,这正是您所需要的。如果您对样本进行计数,那么只要 CPU 能够满足音频硬件的需求,您就可以保证滴答声会在正确的时间发生。

如果您沿着这条路线走下去,您将需要快速了解样本、交错和缓冲区大小。

关于ios - 使用 GCD 构建节拍器但在屏幕锁定时声音播放不均匀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30931481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com