AudioObjectGetPropertyData to get a list of input devices

To determine if a device is an input device you need to check and see if it has any input channels. Here is code modified from the Objective-C class here: static BOOL DeviceHasBuffersInScope(AudioObjectID deviceID, AudioObjectPropertyScope scope) { NSCParameterAssert(deviceID != kAudioObjectUnknown); AudioObjectPropertyAddress propertyAddress = { .mSelector = kAudioDevicePropertyStreamConfiguration, .mScope = scope, .mElement = kAudioObjectPropertyElementWildcard }; UInt32 … Read more

tech