【问题标题】:Encode audio to AAC or MP3 with an AudioUnit (CoreAudio) possible?可以使用 AudioUnit (CoreAudio) 将音频编码为 AAC 或 MP3?
【发布时间】:2011-10-14 01:11:18
【问题描述】:

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

【问题讨论】:

    标签: ios macos core-audio


    【解决方案1】:

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

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

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

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

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

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

    希望对您有所帮助。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-25
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 2021-08-02
    相关资源
    最近更新 更多