คุณจะปิดเสียงจากบรรทัดคำสั่งได้อย่างไร


คำตอบ:


71

สมมติว่าคุณใช้ไดรเวอร์ ALSA อยู่ให้เรียกใช้:

amixer set Master mute   
amixer set Master unmute

หรือคุณสามารถใช้:

amixer set Master toggle

เพื่อสลับปิดและปิดเสียง


6
สำหรับฉัน / ระบบของฉัน (แม่นยำ) นี่ไปทางเดียวเท่านั้น: ปิด / ปิดเสียง ไม่สลับหรือเปิดเสียงนำเพลงกลับมา ความคิดใด ๆ ว่าทำไม?
บ๊องเกี่ยวกับ natty


1
วิธีนี้มีไว้สำหรับอัลซาบริสุทธิ์ สำหรับ Alsa กับ PulseAudio ใช้คำสั่งจากคำตอบของทิม หรืออย่าแตะคำสั่งและกำหนดค่า Alsa แทนในคำตอบนี้ อื่น ๆ @ nutty เกี่ยวกับปัญหาของ natty ที่ไม่สามารถเปิดเสียงผลลัพธ์ได้
tanius

บน Ubuntu Server 14.04 "Master" ไม่สามารถใช้งานได้อย่างง่ายดาย ฉันใช้ "ผู้พูด" แทน ฉันพบการทดแทนโดยการเรียกใช้sudo amixerและค้นหาบรรทัดในผลลัพธ์ที่ตรงกับSimple mixer control 'Speaker',0
brycemcd

48

สิ่งนี้ใช้ได้กับฉันเมื่อคนอื่นไม่:

amixer -q -D pulse sset Master toggle

นี่คือจากลิงค์สั้น ๆเกี่ยวกับความคิดเห็นของ nattyกับคำตอบแรก:

สรรพนามของฉันคือเขา / เขา


1
ฉันเพิ่งตรวจสอบมันทำงานบน 14.04 ด้วย
ทิม

1
ทำมัน :) - kubuntu ที่นี่ (Ubuntu 14.04.2 LTS) ขอบคุณ.
hakre

1
-D pulseตัวเลือกนี้มีความจำเป็นเมื่อ Alsa ใช้กับ pulseaudio (และเนื่องจากคำถามถูกติดแท็ก pulseaudio จึงควรเป็นคำตอบที่ยอมรับได้) สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับโซลูชันนี้ดูที่นี่และที่นี่ที่ askubuntu
tanius

หมายเหตุ: คำตอบที่ยอมรับโดย @goric ไม่ทำงานเมื่อเสียบหูฟังหรือหูฟังให้ใช้สิ่งนี้
UniversallyUniqueID

หรือมีเลศนัยน้อยกว่า "สลับ" คุณสามารถใช้และamixer -q -D pulse sset Master mute amixer -q -D pulse sset Master unmuteใช้งานได้ดีบน Ubuntu 16.04
CPBL

23

ในการตั้งค่าของฉันบางครั้งการเปิดเสียงไม่สำเร็จไม่สำเร็จด้วยเหตุผลบางประการ ดังนั้นฉันใช้pactlในสคริปต์ของฉัน:

เพื่อปิดเสียง:

pactl set-sink-mute 0 1

และเปิดเสียง:

pactl set-sink-mute 0 0

ทดสอบกับ Ubuntu 12.10


ยังคงทำงานใน Ubuntu 15.10
tanius

อย่างนี้เป็นวิธีที่เหมาะสมในการดำเนินการกับ Ubuntu รุ่นใหม่ ใช้งานได้กับ 16.04 (ไม่สามารถแก้ไขได้)
มาร์คัส

16

บนเทอร์มินัลให้พิมพ์เพื่อปิดเสียง

amixer set Master mute

ชนิด

amixer set Master unmute

ทดสอบกับ Ubuntu 10.10 ของฉัน

PS: +1 สำหรับคำถามที่น่าสนใจ


1

หากคุณใช้alsaคำตอบติดตามแบบโกธิค

PulseAudio นั้นดีกว่า แต่ไม่ง่ายนัก: pactl set-sink-mute 0 1ทำงานให้กับอุปกรณ์เครื่องแรก แต่ไม่ใช่ถ้าคุณใช้หูฟังที่มีเอาต์พุตอื่น

