有没有办法可以在我的 iPhone 应用程序中将 mp3 文件转换为 wav/aiff 文件?我有一个 mp3,但我想将它与其他文件合并,而我知道可以做到这一点的唯一方法是使用 PCM 格式。
有人可以帮我从这里出去吗?
Thanks.
我尝试过的一些事情
我尝试使用 AudioConverterFillComplexBuffer() 方法及其回调将 mp3 转换为 caf,但每个数据包和每个帧的字节读取为 0。我有什么想法或是否可以使用此函数?
再次感谢。
WAV 和 AIFF 通常(通常?)包含 PCM,那么有什么异议呢?或者您是说您必须将 MP3 数据获取到 PCM 才能进行混合(可能在多通道混音器音频单元中)。如果你真的想这样做,请查看 Core Audio,具体如下:
- 音频文件服务(读取 MP3 格式并写入 AIFF 或 WAV)
- 音频文件转换服务(将 MP3 数据转换为 PCM,和/或如果要写入文件,则将 PCM 编码为其他编解码器)。请注意,给定的转换器无法在两种编码格式之间进行转换;您可以将 MP3 转换为 PCM 或将 PCM 转换为 AAC,但是要将 MP3 转换为 AAC,您需要两个转换器。
- 扩展音频文件服务,结合了上述两者。
查看转换文件示例在核心音频 SDK 中。这将打开一个源文件进行读取,描述目标文件所需的格式,从一个文件读取缓冲区并将其写入另一个文件。代码中既展现了文件服务+转换服务的单独使用,又展现了ExtAudioFiles的便捷使用。
另外,请务必了解编解码器和文件格式之间的区别,以及哪些编解码器/格式组合是合法的。当我第一次发现 PCM 在 WAV 中必须是小端序,在 AIFF 中必须是大端序时,我感到很惊讶。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)