Мне нужно написать простое приложение ALSA, которое позволяет записывать звук с подключенного микрофона. На первый взгляд задача кажется несложной, но я столкнулся с проблемой, что я не знаю, какое аудиоустройство следует открыть для записи.
Например, мой шнур показывает мне:
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 2: ALC887-VD Alt Analog [ALC887-VD Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
Если я хочу успешно записать, мне нужно выбрать открывающее устройство «hw: 0,0» или «hw: 0: 2», но какое? Это только пример, приложение должно запускаться на разных компьютерах с разными аудиоустройствами.
Мое приложение должно быть хорошим GUI приложение, вероятно, с полем со списком, например, выберите «Line In», «Front Mi c "," Задний Mi c "," USB-гарнитура ".
Таким образом, пользователь может выбрать, какой разъем использовать.
Но какова связь между этими человеческими именами и устройствами ALSA? Я не вижу для этого никакого API. Кажется невозможным?
Также я не могу найти API ALSA для обнаружения аудиоразъема, подключенного к разъему. Возможно ли такое обнаружение с помощью ALSA?