Как соотнести имена устройств alsa с понятными человеку "Front mi c", "Rear mi c", "Line in"? - PullRequest
0 голосов
/ 28 мая 2020

Мне нужно написать простое приложение 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?

...