【问题标题】:CoreAudio/OpenAL: How to get the outgoing audio signalCoreAudio/OpenAL:如何获取传出的音频信号
【发布时间】:2013-03-22 12:45:55
【问题描述】:

我目前正在尝试获取我的 iOS 应用程序的传出音频信号,以便能够将其发送到 Audiobus。我需要传出的 AudioBufferLists 才能路由它们。我正在使用 OpenAL 进行音频播放。

最好的情况是我什至可以修改输出信号以对其施加影响。

【问题讨论】:

  • 我发现这个问题也在寻找有关如何让 OpenAL 应用程序输出到 Audiobus 的信息。希望有人帮助
  • 感觉非常好,其他人也尝试这样做,但在文档中找不到答案。我还在 Audiobus 论坛上发布了这个问题,但到目前为止没有答案:heroes.audiob.us/discussion/100/openal-send-to-audiobus#Item_1 编辑:我实际上正在使用 CocosDenshion,它是一个 OpenAL 包装器 - 如果这对某人有帮助的话。

标签: ios objective-c core-audio openal


【解决方案1】:

目前似乎没有公共 API 可以在 iOS 应用中访问 OpenAL 的输出。

如果您想要输出,则需要使用另一个音频 API 来播放声音,例如带有未压缩原始 PCM 音频的音频队列或 RemoteIO 音频单元,以便能够获取音频输出缓冲区。

【讨论】:

【解决方案2】:

您可能想看看这个人是如何为 OpenAL 制作自己的音频混合对象的,以便他可以实现:

http://www.cuppadev.co.uk/openal-sucks-write-your-own-audio-mixer/

【讨论】:

  • 谢谢,也许我会联系那个人并问他,因为他似乎只展示了他的基本想法。
【解决方案3】:

您可以将 CoreAudio 与 3D 混合器音频单元 (kAudioUnitSubType_AU3DMixerEmbedded) 一起使用,而不是使用 OpenAL。然后,您可以控制输出的去向。显然这样做会牺牲一些可移植性(Mac OS X 可以,但 Windows、Linux 或 Android 不行)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 2010-11-09
    • 2013-04-03
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    相关资源
    最近更新 更多