เป็นไปได้หรือไม่ที่จะตั้งระดับเสียงโดยใช้เทอร์มินัลแทนที่จะคลิกที่ไอคอนลำโพงในแถบด้านบน
เหตุผลที่ฉันต้องการทำเช่นนี้คือคีย์บอร์ดของฉันไม่มีปุ่มเพิ่ม / ลดระดับเสียงและฉันคิดว่ามันน่ารำคาญสำหรับเมาส์
เป็นไปได้หรือไม่ที่จะตั้งระดับเสียงโดยใช้เทอร์มินัลแทนที่จะคลิกที่ไอคอนลำโพงในแถบด้านบน
เหตุผลที่ฉันต้องการทำเช่นนี้คือคีย์บอร์ดของฉันไม่มีปุ่มเพิ่ม / ลดระดับเสียงและฉันคิดว่ามันน่ารำคาญสำหรับเมาส์
คำตอบ:
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%+