Làm thế nào để sử dụng dòng lệnh để thay đổi âm lượng?


72

Tôi đang cố gắng kiểm soát âm lượng bằng cách sử dụng tập lệnh lập trình của mình. Làm cách nào tôi có thể làm như sau trong Fedora 15, Ubuntu linux?

  1. Tắt tiếng / bật tiếng
  2. Tăng âm lượng và giảm âm lượng

Lưu ý: Xin lưu ý rằng tôi sử dụng micrô / loa USB trên web và cả micrô / loa Tương tự. Tôi muốn áp dụng cho tất cả để chắc chắn.


1
Nếu bất cứ ai đến đây từ Ubuntu để sửa các nút điều khiển âm lượng của họ, hãy đặt phím bấm <command>amixer -D pulse sset Master 3%+ unmute</command>có liên quan ~/.config/openbox/lubuntu-rc.xmlvà sau đó chạy openbox --reconfigurenó cho tôi
rhombidodecahedron

Câu trả lời:


80

Bạn có thể sử dụng amixer . Nó nằm trong alsa-utilsgói trên Ubuntu và Debian.

Chạy amixermà không có tham số để có cái nhìn tổng quan về các điều khiển của bạn cho thiết bị mặc định.

Bạn cũng có thể sử dụng alsamixermà không cần tham số (từ cùng một gói) để có cái nhìn tổng quan hơn. Sử dụng F6 để xem và chuyển đổi giữa các thiết bị. Thông thường, bạn có thể có PulseAudio và soundcard phần cứng để chọn.

Sau đó sử dụng amixervới setlệnh để đặt âm lượng. Ví dụ: để đặt kênh chính thành 50%:

amixer set Master 50%

Master là tên điều khiển và phải khớp với tên mà bạn thấy khi chạy mà không có tham số.

Lưu ý %dấu hiệu, nếu không có nó, nó sẽ coi giá trị là mức 0 - 65536.

Nếu PulseAudio không phải là thiết bị mặc định của bạn, bạn có thể sử dụng công -Dtắc:

amixer -D pulse set Master 50%

Các lệnh hữu ích khác được chỉ ra trong các ý kiến:

Để tăng / giảm âm lượng sử dụng +/-sau số, hãy sử dụng

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

Để tắt tiếng, bật tiếng hoặc chuyển đổi giữa trạng thái tắt / không bật, sử dụng

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

Cũng lưu ý rằng có thể có hai tỷ lệ phần trăm khác nhau, nguyên liệu mặc định và đối với một số thiết bị, thang đo tự nhiên hơn dựa trên decibel , cũng được sử dụng bởi alsamixer. Sử dụng -Mđể sử dụng sau.

Cuối cùng, nếu bạn chỉ quan tâm đến PulseAudio, bạn có thể muốn kiểm tra pactl(xem một trong những câu trả lời khác).


4
Cảm ơn! Có hai cách để làm điều này 1. Như ví dụ tuyệt vời của bạn: amixer đặt Master câm; amixer đặt Master unmute; 2. yum -y cài đặt xdotool; khóa xdotool XF86AudioRaiseVolume; khóa xdotool XF86AudioLowerVolume;
YumYumYum

15
Và như một sự bổ sung, bạn có thể tăng hoặc giảm âm lượng bởi amixer set Master 10%+amixer set Master 10%-
người dùng

2
Điều này không hoạt động trong Ubuntu.
Cerin

2
Tôi không đồng ý @Cerin. Điều này hoạt động trên Ubuntu LTS 12 ngay bây giờ. Lưu ý rằng Min master là phân biệt chữ hoa chữ thường (phải viết hoa).
tro999

5
Cerin nói đúng. Điều này không hoạt động. Những gì hoạt động là:amixer -D pulse sset Master 50%
shivams

30

Để tắt tiếng:

amixer -D pulse sset Master mute

Để bật tiếng:

amixer -D pulse sset Master unmute

Để tăng âm lượng lên 5%:

amixer -D pulse sset Master 5%+

Để giảm âm lượng xuống 5%:

amixer -D pulse sset Master 5%-


