在 iOS 上混合和均衡多个压缩音频流
Posted
技术标签:
【中文标题】在 iOS 上混合和均衡多个压缩音频流【英文标题】:Mixing and equalizing multiple streams of compressed audio on iOS 【发布时间】:2011-08-11 07:05:55 【问题描述】:我正在尝试做的正是正如标题所说,解码多个压缩音频流/文件 - 它将从修改后的 MP4 文件中提取 - 并同时对它们进行实时 EQ。
我已经阅读了大部分 Apple 文档。
我尝试过AudioQueues,但我无法进行均衡,因为一旦压缩音频进入,它就不会出来......所以我无法操纵它。
音频单元似乎没有任何组件来处理 AAC 和 MP3 的解压缩 - 如果我是对的,它的转换器只能处理从一种 LPCM 格式转换为另一种格式。
大约一个半月以来,我一直在尝试制定解决方案。
我现在在想,使用 3rd 方解码器(上帝帮助我;我不知道如何使用这些,源代码是希腊语;哦,有什么建议吗?:x),然后输入解码的-将 LPCM 放入 AudioQueues 在回调中做 EQ。
也许我在这里遗漏了一些东西。建议? :(
【问题讨论】:
【参考方案1】:我仍在尝试根据自己的需要找出 Core Audio,但据我所知,您想使用 Extended Audio File Services 为您处理读取和压缩,生成 PCM 数据,然后您可以将其交给缓冲。 MixerHost 示例项目提供了使用 ExtAudioFileOpenURL 执行此操作的示例。
【讨论】:
谢谢。我想我或多或少通过 Audio Queue 的离线渲染解决了这个问题。尝试了音频转换器服务,但无法运行(得到非常有用的 -50 错误)。现在我要弄清楚如何将信息从 UI 传递到回调中,而不会因为它们引入不同的线程而遇到麻烦。我真的应该用答案更新我的这个问题。以上是关于在 iOS 上混合和均衡多个压缩音频流的主要内容,如果未能解决你的问题,请参考以下文章
iOS 将 2 个或多个音频文件合并(混合)为 wav 格式