음소거 키는 Alsa 및 PulseAudio를 음소거하지만 Alsa 만 음소거 해제


20

키보드에서 음소거 키를 누르면 Alsa 마스터 채널과 PulseAudio 마스터 채널이 모두 음소거됩니다. 다시 누르면 Alsa 마스터 채널의 음소거가 해제되고 펄스 오디오 마스터 채널은 음소거됩니다. 결과 : 소리가 들리지 않습니다. 어떻게 고치나요?

답변:


11

이 명령을 실행하십시오 :

amixer -D pulse set Master 1+ unmute

12
이 명령이 다른 사용자에게 무엇을 알 수 있는지 설명 할 수 있습니까?
Monica Monica 복원-ζ--

1
그 1+는 무엇입니까? 믹서의 매뉴얼 페이지에서 설명을 찾을 수 없습니다.
jarno

명령을 하드웨어 키에 바인딩하는 경우 음소거 해제 대신 전환을 사용하는 것이 유용합니다.amixer -D pulse set Master 1+ toggle
Pol Alvarez Vecino

20

그래도 훨씬 간단합니다.

amixer -D pulse set Master Playback Switch toggle

이것을 "Mute \ Unmute"단축키로 설정하십시오. 볼륨 컨트롤을 그대로 둘 수 있습니다.

민트 15 메이트-혼자서 알아 내고 잘 작동합니다.


그것이 무엇이든간에-아치 리눅스에서 잘 작동했습니다. 음소거 및 음소거 해제 된 소리가 성공적으로 발생했습니다. 이제 기본 명령으로 모든 채널의 음소거가 해제되지 않기 때문에 랩톱의 음소거 명령에서이 명령을 바인딩했습니다. 감사
Erikas

이것은 우분투 14.04 + i3에서 나에게 도움이되었지만 받아 들인 대답은 효과가 없었습니다.
Ingo Bürk

1
amixer -D pulse set Master toggle할 것이다. Amixer는 set 또는 sset 명령에 대한 간단한 믹서 컨트롤 이름을 필요로하며 완전한 믹서 컨트롤 이름을 수락하더라도 이러한 다중 단어 이름을 인용해야합니다. 다음 playback과 같이 명령에 선택적 수정자를 사용할 수 amixer -D pulse set Master playback toggle있지만 Master캡처 기능이없는 경우 불필요 합니다. 시스템이 서라운드 사운드를 지원하는 경우 옵션 수정자를 사용하여 명령이 적용되는 채널을 제어 할 수도 있습니다.
jarno

5

Linux Mint Debian Edition (201204)에서 MATE 데스크탑을 실행하는 것과 동일한 문제가있었습니다.

"볼륨 증가"조치로 볼륨을 음소거 해제 할 수 없습니다. 문제는 Pulseaudio와 관련이 있지만 패키지 mate-media-gstreamermate-settings-daemon-gstreamer기본적으로 설치된 위치에 있다는 것을 깨달았습니다 . 설치 mate-media-pulsemate-settings-daemon-pulse제거 ( mate-media-gstreamer및 제거 mate-settings-daemon-gstreamer) 및 tadam ... "볼륨 증가"작업으로 볼륨을 다시 음소거 해제 할 수있었습니다!

나는 이것이 당신에게도 효과가 있기를 바랍니다!


나를 위해 일한 (Debian Jessie에서)이 솔루션은 영구적 인 반면 AFAIU 솔루션 amixer -D pulse set Master xxx은 한 번이거나 바로 가기에 수동으로 매핑해야합니다. 여기에 제안 된 솔루션은 원래 의도 한대로 보입니다.
Jérôme

2

펄스 오디오에 문제가 있으며, alsa 또는 믹서에 대한 명령이 펄스에 음소거를 제대로 보내지 않습니다. alsa 명령이 음소거 신호를 보내면 토글 명령입니다 (음소거 / 음소거 해제를 위해 같은 명령을 보냅니다).

이제 pulseaudio에는 별도의 음소거 및 음소거 해제 코드가 있습니다! 많은 사람들이 pulseaudio를 설치 제거하면 문제가 해결 될 것이지만, 실제로는 받아 들일 수없는 대답이 아닙니다 (펄스는 많은 앱에 유용하기 때문에).

