是否可以使用 CoreAudio AudioUnit 将音频数据编码为 MP3 或 AAC 等压缩格式?如果是,哪个 AudioUnit(类型/子类型)可以完成这项工作?如何配置它(在尝试使用 PCM 以外的任何东西时,不会出现 kAudioUnitErr_FormatNotSupported
错误)?
您可以将核心音频编码为大多数音频数据类型。 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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |