2016-12-30 12 views
0

Мне было интересно, если кто-нибудь знает, как получить предпочтительный макет канала от CoreAudio. Я пытаюсь использовать kAudioDevicePropertyPreferredChannelLayout, чтобы получить метку канала. Однако он всегда показывает значение kAudioChannelLabel_Unknown. Есть ли что-то проблема с драйвером? или необходимо задать некоторые свойства перед запросом kAudioDevicePropertyPreferredChannelLayout.Как получить предпочтительный макет канала от CoreAudio

мой код здесь: https://gist.github.com/ChunMinChang/ea74c8228745449873716e1d98ba956e/e61fedea3e08bcff64ef3db05931a1c757768d70

ответ

1

Ответа на этот вопрос сам.

Вместо kAudioDevicePropertyPreferredChannelLayout, используя kAudioUnitProperty_AudioChannelLayout, позвольте мне получить правильную конфигурацию канала.

Возможно, было бы лучше использовать kAudioDevicePropertyPreferredChannelLayout, чтобы сначала получить макет. Если он возвращает Unknown, то мы используем kAudioUnitProperty_AudioChannelLayout, чтобы получить его.

Код: https://gist.github.com/ChunMinChang/ea74c8228745449873716e1d98ba956e/96b5d39e3fa7d5d6e160c53917b213f9af3ba2c9#file-preferredchannellayout-cpp