在 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 上混合和均衡多个压缩音频流的主要内容,如果未能解决你的问题,请参考以下文章

Android/iOS:通过流混合改善实时流媒体体验

Android/iOS:通过流混合改善实时流媒体体验

在 ios 上混合音频

iOS 将 2 个或多个音频文件合并(混合)为 wav 格式

在 IOS 上使用 AVComposition 混合两个音频文件

如何在 iOS 中捕获音频输出?