이 문제를 해결하려면 스크립트를 만들어야합니다.

1- gedit 또는 마우스 패드와 같은 텍스트 편집기에서 빈 문서를 새로 만듭니다.

2- 문서에이 코드를 붙여 넣습니다. 코드소서 : 2

#!/bin/bash
#### Create ~/.pulse/mute if not exists
ls ~/.pulse/mute &> /dev/null
if [[ $? != 0 ]]
then
    echo "false" > ~/.pulse/mute
fi

####Create ~/.pulse/volume if not exists
ls ~/.pulse/volume &> /dev/null
if [[ $? != 0 ]]
then
    echo "65536" > ~/.pulse/volume
fi

CURVOL=`cat ~/.pulse/volume`     #Reads in the current volume
MUTE=`cat ~/.pulse/mute`          #Reads mute state

if [[ $1 == "increase" ]]
then
    CURVOL=$(($CURVOL + 3277)) #3277 is 5% of the total volume, you can change this to suit your needs.
    if [[ $CURVOL -ge 65536 ]]
    then
        CURVOL=65536        
    fi
elif [[ $1 == "decrease" ]]
then
    CURVOL=$(($CURVOL - 3277))
    if [[ $CURVOL -le 0 ]]
    then
        CURVOL=0        
    fi
elif [[ $1 == "mute" ]]
then
    if [[ $MUTE == "false" ]]
    then
        pactl set-sink-mute 0 1
        echo "true" > ~/.pulse/mute
    exit    
    else
        pactl set-sink-mute 0 0
        echo "false" > ~/.pulse/mute    
    exit
    fi
fi

pactl set-sink-volume 0 $CURVOL
echo $CURVOL > ~/.pulse/volume # Write the new volume to disk to be read the next time the script is run.

3- 파일 이름을 "volume"(확장자 필요 없음)으로 지정하고 홈 폴더와 같이 찾을 수 있고 삭제하지 않는 곳에 두십시오.

4- 파일을 마우스 오른쪽 버튼으로 클릭하여 파일을 실행 가능하게 설정하고 속성과 사용 권한 탭으로 이동 한 다음 확인란을 사용하여 실행 가능으로 표시하면 스크립트를 실행할 수 있습니다. 실행 가능한 GUI 파일

5- 그런 다음 명령을 키보드에 연결해야합니다. 코드 명령은 증가, 감소 및 음소거입니다.

키보드 설정 -how-do-i-change-my-keyboard-shortcuts-in-xubuntu 로 이동하십시오. 키보드 단축키 영역에서 추가를 클릭하고 연 다음 생성 한 "볼륨"파일을 연 다음 명령을 추가하십시오 볼륨 후의 코드, 읽기 볼륨 증가 또는 볼륨 음소거 . "/ home / username / volume mute" 와 같이 코드 파일 앞에있는 위치

그런 다음 키를 눌러 키보드에 할당하거나 키가 이미 사용
된 경우 ~ 가능하면 ~ 찾아서 명령을 바꾸십시오.

주요 단축키는 XF86AudioRaiseVolume, XF86AudioLowerVolume, XF86AudioMute라고 합니다. 음소거 만 해제되었으므로 먼저 변경에 집중하십시오.

버그 : 1


방금 XF86AudioMute명령에 매핑했습니다 amixer set Master toggle. 상승 및 하강 vol 키는 amixer명령 과 유사하게 매핑됩니다 .
Chan Chan Ho

