获取ALSA卡信息

时间:2013-10-31 22:57:19

标签: c linux alsa

一旦我有卡号(例如hw:0),我如何从ALSA库中获取信息和描述?我想访问类似于/ proc / asound / cards中的数据,例如:

 0 [CinemaTM       ]: USB-Audio - Microsoft® LifeCam Cinema(TM)
                      Microsoft Microsoft® LifeCam Cinema(TM) at usb-spear-ehci.0-1.1, high speed

由于我的系统中有多个这样的“卡”,“CinemaTM”,“USB-Audio”和“usb-ehci.0-1.1”等信息可以帮助我识别我需要打开以进行捕获。

separate question中,我发现了如何迭代系统中的所有卡和捕获设备,现在我想要检索有关这些卡的信息 - 但我对ALSA API的第一印象是它非常对于初学者来说,了解如何处理事情是一件很麻烦的事。

1 个答案:

答案 0 :(得分:1)

打开卡的控制设备(也称为hw:0,但没有子设备),然后拨打snd_ctl_card_info()

snd_ctl_card_info_get_id():CinemaTM
snd_ctl_card_info_get_driver():USB-Audio
snd_ctl_card_info_get_name():Microsoft®LifeCamCinema(TM)
snd_ctl_card_info_get_longname():MicrosoftMicrosoft®... at usb -...