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
我有两个相同名称的控件。 我知道,一个是处理stream卡= 0,设备= 0,秒 – 卡= 0,设备= 2。 但我怎样才能从我的程序控制特定设备的响应? 控制numid = 21或控制numid = 23处理设备2?
我可以在/ proc / asound / cord0 / codec#0中find一些有用的信息。 但是我需要从我的代码中检测。
接口MIXER
器的控制不直接与任何设备相关联。
找出更多的唯一方法是使用一些依赖于硬件的机制。 但是,在HDA的情况下,读取codec#x
#x并不是很有用,因为内核用于将小部件映射到控件的确切算法不能保证。