1
Bạn cũng có thể thêm bật tiếng cho các lệnh sau để tự động bật tiếng khi bạn thay đổi âm lượng (để thuận tiện):amixer -D pulse sset Master unmute 5%+
Roman Golyshev

16

pactl / pacmd (không giống như amixer) cho phép tăng âm lượng trên 100% :-).

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)

Có thể cài đặt thủ công trên 100% pavucontrol(không giống như alsamixer).

LƯU Ý: Nếu bạn muốn chia sẻ cùng một lệnh trên các máy chủ khác nhau với các mức chìm khác nhau, bạn có thể sử dụng @DEFAULT_SINK@làm số chìm thay vì số 0:

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

Bạn đặt bồn rửa mặc định của bạn với pactl set-default-sink my-sink-name(liệt kê tên với pactl list short sinks).

CẬP NHẬT: đã thêm toggle mute(nhờ Don Joe).

Nguồn: Askubfox.com , wiki.archlinux.org .


5

Âm lượng cao hơn:

amixer set Master 3%+

Âm lượng thấp hơn:

amixer set Master 3%-

Tắt tiếng:

amixer set Master toggle

Ví dụ keybindings cho i3/ sway, các lệnh nằm sau 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

nếu người dùng đã tắt tiếng thiết bị, bạn phải 'bật tiếng' thiết bị. nếu không, cài đặt phần trăm sẽ hoạt động nhưng âm thanh vẫn tắt

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

3

Câu trả lời của pevik gần như đúng cho PulseAudio, với hai điều cần đề cập:

  • lệnh thay đổi âm lượng âm sẽ tạo ra lỗi vì phần trừ của phần đó sẽ được hiểu là một tùy chọn riêng biệt (không được nhận dạng); bạn cần tắt phân tích cú pháp tùy chọn với một dấu trừ ở đâu đó trước số âm, ví dụ: "- 5%"

  • trạng thái tắt tiếng thực sự là thứ có thể chuyển đổi với cùng một phím, sẽ không hoạt động nếu bạn chỉ đặt âm lượng thành giá trị cố định là 0, vì vậy lệnh đúng cho điều đó sẽ là:

pactl set-sink-mute @DEFAULT_SINK@ toggle

LE: Liệu gợi ý đầu tiên có thể áp dụng được hay không có thể tùy thuộc vào phiên bản PulseAudio bạn đang chạy hoặc vào một thứ khác trong bản phân phối - Tôi nhận thấy rằng trên Ubuntu 16, nó hoạt động mà không có "-" và không thành công nếu tôi thêm "-" Trước phần trăm âm.


Rất tốt, điều đó làm cho nó hoàn hảo khi chúng tôi thay đổi người quản lý cửa sổ rất nhiều để có được khung hình chơi game tốt hơn, vì vậy tôi sử dụng xbindkeys-configvà tôi thậm chí không phải khởi động lại X :) (lol nụ cười ... không có ý định chơi chữ lol)
Bảo Bình Điện

2

amixer làm việc cho tôi nhưng tôi đã không có được hình ảnh động đẹp mà tôi có được khi nhấn nút tăng âm lượng trên bàn phím.

Tôi quyết định sử dụng xteđể nhấn trực tiếp phím đó từ dòng lệnh:

Tăng âm lượng: xte 'key 0x1008ff13'

Giảm âm lượng: xte 'key 0x1008ff11'

Tắt tiếng: xte 'key 0x1008ff12'

Tôi đã tìm ra keyym (số hex đó) bằng cách sử dụng xev.

sudo apt-get install xbindkeys xautomation
xev

và sau đó nhấn nút tăng âm lượng trên bàn phím của bạn để lấy keyym. Sym sym có thể thay đổi từ hệ thống này sang hệ thống khác, vì vậy tìm nó từ xev sẽ là cách đáng tin cậy nhất.

Kết quả trông như thế này đối với tôi:

Sự kiện KeyRelease, nối tiếp 37, NO tổng hợp, cửa sổ 0x2c00001, root 0xef, subw 0x0, time 6660080, (566,573), root: (664,651), trạng thái 0x0, mã khóa 123 (keyym 0x1008ff13, XF : XFilterEvent trả về: Sai

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.