我想知道是否可以重新采样已经编写的AVAudioFile
.
我发现的所有参考资料都不适用于这个特定问题,因为:
- 他们建议在用户录制时重新采样
AVAudioFile
,而installTap
正在运行。在这种方法AVAudioConverter
中,每个缓冲区块中的工作由 给出,inputNode
并将其附加到AVAudioFile
. [1] [2]
关键是无论录制过程如何,我都想重新采样我的音频文件。
更难的方法是通过 L 因子对信号进行上采样,并使用vDSP以 M 因子应用抽取:
光盘上的音频具有 44.1 kHz 的采样率;要将其传输到使用 48 kHz 的数字媒体,可以使用上述方法 1,L = 160,M = 147(因为 48000/44100 = 160/147)。对于反向转换,交换 L 和 M 的值。如上所述,在这两种情况下,低通滤波器都应设置为 22.05 kHz。[3]
最后一个显然似乎是一种过于硬编码的方法来解决它。我希望有一种方法可以使用AVAudioConverter 对其进行重新采样,但它缺少文档:(