gpt4 book ai didi

iphone - AudioQueue 捕获并返回不同的缓冲区大小

转载 作者:太空宇宙 更新时间:2023-11-03 23:34:31 25 4
gpt4 key购买 nike

我有一个基于 AudioQueue 的应用程序几乎可以完美运行。但是,我遇到了一个问题。当我调用 AudioQueueAllocateBuffer 时,我特别请求缓冲区大小为 512(因为我正在对数据执行 FFT)。然而,当回调触发时,我发现有时我得到的缓冲区大小小于 512。

这真让人生气。我唯一的解决方案是为传入数据设置某种内部缓冲来解决这些问题吗?为什么我为分配缓冲区指定了一个值,然后 iPhone 返回了不同数量的样本?

任何帮助将不胜感激,因为我快要发疯了。

干杯!

奥斯卡

最佳答案

您的解决方案是为传入的音频数据设置您自己的内部缓冲,直到缓冲了所需的数据量。

您分配的缓冲区大小表示可以填充该缓冲区的最大数据量,而不是最小数据量。音频队列 API 基于其他 iOS 音频 API,并且可能会根据许多事情改变其行为(底层 API 正在做什么, Audio Session 或其他应用程序请求的采样率,后台状态,操作系统版本、不同设备型号上的不同底层硬件等)即使是最低级别的公共(public)音频 API (RemoteIO) 也会根据情况更改其返回的缓冲区大小。

关于iphone - AudioQueue 捕获并返回不同的缓冲区大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7559872/

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