Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone Core Audio/OpenAL是否对音频文件重新采样?_Iphone_Core Audio_Openal - Fatal编程技术网

Iphone Core Audio/OpenAL是否对音频文件重新采样?

Iphone Core Audio/OpenAL是否对音频文件重新采样?,iphone,core-audio,openal,Iphone,Core Audio,Openal,我注意到,如果我的音频文件是caf 11250Hz单声道,它们的性能比44.1Khz单声道差。使用profiler跟踪它,我可以看到对于低采样率文件,最长的跟踪之一以LinearConverterInt32结尾。这在44.1KHz跟踪中不存在 我想使用较低的采样率文件来保持文件大小(最好是内存大小)较小 我注意到在我的日志文件中我得到了这个 音频流基本描述:2通道,44100 Hz,'lpcm'(0x00000C2C)8.24位小端有符号整数,解交错 所以我猜这就是它转换成的格式,但我不知道如何

我注意到,如果我的音频文件是caf 11250Hz单声道,它们的性能比44.1Khz单声道差。使用profiler跟踪它,我可以看到对于低采样率文件,最长的跟踪之一以LinearConverterInt32结尾。这在44.1KHz跟踪中不存在

我想使用较低的采样率文件来保持文件大小(最好是内存大小)较小

我注意到在我的日志文件中我得到了这个 音频流基本描述:2通道,44100 Hz,'lpcm'(0x00000C2C)8.24位小端有符号整数,解交错

所以我猜这就是它转换成的格式,但我不知道如何告诉它使用1CH,11250 Hz 16位


想法?

是的,核心音频可以重新采样,而且可能会,因为应用程序无法控制实际的硬件采样率。操作系统确实存在,这可能取决于设备类型、操作系统版本、应用程序的音频会话类型以及以前运行过或当前处于后台的任何其他应用程序(和/或月相等)。

如果要节省内存,应使用CAF文件格式的IMA 4:1压缩的44.1 kHz音频。不过,它确实会引入一些噪音,所以你应该做一些听力测试,看看它是否适合你。

最后,我使用了更高采样率的立体声文件,虽然内存性能和应用程序大小更差,但性能更好。你可以使用Core audio设置音频采样器音频单元的软件接口采样率,是的。但至少在一些较旧的设备型号上,实际的硬件DAC采样率并非如此。因此,操作系统或设备驱动程序可能需要进行一些重采样。事实上,我的理解是,所有音频在应用程序使用之前都是解压缩的,因此压缩后的IMA4仍将使用与未压缩PCM相同的内存,但它会使应用程序的总下载量变小。@johnbakers它在ram中使用的内存是没有意义的,因为它是缓冲的。