PulseAudio pacmd
ist nicht in der Lage, die Standardsenken zu wechseln, während ein aktiver Stream zum Senken-Eingang vorliegt. Es gibt jedoch noch einen Weg, dies zu erreichen.
Ändern der Standardsenke über die Befehlszeile
Zuerst müssen wir die Indexnummer der Senken bestimmen, die wir wechseln möchten. Dies kann durch einen Anruf erfolgen:
pacmd list-sinks
Abhängig von unserem System erhalten Sie eine mehr oder weniger lange Liste von Waschbecken und Eigenschaften, auf die derzeit zugegriffen werden kann:
>>> 2 sink(s) available.
* index: 0
name: <alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1>
driver: <module-alsa-card.c>
:
:
index: 1
name: <alsa_output.pci-0000_00_14.2.analog-stereo>
driver: <module-alsa-card.c>
Das index
oder das name
, was hier angegeben ist, wird benötigt, um die Senke über die Befehlszeile anzusprechen. Die aktuelle Standardsenke ist (hier 0
) mit einem Sternchen markiert .
Um die Standardsenken von der Befehlszeile aus umschalten zu können, müssen wir möglicherweise die Wiederherstellung des Stream-Zielgeräts deaktivieren, indem Sie die entsprechende Zeile in /etc/pulse/default.pa
den folgenden Schritten bearbeiten :
load-module module-stream-restore restore_device=false
Um die Standardausgabesenke in Senke zu ändern, führen 1
wir dann aus
pacmd set-default-sink 1
Sucess kann durch Öffnen des visualisiert werden Toneinstellungen Menü.
Einen Stream in eine andere Spüle verschieben
Das Ändern der Standardsenke, während ein aktiver Eingabestream auf einer bestimmten Senke abgespielt wird, hat keine Auswirkung . Dies sollte eher durch Verschieben dieses Eingangs in eine andere Senke erfolgen.
pacmd list-sink-inputs
teilt uns den Index des Eingabestreams mit
>>> 1 sink input(s) available.
index: 5
driver: <protocol-native.c>
Wir wissen jetzt, dass wir den Eingabestream durch Aufrufen 5
auf sink verschieben möchten1
pacmd move-sink-input 5 1
oder zurück zum sinken 0
wenn wir wollen. Dies erfolgt sofort, ohne dass die Wiedergabe gestoppt werden muss.
Ändern der Standardsenke während des Spielens
Natürlich können wir diese beiden Befehle kombinieren, um die Standardsenken während der Wiedergabe sofort umzuschalten, z. B. mit
pacmd set-default-sink 1 & pacmd move-sink-input 5 1
Ein Nachteil dieser Methode ist, dass sich der Eingabestream-Index jedes Mal ändert, wenn der Musik-Player angehalten und neu gestartet wird. Wir müssen also immer den aktuellen Stream-Index herausfinden, bevor wir mit der Befehlszeile wechseln können.
pactl list short sinks
>4 bluez_sink.FC_A8_9A_2C_EB_0B module-bluez5-device.c s16le 1ch 8000Hz IDLE
jetzt Referenz nur den Namenpactl set-default-sink bluez_sink.FC_A8_9A_2C_EB_0B
set-default-sink
Sie benötigen jedoch weiterhin die Indexnummermove-sink-input
.0 sink input(s) available.
? Aber dieser beschissene Flash-Player spielt immer noch Audio ab?client(s) logged in
Sektionpacmd list
Ich habe ein einfaches Skript geschrieben, um alle Sink-Eingaben automatisch zu verschieben.
Verwendungszweck:
./movesinks.sh <sink number>
quelle
Verbesserte Version des @ Gaco- Skripts
Meine Runtime-Kopie ist auf Github und beinhaltet auch die automatische Umschaltung des Master-Kanals für
kmix
quelle
Es gibt ein Ruby-Skript (von dem ich ursprünglich Abschnitte gegabelt und neu geschrieben habe) , mit dem Sie den Standardstatus für Senken, Lautstärke und Stummschaltung über die Befehlszeile ändern können .
quelle
Ich habe Sachen von verschiedenen Orten zusammengeschustert und mir dieses Skript ausgedacht, um eine Bluetooth-JAMBOX einzurichten, nachdem sie gekoppelt wurde. Ihr MAC wird natürlich anders sein. Da ich die JAMBOX-Lautstärke über die Clementine-App steuere, funktionieren 130% der Lautstärke in meinem Fall am besten. Vielleicht möchten Sie dies zusammen mit der rhythmbox.png ändern (es war das einzige Sprecherbild, das ich auf meinem Computer finden konnte). Die Fehlerprüfung ist rudimentär, funktioniert aber ziemlich zuverlässig. Ich habe dies in einem Desktop-Launcher für die Bequemlichkeit auf einem ASUS-Netbook abgelegt.
quelle
pactl list short
. Sie können die folgende Zeile vereinfachen, indem Sie den Schnitt direkt danach ausführen: Funktioniertpactl list short sink-inputs | cut -f1 | while read streamId
für mich.CIRCLE-TOGGLE-SPÜLEN.
Das Gaco-Skript mit nur einer weiteren Zeile zum Umschalten zwischen den verfügbaren Senken.
quelle
Und hier ist ein Skript, das auch zwischen Senken umschaltet:
http://marginalhacks.com/index.0.html#pulse-switch-out
Hier ist das Skript unten:
quelle
Basierend auf Gacos Antwort habe ich es ein wenig für meinen persönlichen Gebrauch umgeschrieben. Vielleicht findet es jemand nützlich. Hiermit können Sie meine USB-Lautsprecher und das USB-Gaming-Headset umschalten.
quelle
Ich denke, es gibt eine weitere erwähnenswerte Option, die auf der offiziellen Seite für häufig gestellte Fragen zu PulseAudio unter freedesktop.org verfügbar ist . Unter folgendem Titel:
Sie bieten dazu das folgende Skript an:
quelle
Ich habe @mpapis an ein einfaches "toggle sink0 oder sink1" angepasst, wenn es ausgeführt wird:
quelle