amixer -c 0控制:
...
numid=22,iface=MIXER,name='Capture Switch'
numid=24,iface=MIXER,name='Capture Switch',index=1
numid=21,iface=MIXER,name='Capture Volume'
numid=23,iface=MIXER,name='Capture Volume',index=1
...
arecord -l:
card 0: PCH [HDA Intel PCH], device 0: ALC662 rev3 Analog [ALC662 rev3 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 2: ALC662 rev3 Alt Analog [ALC662 rev3 Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
我有两个名字相同的控件。我知道,一个是句柄流卡= 0,设备= 0,第二个 - 卡= 0,设备= 2。但是,如何从我的程序中获取控制特定设备的响应? Contol与numid = 21或控制与numid = 23处理设备2?
我可以在/ proc / asound / cord0 / codec#0中找到一些有用的信息。但我需要在中从我的代码中检测到。
答案 0 :(得分:1)
接口MIXER
的控件与任何设备都没有直接关联。
了解更多内容的唯一方法是使用一些依赖于硬件的机制。但是,对于HDA,读取codec#x
并不是很有用,因为内核用于将小部件映射到控件的确切算法无法保证。