Wie verwende ich die Befehlszeile, um die Lautstärke zu ändern?

72

Ich versuche, die Lautstärke mit meinem Programmierskript zu steuern. Wie kann ich unter Fedora 15, Ubuntu Linux Folgendes tun?

  1. Stumm / Laut
  2. Lauter und leiser

Hinweis: Bitte beachten Sie, dass ich ein Web-USB-Mikrofon / -Lautsprecher sowie ein analoges Mikrofon / einen analogen Lautsprecher verwende. Ich möchte mich auf jeden Fall bei allen bewerben.

Yum Yum yum
quelle
1
Wenn jemand kommt hier aus Lubuntu ihre Lautstärketasten zu beheben, setzen <command>amixer -D pulse sset Master 3%+ unmute</command>in der jeweiligen keybind von ~/.config/openbox/lubuntu-rc.xmlund dann läuft openbox --reconfigurees für mich festgelegt
rhombidodecahedron

Antworten:

80

Sie können Amixer verwenden . Es ist im alsa-utilsPaket auf Ubuntu und Debian enthalten.

Führen Sie das Programm amixerohne Parameter aus, um eine Übersicht über Ihre Steuerelemente für das Standardgerät zu erhalten.

Sie können auch alsamixerohne Parameter (aus demselben Paket) arbeiten, um einen besseren Überblick zu erhalten. Verwenden Sie F6, um Geräte anzuzeigen und zwischen diesen zu wechseln. Möglicherweise haben Sie PulseAudio und eine Hardware-Soundkarte zur Auswahl.

Verwenden Sie dann amixermit dem setBefehl, um die Lautstärke einzustellen. Um beispielsweise den Master-Kanal auf 50% einzustellen:

amixer set Master 50%

Master ist der Name des Steuerelements und sollte mit dem übereinstimmen, der angezeigt wird, wenn es ohne Parameter ausgeführt wird.

Beachten Sie das %Vorzeichen, ohne es wird der Wert als 0 - 65536-Ebene behandelt.

Wenn PulseAudio nicht Ihr Standardgerät ist, können Sie möglicherweise den -DSchalter verwenden:

amixer -D pulse set Master 50%

Weitere nützliche Befehle, auf die in den Kommentaren hingewiesen wird:

Verwenden Sie zum Erhöhen / Verringern der Lautstärke +/-nach der Nummer

amixer set Master 10%+
amixer set Master 10%-

Verwenden Sie zum Stummschalten, Aufheben der Stummschaltung oder zum Umschalten zwischen Stummschaltung und Aufhebung der Stummschaltung

amixer set Master mute
amixer set Master unmute
amixer set Master toggle

Beachten Sie auch, dass es zwei verschiedene Prozentskalen geben kann, die Standard-Raw- Skala und für einige Geräte eine natürlichere Dezibel-Skala , die auch von verwendet wird alsamixer. Verwenden Sie -M, um Letzteres zu verwenden.

Wenn Sie sich nur für PulseAudio interessieren, können Sie es sich pactlansehen (siehe eine der anderen Antworten).

Dario Seidl
quelle
4
Vielen Dank! Es gibt zwei Möglichkeiten, dies zu tun: 1. Als hervorragendes Beispiel: amixer setze Master mute amixer set Master nicht stumm schalten; 2. yum -y installiere xdotool; xdotool key XF86AudioRaiseVolume; xdotool key XF86AudioLowerVolume;
YumYumYum
15
Außerdem können Sie die Lautstärke von amixer set Master 10%+andamixer set Master 10%-
user am
2
Dies funktioniert nicht in Ubuntu.
Cerin
2
Ich stimme @Cerin nicht zu. Dies funktioniert momentan auf Ubuntu LTS 12. Beachten Sie, dass der MIn-Master zwischen Groß- und Kleinschreibung unterscheidet (muss in Großbuchstaben geschrieben sein).
Asche999
5
Cerin ist richtig. Das funktioniert nicht. Was funktioniert ist:amixer -D pulse sset Master 50%
Shivams
30

Stumm schalten:

amixer -D pulse sset Master mute

Stummschaltung aufheben:

amixer -D pulse sset Master unmute

Lautstärke um 5% erhöhen:

amixer -D pulse sset Master 5%+

So verringern Sie die Lautstärke um 5%:

amixer -D pulse sset Master 5%-

Eric Terry
quelle
1
Sie können letzteren Befehlen auch die Stummschaltung aufheben, um die Stummschaltung automatisch aufzuheben, wenn Sie die Lautstärke ändern (aus amixer -D pulse sset Master unmute 5%+
Gründen der
16

pactl / pacmd (im Gegensatz zu amixer) erlaubt es, die Lautstärke um über 100% zu erhöhen :-).

