Core Audio / OpenAL 会重新采样音频文件吗?
Posted
技术标签:
【中文标题】Core Audio / OpenAL 会重新采样音频文件吗?【英文标题】:Does Core Audio / OpenAL resample audio files? 【发布时间】:2010-11-11 16:23:34 【问题描述】:我注意到,如果我的音频文件是 caf 11250Hz 单声道,它们的性能会比 44.1Khz 单声道差。使用分析器跟踪它,我可以看到对于低采样率文件,最长的跟踪之一以 LinearConverterInt32 结尾。这在 44.1KHz 轨迹中不存在。
我想使用较低的采样率文件来减小文件大小(希望是内存大小)。
我在我的日志文件中注意到我得到了这个 AudiostreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved
所以我猜这是它要转换的格式,但我不知道如何告诉它使用 1 ch,11250 Hz 16 位。
想法?
【问题讨论】:
【参考方案1】:是的,Core Audio 可以重新采样,并且可能会这样做,因为应用无法控制实际的硬件采样率。操作系统会,可能取决于设备类型、操作系统版本、应用程序的音频会话类型以及以前运行或当前处于后台的任何其他应用程序(和/或月相等) .)
【讨论】:
最后我使用了更高采样率的立体声文件,虽然内存性能和应用程序大小更差,但性能更好。 您可以使用Core audio设置音频采样率 音频单元的软件接口采样率,是的。但至少在某些较旧的设备型号上不是实际的硬件 DAC 采样率。因此,操作系统或设备驱动程序可能需要重新采样。【参考方案2】:如果您想节省内存,您应该使用 44.1 kHz 音频,使用 IMA 4:1 压缩为 CAF 文件格式。不过,它确实会带来一些噪音,所以你应该做一些听力测试,看看它是否适合你。
【讨论】:
其实我的理解是所有的音频在被应用使用之前都是未压缩的,因此压缩的 IMA4 仍然会占用与未压缩的 PCM 相同的内存,但它会使整个下载大小应用更小。 @johnbakers 它在 ram 中使用多少内存是没有意义的,因为它是缓冲的。以上是关于Core Audio / OpenAL 会重新采样音频文件吗?的主要内容,如果未能解决你的问题,请参考以下文章
IOS音频1:之采用四种方式播放音频文件AudioToolbox AVFoundation OpenAL AUDIO QUEUE