So, ich komme endlich wieder dazu weiterzumachen. Aber bei der Umsetzung von smutberts Umschlag bin ich noch nicht erfolgreich.smutbert hat geschrieben:Wahrscheinlich hast du inzwischen schon erkannt, dass man die Alsaplugins fast beliebig aneinanderreihen kann. Es gibt mindestens zwei Plugins mit denen das möglich wäre route, das dazu dient Audiokanäle zu verteilen und zu mischen und multi, wobei es mit letzterem etwas einfacher sein sollte.
(An der Stelle wage ich nicht zu behaupten, dass ich es auf Anhieb richtig hinbekomme, aber ich versuche es.)
Sagen wird du hättest die beiden Audioausgabe-pcm-Dinger pcm.scheewittchen und pcm.rumpelstizchen, dann könntest du mit einem folgendermaßen definierten pcm.grimm beide gleichzeitig ansprechen:(Das ist eine Abfolge aus gleich zwei Plugins plug und multi – meiner Erfahrung nach erwartet multi hier aus irgendeinem mir nicht nachvollziehbaren Grund 4 Kanäle als Eingabe – ohne plug geht es also nicht.)Code: Alles auswählen
pcm.grimm { type plug slave.pcm { type multi slaves { a { channels 2 pcm "schneewittchen" } b { channels 2 pcm "rumpelstizchen" } } bindings { 0 { slave a channel 0 } 1 { slave a channel 1 } 2 { slave b channel 0 } 3 { slave b channel 1 } } } ttable [ [ 1 0 1 0 ] # erster Kanal (links) nach links (a) und links (b) [ 0 1 0 1 ] # zweiter Kanal (rechts) nach rechts (a) und rechts (b) ] }
Ich habe zwar keine zwei BT-Kopfhörer zur Hand, aber einen Lautsprecher und einen Kopfhörer. Das sollte ja hier (beide gleichzeitig mit derselben Tonquelle zu betreiben) im Prinzip keinen Unterschied machen?
Beide Ausgabegeräte wurden mit bluetoothctl gepaart und verbunden Beide funktionieren einzeln laut Test mit aplay -D bluealsa:HCI=hci0,DEV=[MAC],PROFILE=a2dp xyz.wav
So und nun das Problem, beide als gleichzeitig zu benutzende in der .asondrc unterzubringen. Vorweg: es gibt zuviele „Namen“ in der bisherigen Konfiguration:
Code: Alles auswählen
pcm.BT_Laut1_regl { # unter dem Namen „BT_Laut1_regl“ wird der Lautsprecher(!)
# von Anwendungsprogrammen (z.B. vlc, audacious) geführt
type softvol # Alsa-Plugin für softwaregestützte Lautstärkeregelung
slave.pcm "BT_Laut1" # zuständiger Lautsprecher
control.name "BT_Laut1_Regl" # Name des Lautstärke-Reglers in alsamixer/qasmixer
control.card PCH # Name der Soundkarte für diese Konfiguration,
# erfahrbar via aplay -l oder cat /proc/asound/cards
}
pcm.BT_Laut1 { # Lautsprechername BT_Laut1
type bluealsa # Alsa-Plugin für Bluetooth
interface "hci0" # Name des Bluetooth-Adapters
device "88:00:00:00:31:F0" # MAC-Adresse des BT-Lautsprechers
profile "a2dp" # Bluetooth-Profil
}
Es erscheint möglich für control.name den gleichen Namen zu verwenden wie den in der Zeile pcm.BT_Laut1_regl. Ob das aber sinnvoll ist, darüber grüble ich noch. Über den zuletzt genannten Namen wird das Ausgabegerät in Anwendungsprogrammen wie audacious und vlc angesprochen.
Es verbleiben also für ein und dasselbe Ausgabegerät mind. zwei Namen. Dem Kopfhörer würde ich mal den vorläufigen Namen kopf1 verpassen, Nur an welcher Stelle könnte man ihn so und wo müsste man ihn abgewandelt anwenden, so dass immer (für mich/für audacious?) noch klar wäre, was gemeint ist.
Mal praktisch, diese .asoundrc funktioniert nicht:
Code: Alles auswählen
pcm.doppelt {
type plug
slave.pcm {
type multi
slaves {
a { channels 2 pcm "BT_Laut1_regl"
b { channels 2 pcm "kopf1_regl"
}
bindings {
0 { slave a channel 0 }
1 { slave a channel 1 }
2 { slave b channel 0 }
3 { slave b channel 1 }
}
}
ttable [
[ 1 0 1 0 ] # erster Kanal (links) nach links (a) und links (b)
[ 0 1 0 1 ] # zweiter Kanal (rechts) nach rechts (a) und rechts (b)
]
}
pcm.BT_Laut1_regl { # unter dem Namen „BT_Laut1_regl“ wird der Lautsprecher(!)
# von Anwendungsprogrammen (z.B. vlc, audacious) geführt
type softvol # Alsa-Plugin
slave.pcm "BT_Laut1" # zuständiger Lautsprecher
control.name "BT_Laut1_Regl" # Name des Reglers für BT_Laut_Beck in alsamixer/qasmixer
control.card PCH # Name der Soundkarte für diese Konfiguration,
# erfahrbar via aplay -l oder cat /proc/asound/cards
}
pcm.kopf1_regl { # unter dem Namen „kopf1_regl“ wird der Lautsprecher
# von Anwendungsprogrammen (z.B. vlc, audacious) geführt
type softvol # Alsa-Plugin
slave.pcm "kopf1" # zuständiger Lautsprecher
control.name "kopf1_Regl" # Name des Reglers für BT_Laut_Beck in alsamixer/qasmixer
control.card PCH # Name der Soundkarte für diese Konfiguration,
# erfahrbar via aplay -l oder cat /proc/asound/cards
}
pcm.BT_Laut1 { # Lautsprechername BT_Laut1
type bluealsa # Alsa-Plugin für Bluetooth
interface "hci0" # Name des Bluetooth-Adapters
device "88:00:00:00:31:F0" # MAC-Adresse des BT-Lautsprechers
profile "a2dp" # Bluetooth-Profil
}
pcm.kopf1
type bluealsa
interface "hci0"
device "12:51:02:20:0F:E8"
profile "a2dp"
}