gpt4 book ai didi

ios - iOS 10.2 上的 Swift 3 : How can I subscribe to individual samples from the microphone? 需要实时处理音频

转载 作者:行者123 更新时间:2023-11-30 12:37:11 26 4
gpt4 key购买 nike

我正在尝试构建一个适用于 iOS 10.2 的应用程序,该应用程序通过实时处理麦克风输入来工作。出于此应用程序的目的,我需要能够在麦克风每次接收到 PCM 音频的每个单独样本时执行计算。

我有一个使用 AudioUnits 和 AVAudioSession 来使用麦克风的原型(prototype),它使用 AURenderCallback 函数每隔几毫秒轮询一次麦克风,并提取自上次采样以来收集的样本,但这对于我的用例来说太慢且不可靠。

是否有类似的事件,我可以处理来提取样本,然后在每次麦克风录制单个音频样本时执行我的代码?我该怎么做?

最佳答案

如果您发现 iOS 音频渲染回调不可靠,则可能是您的代码中出现了错误(尝试对每个样本进行过多处理,或者在音频单元回调之外使用它们等)。请参阅我的示例 RemoteIO在此记录代码RecordAudio.swift gist .

较旧的 iOS 设备可能会被限制为至少 5.8 毫秒的缓冲区,当应用程序处于后台时甚至会更长。在较新的 iOS 设备上,您也许能够获得少至 16 个样本的可靠渲染回调。但没有理由如此频繁地处理样本,因为 iOS 硬件 IO DMA 以及 ADC 和 DAC 的延迟可能比 16 个样本大得多,而且显示仅以 60 Hz 的频率更新。

关于ios - iOS 10.2 上的 Swift 3 : How can I subscribe to individual samples from the microphone? 需要实时处理音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42727442/

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