如何从 CoreAudio 获得首选频道布局

Posted

技术标签:

【中文标题】如何从 CoreAudio 获得首选频道布局【英文标题】:How to get preferred channel layout from CoreAudio 【发布时间】:2016-12-30 07:52:40 【问题描述】:

我想知道是否有人知道。我尝试使用 kAudioDevicePropertyPreferredChannelLayout 来获取频道标签。但是,它总是显示 kAudioChannelLabel_Unknown 值。有什么驱动问题吗?或者在询问 kAudioDevicePropertyPreferredChannelLayout 之前需要设置一些属性。

我的代码在这里: https://gist.github.com/ChunMinChang/ea74c8228745449873716e1d98ba956e/e61fedea3e08bcff64ef3db05931a1c757768d70

【问题讨论】:

【参考方案1】:

自己回答。

使用 kAudioUnitProperty_AudioChannelLayout 代替 kAudioDevicePropertyPreferredChannelLayout 可以让我获得正确的通道配置。

如果我们先使用 kAudioDevicePropertyPreferredChannelLayout 来获取布局可能会更好。如果返回 Unknown,那么我们使用 kAudioUnitProperty_AudioChannelLayout 来获取它。

代码:https://gist.github.com/ChunMinChang/ea74c8228745449873716e1d98ba956e/96b5d39e3fa7d5d6e160c53917b213f9af3ba2c9#file-preferredchannellayout-cpp

【讨论】:

以上是关于如何从 CoreAudio 获得首选频道布局的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS 中的自适应布局(移动/桌面) - 首选方式是啥(内部示例)

unity 自动排版(Horizontal Layout Group)

unity 自动排版(Vertical Layout Group)

如何从自身调用布局来创建实例

如何获得高度等于2/3可用空间的布局

自动首选最大布局宽度在 8.0 之前的 iOS 版本中不可用