Я разрабатываю звуковое приложение Windows, и я использую MMDeviceEnumerator для взлома всех доступных аудиоинтерфейсов. Это доходит до получения MMDevice, который дает мне некоторую информацию о самом устройстве.Как получить количество каналов от MMDevice?
Я хочу получить общее количество каналов, которые предоставляет устройство. В настоящее время я использую хранилище свойств, чтобы вернуть текущий формат WAV, но это возвращает формат, который Windows указала для «общего» режима. Используя Focusrite 18i8, Windows указывает, что это устройство имеет 2 канала, что точно указано в «Стандартном формате» дополнительных параметров устройства. Сама Windows не позволит мне указать что-либо, кроме 2 входных каналов в формате по умолчанию.
Проблема заключается в том, что это устройство имеет 18 входных каналов, и я хочу открыть его в эксклюзивном режиме с помощью Wasapi и получить доступ ко всем каналам. Я не уверен, как узнать, сколько «реальных» каналов имеет звуковое устройство.
Можно ли это найти из MMDevice?
Я полагаю, вы заинтересованы в запросе свойства устройства: [Приложение может запросить свойство PKEY_AudioEngine_DeviceFormat аудио-оконечного устройство, чтобы получить формат разделяемого режима, который пользователь выбрал для устройство. ** Информацию о запросе свойств устройства см. В разделе Свойства устройства. **] (https://msdn.microsoft.com/en-us/library/windows/desktop/dd370811). –
Я уже использую PKEY_AudioEngine_DeviceFormat, но он возвращает только формат совместного использования, как вы сказали. Мне нужно определить, сколько каналов это устройство имеет в эксклюзивном режиме. Мне не нравится думать, что мне приходится постоянно звонить в IsFormatSupported с постоянно увеличивающимся количеством каналов до тех пор, пока он не сработает. Некоторые карты, такие как Dante Virtual SoundCard, могут иметь до 256 каналов! –
Я не уверен, что это может помочь, но вот два приложения [[1] (http://blogs.msdn.com/b/matthew_van_eerde/archive/2011/06/13/how-to-enumerate-audio- endpoint-immdevice-properties-on-your-system.aspx), [2] (http://alax.info/blog/1279)], которые перечисляют доступные свойства. Возможно, вы можете получить то, что хотите от 'PKEY_AudioEngine_OEMFormat'. –