2017-11-14 3 views
2

amixer -c 0 Kontrollen:Wie kann ich die Steuerung dem Gerät zuordnen?

... 
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 

Ich habe zwei Kontrollen mit den gleichen Namen. Ich weiß, das ist Handle Stream Card = 0, Gerät = 0, Sekunde - Karte = 0, Gerät = 2. Aber wie kann ich von meinem Programm bekommen, welche Antwort für ein bestimmtes Gerät zu steuern? Contol mit Numid = 21 oder Kontrolle mit Numid = 23 Handle Gerät 2?

Ich kann einige nützliche Informationen darüber in/proc/asound/cord0/codeC# 0 finden. Aber ich muss in von meinem Code erkennen.

+0

Was ist das eigentliche Problem, das Sie versuchen zu lösen? –

+0

In Echtzeit erkenne ich Audiogeräte, die im System präsentiert wurden. Wenn ich mit ihnen arbeite, sehen sie aus wie "plughh: , ". Für jedes Gerät möchte ich die Liste der Steuerelemente kennen, die dem konkreten Gerät zugeordnet sind. Ich meine Kontrollen, die ändern, welche Werte sich auf den Ton vom konkreten Gerät auswirken. Entschuldigung für mein Englisch .. – Kostya

+0

Vielleicht wissen Sie, kann es Sittuationen sein, wenn für eine Karte im System mehrere Steuerelemente mit den gleichen Namen präsentiert, und es ist nicht nur zurück und Vorderseite (wie in meinem Fall)? – Kostya

Antwort

1

Bedienelemente der Schnittstelle MIXER sind nicht direkt mit einem Gerät verknüpft.

Die einzige Möglichkeit, mehr herauszufinden, wäre die Verwendung eines hardwareabhängigen Mechanismus. Im Fall von HDA ist das Lesen von codec#x jedoch nicht sehr nützlich, da der genaue Algorithmus, den der Kernel zum Zuordnen von Widgets zu Steuerelementen verwendet, nicht garantiert ist.

Verwandte Themen