在“音频MIDI安装”应用程序中,您可以配置您的扬声器安装,它是多通道(任何配置从2.0到7.1)还是立体声(仅2.0)。
我试图在我的应用程序中实现对布局配置的正确支持,这是基于专有引擎的,它本身并不使用核心音频布局,所以我需要自己实现通道映射。
为了获得我正在使用的多通道配置
AudioObjectPropertyAddress propertyAddress;
propertyAddress.mSelector = kAudioDevicePropertyPreferredChannelLayout;
propertyAddress.mScope = kAudioDevicePropertyScopeOutput;
propertyAddress.mElement = kAudioObjectPropertyElementMaster;
这是完美的工作,直到配置被选择为立体声(!其中不是多通道立体声布局,而是如图像所示的立体声布局).
在这种情况下,kAudioDevicePropertyPreferredChannelLayout属性仍然指向多通道配置,我找不到任何其他属性来确定所选择的配置。
有人能帮我解决这个问题吗?
发布于 2013-10-11 00:18:12
如果您处理的是立体声输出,则输出单元会发布一个属性kAudioDevicePropertyPreferredChannelsForStereo
,您应该使用该属性来确定频道映射。这与上面的立体选择相对应。正如您已经发现的,kAudioDevicePropertyPreferredChannelLayout
属性引用多通道布局,应该用于非立体声/单声道音频。
https://stackoverflow.com/questions/19297229
复制相似问题