Ses seviyesini değiştirmek için komut satırı nasıl kullanılır?


72

Programlama betiğimi kullanarak birimi denetlemeye çalışıyorum. Aşağıdakileri Fedora 15, Ubuntu linux'da nasıl yapabilirim?

  1. Sessiz / Sesi aç
  2. Ses açma ve ses kısma

Not: Lütfen bir web USB mikrofon / hoparlör ve ayrıca Analog mikrofon / hoparlör kullandığımı unutmayın. Emin olmak için herkese başvurmak istiyorum.


1
Ses kontrol düğmelerini düzeltmek için Lubuntu'dan birileri buraya geliyorsa <command>amixer -D pulse sset Master 3%+ unmute</command>, ilgili tuş takımını takıp ~/.config/openbox/lubuntu-rc.xmlsonra da openbox --reconfigurebenim için sabit çalıştırıyorsa
rhombidodecahedron

Yanıtlar:


80

Karıştırıcıyı kullanabilirsiniz . Bu öyle alsa-utilsUbuntu ve Debian paketine.

amixerVarsayılan cihaz kontrolleriniz hakkında genel bilgi almak için parametreler olmadan çalıştırın .

alsamixerDaha görsel bir genel bakış için parametreler olmadan da (aynı paketteki) kullanabilirsiniz. Cihazları görmek ve arasında geçiş yapmak için F6'yı kullanın. Genellikle PulseAudio ve aralarından seçim yapabileceğiniz bir donanım ses kartı olabilir.

Sonra sesi ayarlamak için amixerbu setkomutu kullanın. Örneğin, ana kanalı% 50'ye ayarlamak için:

amixer set Master 50%

Master kontrol ismidir ve parametre olmadan çalışırken gördüğünüz isim ile eşleşmelidir.

İşarete dikkat edin %, onsuz değeri 0 - 65536 seviyesi olarak kabul eder.

PulseAudio varsayılan cihazınız değilse, -Ddüğmeyi kullanabilirsiniz :

amixer -D pulse set Master 50%

Yorumlardaki diğer faydalı komutlar da belirtilmiştir:

/ Artırmak hacim kullanımını azaltmak için +/-sayı, kullanımdan sonra

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

Sessiz / sessiz durumları arasında susturmak, açmak veya açmak için

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

Ayrıca, iki farklı yüzde ölçeği olabileceğini unutmayın; varsayılan ham ve bazı aygıtlar için de kullanılan desibel temelli daha doğal bir ölçekalsamixer . -Mİkincisini kullanmak için kullanın .

Son olarak, sadece PulseAudio ile ilgileniyorsanız, kontrol etmek isteyebilirsiniz pactl(diğer cevaplardan birine bakınız).


4
Teşekkürler! Bunu yapmanın iki yolu vardır 1. Mükemmel bir örnek olarak: amixer set Master sessiz; amixer set Master unmute; 2. yum -y xdotool yükleyin; xdotool anahtarı XF86AudioRaiseVolume; xdotool anahtarı XF86AudioLowerVolume;
YumYumYum

15
Ve ek olarak, artırabilir veya ses düzeyini azaltmak amixer set Master 10%+veamixer set Master 10%-
kullanıcı

2
Bu Ubuntu'da çalışmaz.
Cerin

2
@Cerin'e katılmıyorum. Bu, şu anda Ubuntu LTS 12'de çalışır. MAna kartın büyük / küçük harf duyarlı olduğuna dikkat edin (büyük harf olmalıdır).
ashes999

5
Cerin haklı. Bu çalışmıyor. Ne işe yarıyor:amixer -D pulse sset Master 50%
shivams

30

Susturmak:

amixer -D pulse sset Master mute

Sesi açmak için:

amixer -D pulse sset Master unmute

Sesi% 5 arttırmak için:

amixer -D pulse sset Master 5%+

Sesi% 5 kısmak için:

amixer -D pulse sset Master 5%-