@ Chan-HoSuh 같은 문제가 있습니까? 펄스가 내 컴퓨터의 음소거를 가로 채기 위해 어떤 이유로 펄스가 음소거로 해석되거나 키 누름을 가로채는 토글을 보내려면 원하는 경우이 스크립트의 음소거 명령을 호출하면됩니다. 이전에 볼륨 표시 줄을 표시 한 비슷한 스크립트를 사용하고있었습니다. (, 그러나 이것은 음소거 및 음소거 해제되었으며 이제 알림이 표시되므로 모두 좋습니다. 토글은 이전에 설정된 방식입니다.
Mateo

스크립트의 작은 개선점 중 하나는 볼륨 증가 / 감소시 음소거 해제를 강제하는 것입니다. 또한 볼륨에 대한 피드백을 얻기 위해 'paplay /usr/share/sounds/ubuntu/stereo/message.ogg'를 추가했습니다.
dma

아마 전에 다른 이었지만, 펄스 오디오 4.0 당신은 같은 명령을 사용할 수 있습니다 pactl set-sink-volume 0 +5%, pactl set-sink-volume 0 -5%그리고 pactl set-sink-mute 0 toggle각각 볼륨 감소 볼륨과 볼륨 토글을 증가.
jarno

@jarno 네, 이것은 특정 문제 (버그)를 해결하기위한 것이기 때문에 문제가 해결되거나 관련이 없을 수도 있지만, 아무것도 작동하지 않으면 멋진 작은 해킹으로 남아 있습니다
Mateo


1

12.10에서 나를 위해 일했습니다.

    #!/bin/sh
    amixer -c 0 sset Master,0 mute
    sleep 5
    amixer -D pulse set Master 1+ unmute

1

KDE 및 kmix 사용자의 경우이 스크립트를 사용하면 여전히 시각적 피드백이 작동합니다.

#! /bin/bash

DBUS=qdbus 2> /dev/null

case "$1" in
  volup)
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/increase_volume com.trolltech.Qt.QAction.trigger
        ;;
  voldn)
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/decrease_volume com.trolltech.Qt.QAction.trigger
        ;;
  mute)
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/mute com.trolltech.Qt.QAction.trigger
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo $(${DBUS} org.kde.kmix /Mixers/0/Master_0 org.kde.KMix.Control.mute | sed 's/false/0/g;s/true/1/g')
        ;;
  *)
    echo "Usage: mixctl <volup|voldn|mute>" >&2
    exit 1
    ;;
esac

exit 0

용법:

1) 저장 그것으로 ~ / 빈 / mixctl
2) 매핑 해제 볼륨 업에 대한 기본 kmix 키보드 단축키 / 볼륨 작게 및 음소거
3) '볼륨 업'이라는 세 가지의 새로운 사용자 지정 키보드 바로 가기 만들기 '볼륨 작게'와 '음소거'
- > 바로 가기 유형 : command-
> 명령이 ~ / bin / mixctl volup , ~ / bin / mixctl voldn~ / bin / mixctl 음소거를 각각 사용함에 따라


1

XFCE 4.10으로 업그레이드 된 여러 Xubuntu 12.04 시스템에서 동일한 문제가 발생했습니다. 다음은 명령 줄에서 (또는 bash스크립트로) 이 문제를 해결하는 매우 빠른 방법 입니다.

정지 간격 스크립트를 제공하는 이전 솔루션과 달리이 솔루션은 음소거 / 음소거 해제 버튼의 기능을 완전히 복원합니다.

문제를 한 번에 해결하려면 다음 두 명령을 한 번만 실행하면됩니다.

$ xfconf-query --channel xfce4-mixer --property /active-card --set PlaybackInternalAudioAnalogStereoPulseAudioMixer --reset
$ xfconf-query --create --channel xfce4-keyboard-shortcuts --property /commands/custom/XF86AudioMute --type string --set 'amixer -D pulse set Master 1+ toggle'

1

포럼 에서 저에게 잘 맞는 간단한 솔루션을 찾았습니다 . 자세하게는 이것을 다음에 추가해야합니다 /etc/asound.conf.

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

그런 다음 다음 명령을 사용하여 음소거 키의 키보드 단축키를 설정하십시오.

amixer set Master toggle

0

키보드 설정을 사용하여 여기 에서 찾은 명령을 실행하도록 음소거 버튼을 설정할 수 있습니다 . 이 링크에 나열된 첫 번째 방법은 나에게 쓸모가 없지만 두 번째 방법은 XFCE4에 효과적 $ pactl set-sink-mute 0 toggle입니다. 마우스 클릭시 명령을 실행하는 스크립트 또는 실행기를 만들 수도 있습니다.

당신은 계피 같은 것을 사용하는 경우 참고로, (그리고 아마도 다른 그놈 기반 데스크톱) user197761의 위 제안 계피의 사운드 애플릿이 볼륨이 음소거 인식으로, 더 나은 것 같다 amixer -D pulse set Master Playback Switch toggle(이 후자의 명령처럼, 그 / 그녀의 대답을 upvote에하십시오, 내 것이 아닙니다.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.