ios - 是否可以检查音频缓冲区的填充量?

标签 ios core-audio audiobuffer

是否可以检查填充了多少音频缓冲区?我有一个正在运行的应用程序,它可以像振荡器一样在屏幕上绘制音频缓冲区,但是当我触摸屏幕时,我想停止捕获并绘制当前缓冲区。所以我需要找出缓冲区填充了多少并绘制它。我当前的缓冲区大小是 256。

是否可以通过 iOS 中的音频缓冲区来实现?

谢谢。

最佳答案

当您调用 AudioUnitRender 时,它会向您传递一个完整的缓冲区。

缓冲区大小为 256 帧,假设您以 44100 帧/秒(或什至 11025)的速度运行,缓冲区是否满似乎不太可能存在实际差异,因为我们我们谈论的是这么短的一秒。

我不确定您的应用程序是什么,但您可能想要考虑存储更多数据并渲染超过一个缓冲区长度,以便无论如何都能获得可用数据。例如,在 256 帧缓冲区中,220Hz 的音符 A 在 44.1K 的波形中仅略多于一个周期。

关于ios - 是否可以检查音频缓冲区的填充量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15424204/

相关文章:

ios - 设置调用 RemoteIO 音频单元呈现回调的速率

ios - AudioUnit inputCallback with AudioUnitRender -> audioBufferList.mBuffers[0].mDataByteSize != inNumberFrames 之间不匹配

ios - CoreData FetchRequest 问题

ios - 如何使用另一个 View Controller 类的数组?

iOS CBPeripheral 连接问题

ios - Swift : Trying to convert MIDI to Audio File 中的 AudioUnitRender 和 ExtAudioFileWrite 错误 -50

ios - 如何在 iPhone 中使用 AudioBuffer 写入从麦克风本地录制的音频文件?

ios - 在变量中使用闭包时,swift 变量和函数有什么区别?

objective-c - 音频文件播放无音量

ios - iOS 多声道输出的正确音频格式是什么?