วิธีที่ดีกว่าคือตรวจสอบpactl infoและDefault Sinkใช้งาน

DEFAULT_SINK=$(pactl info | grep "Default Sink" | cut -d " " -f3)

จากนั้นปิดเสียง:

pactl set-sink-mute "$DEFAULT_SINK" "1"

หรือเปิดเสียง:

pactl set-sink-mute "$DEFAULT_SINK" "0"

ฉันเขียนสคริปต์เพื่อจัดการ pulseaudio ในบันทึกย่อของฉัน หากคุณต้องการที่จะใช้บันทึกเป็นvolumeให้ผู้สิทธิ์และเพิ่มเข้าไปในเส้นทางของคุณchmod +x volume ln -sv $PWD/volume /usr/local/bin/ที่นี่สคริปต์ของฉัน:

#!/bin/bash
# script name: volume
# Author: glaudistong at gmail.com
# depends on: yad, coreutils, pulseaudio

ps -ef | grep "yad" | grep -E "Volume [^+\-]" | tr -s " " | cut -d " " -f2 | xargs -i kill "{}" 2>/dev/null
DEFAULT_SINK=$(pactl info | grep "Default Sink" | cut -d " " -f3)
DEFAULT_SOURCE=$(pactl info | grep "Default Source" | cut -d " " -f3)
case "$1" in 
    init)
    {
        ps -fe | grep yad | grep -q volume ||
        {
         yad --notification --command "volume up" --text "+ Volume +" --image ~/Pictures/volume-up-dark.png &
         yad --notification --command "volume down" --text "- Volume -" --image ~/Pictures/volume-down-dark.png &
        }
    };;
    up)
    {
        pactl set-sink-volume "$DEFAULT_SINK" +5%
        P=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
        iconl="$(echo -ne "\U1F50A")"
        iconr="$(echo -ne "\U1F56A")"
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$iconl Volume $P% $iconr" --no-focus --center --skip-taskbar --on-top &
    };;
    down)
    {
        pactl set-sink-volume "$DEFAULT_SINK" -5%
        P=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
        iconl="$(echo -ne "\U1F509")"
        iconr="$(echo -ne "\U1F569")"
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$iconl Volume $P% $iconr" --no-focus --center --skip-taskbar --on-top &
    };;
    mute)
    {
        ismute=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Mute" | grep "Name:" -A1 | tail -1 |cut -d: -f2| tr -d " ")
        if [ "$ismute" == no ]; then
            s=1
            P=0
            icon="$(echo -ne "\U1F507")"
        else
            P=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
            icon="🔊"
            s=0
        fi
        pactl set-sink-mute "$DEFAULT_SINK" "$s"
        echo $s > /sys/devices/platform/thinkpad_acpi/leds/platform::mute/brightness
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$icon Volume $P%" --no-focus --center --skip-taskbar --on-top &
    };;
    mic-up)
    {
        pactl set-source-volume "$DEFAULT_SOURCE" +5%
        P=$(pactl list | grep -E "Name: $DEFAULT_SOURCE$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
        icon="$(echo -en "\U1F3A4")"
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$icon Volume Mic $P%" --no-focus --center --skip-taskbar --on-top &
    };;
    mic-down)
    {
        pactl set-source-volume "$DEFAULT_SOURCE" -5%
        icon="$(echo -en "\U1F3A4")"
        P=$(pactl list | grep -E "Name: $DEFAULT_SOURCE$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$icon Volume Mic $P%" --no-focus --center --skip-taskbar --on-top &
    };;
    mic-mute)
    {
        ismute=$(pactl list | grep -E "Name: $DEFAULT_SOURCE$|Mute" | grep "Name:" -A1 | tail -1 |cut -d: -f2| tr -d " ")
        if [ "$ismute" == no ]; then
            s=1
            P=0
            icon="$(echo -en "\U1F507\U1F3A4")"
        else
            P=$(pactl list | grep -E "Name: $DEFAULT_SOURCE$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
            s=0
            icon="$(echo -en "\U1F3A4")"
        fi
        pactl set-source-mute "$DEFAULT_SOURCE" "$s"
        echo $s > /sys/devices/platform/thinkpad_acpi/leds/platform::micmute/brightness
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$icon Volume Mic $P%" --no-focus --center --skip-taskbar --on-top &
    };;
    *)
        echo invalid option;;
esac;
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.