我正在为 iPhone 开发一个应用程序,它可以录制音频并保存该音频文件。我需要创建一个类似于带有 VU 表的语音备忘录应用程序的 UI。我实现了录制音频的代码,但我不知道 VU 表的实现。期待回复。提前致谢。
最佳答案
VU 表仅以对数刻度 (dB) 显示信号的短期幅度。您需要在短时间间隔(例如 10 ms)内连续测量信号的幅度 (RMS),然后将 RMS 幅度转换为 dB 并更新仪表显示。
RMS_signal (V) = sqrt(sum(x^2) / N)
其中 N 是样本数(例如,对于 44.1 kHz 采样率下的 10 ms 样本,N = 441)
Magnitude (dB) = 20.0 * log10(RMS_signal) + K
其中 K 是校准常数(dB 偏移)。
您可能还需要添加低通滤波器来平滑显示的幅度。请参阅stackoverflow.com/questions/2167513 .
关于iphone - iPhone 中的 VU 表实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2665643/