เป็นไปได้หรือไม่ที่จะตั้งระดับเสียงโดยใช้เทอร์มินัลแทนที่จะคลิกที่ไอคอนลำโพงในแถบด้านบน
เหตุผลที่ฉันต้องการทำเช่นนี้คือคีย์บอร์ดของฉันไม่มีปุ่มเพิ่ม / ลดระดับเสียงและฉันคิดว่ามันน่ารำคาญสำหรับเมาส์
เป็นไปได้หรือไม่ที่จะตั้งระดับเสียงโดยใช้เทอร์มินัลแทนที่จะคลิกที่ไอคอนลำโพงในแถบด้านบน
เหตุผลที่ฉันต้องการทำเช่นนี้คือคีย์บอร์ดของฉันไม่มีปุ่มเพิ่ม / ลดระดับเสียงและฉันคิดว่ามันน่ารำคาญสำหรับเมาส์
คำตอบ:
alsamixer
สำหรับการใช้งานแบบโต้ตอบที่คุณสามารถใช้ สำหรับการเขียนสคริปต์ (เช่นการผูกกับคีย์ผสม) amixer
จะดูที่
alsamixer
รวมอยู่ในค่าเริ่มต้นในระบบส่วนใหญ่
ในการตั้งค่าการใช้โวลุ่มหลัก:
# Gets a list of simple mixer controls
$ amixer scontrols
จากนั้นตั้งเป็นปริมาณที่ต้องการเป็นตัวอย่าง
$ amixer sset 'Master' 50%
man amixer
แนะนำว่าสิ่งเหล่านี้เทียบเท่ากันและ "s" ใน "sset" หมายถึง "simple" นอกจากนี้ยังมี "ชุด" ที่ตั้งค่าเนื้อหาการควบคุมการ์ด
พบในไฟล์กำหนดค่าของ Openbox rc.xml
:
# increase by 3%
amixer -q sset Master 3%+
# decrease by 3%
amixer -q sset Master 3%-
# mute/unmute
amixer -q sset Master toggle
amixer
หน้าคู่มือสามารถให้รายละเอียดเพิ่มเติม
หากระบบของคุณใช้อยู่pulseaudio
คุณสามารถใช้pactl
:
pactl set-sink-volume 0 +15%
หรือ
pactl set-sink-volume 0 -5dB
แม้ว่าคุณจะสามารถระบุจำนวนเต็มหรือตัวประกอบเชิงเส้นได้:
set-sink-volume SINK VOLUME [VOLUME ...]
Set the volume of the specified sink (identified by its symbolic name or numerical index). VOLUME can be speci‐
fied as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage (e.g. 10%, 100%) or a
decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume adjustment will be
relative to the current sink volume. A single volume value affects all channels; if multiple volume values are
given their number has to match the sink's number of channels.
pactl
คำสั่งที่รับอาร์กิวเมนต์เปอร์เซ็นต์ลบจะล้มเหลวพร้อมข้อผิดพลาด 'ตัวเลือกไม่ถูกต้อง' ใช้--
อาร์กิวเมนต์ pseudo เชลล์มาตรฐานเพื่อปิดการใช้งานการแยกวิเคราะห์อาร์กิวเมนต์ก่อนอาร์กิวเมนต์ลบ เช่นpactl set-sink-volume 1 -- -5%
--
ค่าลบ (เปอร์เซ็นต์, db, จำนวนเต็ม ... ทั้งหมดทำงานได้ดี) ในความเป็นจริงมันค่อนข้างตรงข้าม : ถ้าผมใช้--
ตามเช่นวิกิพีเดียที่ฉันได้รับpactl set-sink-volume 1 -- -3%
Invalid volume specification
--
ฉันจะได้รับตัวเลือกที่ไม่ถูกต้อง
bash
และzsh
) รุ่นก่อนหน้าอาจเป็นpactl
ปัญหานี้และอัปสตรีมมีแนวโน้มที่จะแก้ไขได้ (ฉันใช้เวอร์ชัน 6.0)
ฉันรู้ว่านี่เป็นของเก่า เนื่องจาก Alsa และ pulseaudio เชื่อมต่อกันมากคำตอบจาก askubuntu นี้ช่วยให้ฉันจัดการระดับเสียงจากทั้งเสียงหลักและ HDMI:
เพิ่มปริมาณ
amixer -q -D pulse sset Master 10%+
ลดระดับเสียง
amixer -q -D pulse sset Master 10%-
สลับปิดเสียง
amixer -q -D pulse sset Master toggle
คำสั่ง amixer sset อื่น ๆ ก็ทำงานเช่นกัน
เหล่านี้เป็น "ธรรมชาติมากขึ้นสำหรับหูมนุษย์"
ในการรับต้นแบบในหน่วย alsamixer ให้ใช้:
amixer -M get Master
ในการเพิ่มระดับเสียง 5% ในหน่วย alsamixer เช่น:
amixer -M set Master 5%+
ใน OS X ใช้สิ่งต่อไปนี้:
# highest
osascript -e "set Volume 7"
# lowest
osascript -e "set Volume 1"
# middle
osascript -e "set Volume 3.5"
คุณยังสามารถตั้งค่าระดับเสียงเป็นระดับเศษส่วนอื่น ๆ :
# 25%
osascript -e "set Volume 1.75"
คุณสามารถลองpamixer
โครงการล่าสุดที่ทำสิ่งที่คุณต้องการ มันอยู่ในที่เก็บ ArchLinux AUR ที่มีชื่อเดียวกัน
amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }'
เพิ่มระดับเสียงหลักโดย 10%:amixer -q sset Master 10%+