OGeek|极客世界-中国程序员成长平台

标题: ios - 可以使用 AudioUnit (CoreAudio) 将音频编码为 AAC 或 MP3? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:21
标题: ios - 可以使用 AudioUnit (CoreAudio) 将音频编码为 AAC 或 MP3?

是否可以使用 CoreAudio AudioUnit 将音频数据编码为 MP3 或 AAC 等压缩格式?如果是,哪个 AudioUnit(类型/子类型)可以完成这项工作?如何配置它(在尝试使用 PCM 以外的任何东西时,不会出现 kAudioUnitErr_FormatNotSupported 错误)?



Best Answer-推荐答案


您可以将核心音频编码为大多数音频数据类型。 Mp3 不是其中之一。

这里是您可以使用的完整列表。 Encoding file types

使用这些文件类型时,您仍然需要创建 AudioStreamBasicDescriptions。我从未找到它们的完整列表,但谷歌搜索提供了适用于最常见的列表,例如 caf、aac、mp4 和 wav。

要将文件实际写入磁盘,您将创建一个 ExtAudioFileRef 并使用 ExtAudioFileWriteAsync 在磁盘上创建文件。

如果您只是从 remoteio 回调中获取样本,则不需要使用实际的音频单元进行转换。

我以前用它从 mp3 转换为 wav。也从 mp3 到 wav 到 aac。(注意我不认为你可以从一种压缩格式转换为另一种。它必须从 pcm 到一种格式)

希望对您有所帮助。

关于ios - 可以使用 AudioUnit (CoreAudio) 将音频编码为 AAC 或 MP3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7762130/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4