C++ alsa snd\u设备\u名称\u获取\u提示和卡片索引
我在~/.asoundrc或/etc/asound.conf中创建了一个自定义声音设备。 现在,我使用声音设备的参数调用声音客户端,并希望检查该设备是否存在。 我发现更容易使用实际的卡和设备索引而不是名称,名称可以不同(长或短版本) 不幸的是,C++ alsa snd\u设备\u名称\u获取\u提示和卡片索引,c++,linux,audio,alsa,pcm,C++,Linux,Audio,Alsa,Pcm,我在~/.asoundrc或/etc/asound.conf中创建了一个自定义声音设备。 现在,我使用声音设备的参数调用声音客户端,并希望检查该设备是否存在。 我发现更容易使用实际的卡和设备索引而不是名称,名称可以不同(长或短版本) 不幸的是,snd_device_Name_get_hint的“Name”提示具有类似“iec958:CARD=Adapter,DEV=0”的语法“devicename:CARD=Name,DEV=index”,但我需要“devicename:index,index”
snd_device_Name_get_hint
的“Name”提示具有类似“iec958:CARD=Adapter,DEV=0”的语法“devicename:CARD=Name,DEV=index”,但我需要“devicename:index,index”。
是否有其他功能获取现有snd_设备?这是一个有效的设备名称。您可以在
/proc/asound/cards
中查找卡ID,但为什么要麻烦呢?实际上,当您尝试从控制台调用它时,“devicename:card=index,DEV=index”语法也是有效的。当两台设备用同一个名称连接时,它会更短、更明确。