我可以使用AUGraph从多声道音频播放所有频道

时间:2014-05-30 14:59:30

标签: ios core-audio

我正在使用AUGraph在我的应用程序中播放音乐。我的设置与Apple demo app几乎相同,只有我在一条总线上运行。现在,如果我提供多声道音频(例如one of those),我只会听到前两个声道。同样的事情发生如果我把它提供给AVAudioPlayer所以也许它应该如何在iOS上工作,但我不喜欢它。

有没有办法,使用AUGraph,以某种方式合并多个频道,所以我可以听到它们全部?或者也许我可以使用多个总线在每个上面播放两个频道?但那我将如何获取其他渠道数据?

1 个答案:

答案 0 :(得分:0)

好的,所以我设法获得所有频道数据。重要的一点是将客户端文件格式(Apple示例中的mClientFormat)上的interleaved标志设置为false。这允许您获取在AudioBufferList中指定的通道数。然后你可以像Nick建议的那样只使用一个总线作为一个通道。

副作用是48kHz采样率的音频质量下降了很多,所以还有一些工作要提前......