it-swarm-eu.dev

Jak používat příkazový řádek ke změně hlasitosti?

Snažím se ovládat hlasitost pomocí mého programovacího skriptu. Jak mohu dělat následující ve Fedora 15, Ubuntu linux?

  1. Ztlumit/Ztlumit
  2. Zvýšení a snížení hlasitosti

Poznámka: Upozorňujeme, že používám webový mikrofon/reproduktor USB a také analogový mikrofon/reproduktor. Chci se ujistit o všech.

78
user11085

Můžete použít amixer . Je součástí balíčku alsa-utils Na Ubuntu a Debianu.

Spusťte amixer bez parametrů, abyste získali přehled o svých ovládacích prvcích pro výchozí zařízení.

Můžete také použít alsamixer bez parametrů (ze stejného balíčku) a získat tak vizuální přehled. Pomocí klávesy F6 můžete vidět a přepínat mezi zařízeními. Obvykle můžete mít PulseAudio a hardwarovou zvukovou kartu, ze které můžete vybírat.

Poté pomocí příkazu amixer pomocí příkazu set nastavte svazek. Například pro nastavení hlavního kanálu na 50%:

amixer set Master 50%

Master je jméno ovládacího prvku a mělo by odpovídat jménu, které vidíte při běhu bez parametrů.

Všimněte si znaménka %, Bez něj bude považovat hodnotu za úroveň 0 - 65536.

Pokud PulseAudio není vaše výchozí zařízení, můžete použít přepínač -D:

amixer -D Pulse set Master 50%

Další užitečné příkazy zdůrazněné v komentářích:

Pro zvýšení/snížení hlasitosti použijte +/- Za číslem, použijte

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

Chcete-li ztlumit, zrušit nebo přepnout mezi ztlumeným/neztlumeným stavem, použijte

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

Také si všimněte, že mohou existovat dvě různá procentuální měřítka, výchozí surová a pro některá zařízení přirozenější měřítko založené na decibel , které také používá alsamixer. Použijte -M Pro použití posledního.

A konečně, pokud vás zajímá pouze PulseAudio, možná byste se měli podívat na pactl (viz jedna z dalších odpovědí).

88
Dario Seidl

Ztlumit:

amixer -D Pulse sset Master mute

Zrušení ignorování:

amixer -D Pulse sset Master unmute

Postup zvýšení hlasitosti o 5%:

amixer -D Pulse sset Master 5%+

Chcete-li snížit hlasitost o 5%:

amixer -D Pulse sset Master 5%-
33
Eric Terry

pactl / pacmd (na rozdíl od amixer) umožňuje zvýšit objem o 100% :-).

pactl set-sink-mute 0 toggle  # toggle mute, also you have true/false
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)

Ruční nastavení přes 100% je možné v pavucontrol (na rozdíl od alsamixer).

Poznámka : Pokud chcete sdílet stejné příkazy na různých hostitelích s různými dřezy, můžete použít @[email protected] jako dřez místo čísla 0:

pactl set-sink-volume @[email protected] +5%

Výchozí dřez nastavíte pomocí pactl set-default-sink my-sink-name (seznam jmen s pactl list short sinks).

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

18
pevik

Vyšší objem:

amixer set Master 3%+

Nižší objem:

amixer set Master 3%-

Ztlumit přepínač:

amixer set Master toggle

Příklad keybindings pro i3 / sway , příkazy jsou za 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%-
5
Alexander

Odpověď pevik je pro PulseAudio téměř správná, je třeba zmínit dvě věci:

  • příkaz negativní změny objemu vygeneruje chybu, protože jeho část mínus-něco bude interpretována jako samostatná (nerozpoznaná) volba; je třeba vypnout analýzu možností s dvojitým znaménkem někde před záporným číslem, např. "- -5%"

  • skutečný stav ztlumení je něco, co by mělo být možné přepínat se stejným klíčem, což nebude fungovat, pokud nastavíte hlasitost na pevnou hodnotu 0, takže správným příkazem by bylo:

pactl set-sink-mute @[email protected] toggle

LE: Zda je použitelná první nápověda, může záviset na verzi PulseAudio, kterou používáte, nebo na něčem jiném v distro - všiml jsem si, že na Ubuntu 16 to funguje bez "-" a selže, pokud přidám "-" před záporným procentem.

3
Don Joe

pokud uživatel ztlumil zařízení, musíte jej „zrušit“. jinak nastavení procenta bude fungovat, ale zvuk je stále vypnutý

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

amixer pracoval pro mě, ale nedostal jsem Nice animaci, kterou dostanu, když stisknu tlačítko pro zvýšení hlasitosti na klávesnici.

Rozhodl jsem se použít xte k přímému stisknutí této klávesy z příkazového řádku:

Zvýšit hlasitost: xte 'key 0x1008ff13'

Snížit hlasitost: xte 'key 0x1008ff11'

Ztlumit: xte 'key 0x1008ff12'

Přišel jsem na keyym (hexadecimální číslo) pomocí xev.

Sudo apt-get install xbindkeys xautomation
xev

a poté stisknutím tlačítka pro zvýšení hlasitosti na klávesnici získáte klávesnici. Klíčový symbol se může v jednotlivých systémech lišit, takže nalezení od xev bude nejspolehlivějším způsobem.

Výsledek pro mě vypadá takto:

Událost KeyRelease, sériový 37, syntetický NE, okno 0x2c00001, root 0xef, subw 0x0, čas 6660080, (566,573), root: (664,651), stav 0x0, keycode 123 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES, XLookupString dává 0 bajtů : XFilterEvent se vrací: False

2
Sami Start