Discover a microphone device, to later discover if it is receiving input

info info at dressmaker.ca
Sun Oct 4 18:22:43 CEST 2020


Hi all,


I am writing a program that aims to auto-discover the microphone device 
that the user is speaking into. I started off by querying device hints 
and collected all devices with the IO types of null, since I have not 
found any devices with the type of Input. I am puzzled how it is 
possible that there is no Input, where a microphone device should not be 
able to emit sound. This is the list on my particular machine:

Name of device: sysdefault:CARD=SB
Description of device: HDA ATI SB, ALC892 Analog
Default Audio Device
I/O type of device: (null)

Name of device: front:CARD=SB,DEV=0
Description of device: HDA ATI SB, ALC892 Analog
Front speakers
I/O type of device: (null)

Name of device: surround21:CARD=SB,DEV=0
Description of device: HDA ATI SB, ALC892 Analog
2.1 Surround output to Front and Subwoofer speakers
I/O type of device: Output

Name of device: surround41:CARD=SB,DEV=0
Description of device: HDA ATI SB, ALC892 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
I/O type of device: Output

Name of device: surround50:CARD=SB,DEV=0
Description of device: HDA ATI SB, ALC892 Analog
5.0 Surround output to Front, Center and Rear speakers
I/O type of device: Output

Name of device: surround71:CARD=SB,DEV=0
Description of device: HDA ATI SB, ALC892 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
I/O type of device: Output

Name of device: sysdefault:CARD=SB
Description of device: HDA ATI SB, ALC892 Analog
Default Audio Device
I/O type of device: (null)

Name of device: front:CARD=SB,DEV=0
Description of device: HDA ATI SB, ALC892 Analog
Front speakers
I/O type of device: (null)

Now, I am more puzzled, because none of them is a microphone device 
explicitly. How can my program determine which of them is actually a 
microphone?

Also, why are devices are duplicated in the output from 
snd_device_name_hint()? The very first device is also repeated as the 
2nd last one...


Regards,
Alex



More information about the Alsa-devel mailing list