pactl set-sink-mute 0 toggle  # toggle mute
pactl set-sink-volume 0 0     # mute (force)
pactl set-sink-volume 0 100%  # max
pactl set-sink-volume 0 +5%   # +5% (up)
pactl set-sink-volume 0 -5%   # -5% (down)

Manuelle Einstellungen über 100% sind in pavucontrol(im Gegensatz zu alsamixer) möglich.

ANMERKUNG: Wenn Sie dieselben Befehle auf verschiedenen Hosts mit verschiedenen Senken gemeinsam nutzen möchten, können Sie @DEFAULT_SINK@anstelle von number auch Folgendes als Senke verwenden 0:

pactl set-sink-volume @DEFAULT_SINK@ +5%

Sie setzen Ihre Standardsenke mit pactl set-default-sink my-sink-name(Listennamen mit pactl list short sinks).

UPDATE: hinzugefügt toggle mute(danke an Don Joe).

Quelle: askubuntu.com , wiki.archlinux.org .

pevik
quelle
5

Höhere Lautstärke:

amixer set Master 3%+

Geringere Lautstärke:

amixer set Master 3%-

Stummschalten:

amixer set Master toggle

Beispiel-Tastenkombinationen für i3/ sway, die Befehle folgen exec:

bindsym XF86AudioRaiseVolume exec amixer set Master 3%+
bindsym XF86AudioLowerVolume exec amixer set Master 3%-
bindsym XF86AudioMute exec amixer set Master toggle
bindsym Ctrl+$alt+Up  exec amixer set Master 3%+
bindsym Ctrl+$alt+Down exec amixer set Master 3%-
Alexander
quelle
4

Wenn der Benutzer das Gerät stummgeschaltet hat, müssen Sie die Stummschaltung aufheben. Andernfalls funktioniert das Einstellen des Prozentsatzes, der Ton ist jedoch weiterhin ausgeschaltet

amixer set 'Master' 100% unmute
/usr/bin/amixer set 'PCM' 100% unmute
Gast
quelle
3

Die Antwort von pevik ist für PulseAudio beinahe richtig, wobei zwei Dinge zu erwähnen sind:

  • Der Befehl zum Ändern des negativen Volumens erzeugt einen Fehler, da der Minus-Anteil als separate (nicht erkannte) Option interpretiert wird. Sie müssen das Parsen von Optionen mit einem Doppel-Minus irgendwo vor der negativen Zahl deaktivieren, z. B. "- -5%".

  • Der wahre Mute-Status sollte mit der gleichen Taste umschaltbar sein, was nicht funktioniert, wenn Sie nur die Lautstärke auf einen festen Wert von 0 einstellen. Der richtige Befehl dafür wäre also:

pactl set-sink-mute @DEFAULT_SINK@ toggle

LE: Ob der erste Hinweis zutreffend ist, hängt möglicherweise von der Version von PulseAudio ab, die Sie ausführen, oder von etwas anderem in der Distribution. Ich stelle fest, dass es unter Ubuntu 16 ohne das "-" funktioniert und fehlschlägt, wenn ich "-" hinzufüge. vor dem negativen Prozentsatz.

Don Joe
quelle
Sehr gut, das macht es perfekt, wenn wir die Fenstermanager viel im laufenden Betrieb wechseln, um bessere Spielefps zu erzielen. Ich benutze also xbindkeys-configX :) (lol das Lächeln ... kein Wortspiel beabsichtigt lol)
Aquarius Power
2

amixer hat für mich funktioniert, aber ich habe nicht die nette Animation bekommen, die ich bekomme, wenn ich die Lauter-Taste auf meiner Tastatur drücke.

Ich entschied mich dafür, xtediese Taste direkt über die Befehlszeile zu drücken:

Lautstärke erhöhen: xte 'key 0x1008ff13'

Lautstärke runter: xte 'key 0x1008ff11'

Stumm: xte 'key 0x1008ff12'

Ich habe das Schlüsselwort (diese Hex-Zahl) mit herausgefunden xev.

sudo apt-get install xbindkeys xautomation
xev

und drücken Sie dann die Lauter-Taste auf Ihrer Tastatur, um den Keysym zu erhalten. Das Schlüsselsymbol kann von System zu System unterschiedlich sein, daher ist es am zuverlässigsten, es von xev zu finden.

Das Ergebnis sieht für mich so aus:

KeyRelease-Ereignis, seriell 37, synthetisches NO, Fenster 0x2c00001, Stamm 0xef, Subw 0x0, Zeit 6660080, (566,573), Stamm: (664,651), Status 0x0, Schlüsselcode 123 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES, XLookupString ergibt 0 Bytes : XFilterEvent gibt zurück: False

Sami Start
quelle