1
Ayrıca, ses seviyesini değiştirdiğinizde otomatik olarak açmak için ikinci komutlara amixer -D pulse sset Master unmute 5%+
unmute ekleyebilirsiniz

16

pactl / pacmd (aksine amixer)% 100'ün üzerinde bir hacminin artmasına izin verir :-).

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)

% 100'ün üzerinde manüel ayarlar pavucontrol(aksine alsamixer) mümkündür .

NOT: Aynı komutları farklı ana bilgisayarlarda farklı lavabolarla paylaşmak istiyorsanız @DEFAULT_SINK@, sayı yerine bir lavabo olarak kullanabilirsiniz 0:

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

Varsayılan lavabonuzu ile ayarlayın pactl set-default-sink my-sink-name(liste adları ile pactl list short sinks).

GÜNCELLEME: eklendi toggle mute(Don Joe sayesinde).

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


5

Daha yüksek ses:

amixer set Master 3%+

Düşük ses:

amixer set Master 3%-

Geçiş sesini kapat:

amixer set Master toggle

i3/ İçin örnek keybind swaykomutları aşağıdaki gibidir 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%-

4

Eğer kullanıcı cihazı kapattıysa, cihazın sesini silmeniz gerekir. Aksi halde yüzdeyi ayarlamak işe yarar ancak ses hala kapalıdır.

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

3

pevik 'in cevabı PulseAudio için neredeyse doğru, söylenecek iki şey var:

  • negatif hacim değişim komutu bir hata üretecektir çünkü eksi-bir kısmı bir kısmı ayrı (tanınmayan) bir seçenek olarak yorumlanacaktır; Negatif sayının önüne bir yerde çift-eksi ile ayrıştırma seçeneğini kapatmanız gerekir, örneğin, "- -5%"

  • gerçek sessizlik durumu, aynı anahtarı kullanabilmeniz gereken bir şeydir; ses seviyesini yalnızca 0 değerine ayarlıyorsanız işe yaramaz, bu nedenle doğru komut şöyle olacaktır:

pactl set-sink-mute @DEFAULT_SINK@ toggle

LE: İlk ipucunun uygulanabilir olup olmadığı, yayınladığınız PulseAudio sürümüne veya dağıtımdaki başka bir şeye bağlı olabilir - Ubuntu 16'da "-" olmadan çalıştığını ve "-" eklersem başarısız olduğunu fark ettim. olumsuz yüzdesinin önünde.


çok iyi thx, daha iyi oyun fps için sinek pencere yöneticileri çok değiştirdiğimizde mükemmel kılan, bu yüzden ben kullanıyorum xbindkeys-configve hatta X :) yeniden başlatmak zorunda bile değilim :) (lol gülümseme ... hayır amaçlanan lol)
Kova Güç

2

amixer benim için çalıştı ama klavyemdeki ses açma düğmesine bastığımda aldığım güzel animasyonu alamadım.

xteKomut satırından doğrudan bu tuşa basmaya karar verdim :

Sesi aç: xte 'key 0x1008ff13'

Sesi kıs: xte 'key 0x1008ff11'

Sessiz: xte 'key 0x1008ff12'

Anahtarın (bu onaltılık sayı) kullanarak anladım xev.

sudo apt-get install xbindkeys xautomation
xev

ve sonra tuş takımını almak için klavyenizdeki ses açma düğmesine basın. Anahtar sistem sistemden sisteme değişebilir, bu nedenle xev'den bulmak en güvenilir yoldur.

Sonuç benim için şöyle görünüyor:

KeyRelease olayı, seri 37, sentetik NO, pencere 0x2c00001, kök 0xef, subw 0x0, süre 6660080, (566,573), kök: (664,651), durum 0x0, anahtar kodu 123 (keysym 0x1008ff13, XF86AudioRaiseVolume), aynı_ ekran YES, XLookupString verir : XFilterEvent döndürür: Yanlış

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.