static void DisplayDevices(MMDeviceAPI.EDataFlow dataFlow) { foreach (var device in new MMDeviceAPI.MMDeviceEnumerator() .GetDeviceCollection(dataFlow, MMDeviceAPIHelpers.DEVICE_STATE_ACTIVE) .GetDevices()) { System.Console.WriteLine(device.Id() + " " + device .GetPropertyStore(MMDeviceAPIHelpers.STGM_READ) .Get(MMDeviceAPIHelpers.PKEY_Device_FriendlyName)); } }
public static MMDeviceAPI.IMMDeviceCollection GetDeviceCollection(this MMDeviceAPI.MMDeviceEnumerator deviceEnumerator, MMDeviceAPI.EDataFlow dataFlow, uint stateMask) { deviceEnumerator.EnumAudioEndpoints(dataFlow, stateMask, out var deviceCollection); return(deviceCollection); }