ALSA : 출력 장치를 일시적으로 변경하는 방법


15

ALSA에서 가능한 가장 간단한 일을하고 싶습니다 : 태블릿의 내부 스피커 대신 USB 헤드폰으로 소리를냅니다. 나는 다음과 같은 변경 설정 파일을 원하지 않는 asound.rc또는 alsa.confasound.conf하고, 내가 헤드폰을 분리 단지 때까지 임시 효과를 원하는 영구적으로 장치의 순서를 변경하여 기본 출력 장치로 헤드폰을 설정합니다. 이상하게도 대답을 Google에 표시 할 수 없습니다. 가 alsamixer그 일을 할 수있는 (더처럼 보인다)?

Gnome에서는 PulseAudioGUI 또는 CLI 인터페이스에서를 사용하여 현재 출력 장치를 쉽게 선택할 수 있지만 PulseAudioALSA에서 작동합니다! ALSA가 어떻게 출력 장치를 변경하게하는지 궁금합니다.


alsamixer인터페이스에 "사운드 카드 선택"옵션이 있지만 실제로 출력 장치를 설정하는지 여부는 알 수 없습니다.
goldilocks


안녕하세요, alsamixer터미널에서 exec 를 시도 하고 F6를 눌러 다른 사운드 카드를 선택할 수 있습니다. :)
slackmart

@ sgmart 안녕, sgmart, 나는 정확히 그렇게했지만 사운드를 해당 장치로 전송하지 않고 출력을 스트리밍하지 않고 매개 변수를 튜닝하기 위해 해당 장치를 선택합니다.
Boris Burkov

4
alsamixer 유틸리티에는 마스터, PCI 등의 일부 컨트롤이 있습니다. MM라벨 (MM = 음소거) 이 있는지 확인 하므로 M키보드 의 키를 사용하여 사운드를 활성화하십시오.
slackmart

답변:


4

USB 장치가 시스템에서 사운드 카드로 표시 man amixer되면 unmute매개 변수 를 확인 하고 사용할 수 있습니다.

amixer -c 1 set Master playback 100% unmute

다른 채널 (PCM 등)도 확인하십시오. 매뉴얼의 예는 다음과 같습니다.

   amixer -c 1 sset Line,0 80%,40% unmute cap
          will set the second soundcard's left line input volume to 80% and right line
          input to 40%, unmute it, and select it as a source for capture (recording).

   amixer -c 1 -- sset Master playback -20dB
          will set the master volume of the second card to -20dB.  If the  master  has
          multiple channels, all channels are set to the same value.

   amixer -c 1 set PCM 2dB+
          will  increase  the PCM volume of the second card with 2dB.  When both play‐
          back and capture volumes exist, this is applied to both volumes.

   amixer -c 2 cset iface=MIXER,name='Line Playback Volume",index=1 40%
          will set the third soundcard's second line playback volume(s) to 40%

   amixer -c 2 cset numid=34 40%
          will set the 34th soundcard element to 40%

고마워, 제리 ALSA에서 매뉴얼을 읽었으며 질문이 있습니다. amixer 및 alsamixer로 나열된 장치는 실제로 하드웨어 장치가 아니라 /usr/share/alsa/alsa.conf 및 친구들의 alsa 플러그인으로 만든 ALSA 장치입니까? 필자는 플러그인의 구문을 대부분 이해하지만 "pcm"또는 "ctl"또는 "type"과 같은 매우 기본적인 키워드의 정의를 찾을 수 없습니다. doxygen 문서에서 키워드 목록을 찾지 못했습니다 : alsa-project.org/alsa-doc/alsa-lib, alsa-project.org/alsa-doc/alsa-lib/conf.html. 그들에 대한 정보 출처를 알고 있습니까?
Boris Burkov

8
이것은 원래의 질문을 실제로 해결하지 못합니다. 매개 변수를 설정할 수 있지만 오디오가 출력되는 카드는 변경되지 않습니다.
스스로

2
이것이 실제로 원래의 질문에 대답한다면 완전한 예가 필요합니다. 이것이 alsamixer가 할 수없는 일을 어떻게합니까? 알사 믹서는 다른 사운드 카드를 통해 출력으로 전환 할 수 없습니다. 또는 필자의 경우 스피커 / 헤드폰 대신 HDMI와 동일한 사운드 카드를 통해 출력하고 싶었습니다. Pulseaudio는 이러한 일을 어떻게합니까? 좋은 답변을 얻으려면 처음부터 끝까지의 예가 필요합니다.
콜린 키넌

1
불쌍이는 대답으로 선정되었습니다 - 질문은 정확히 내가 무엇을 찾고 : 일시적으로 출력에 사용되는 카드를 변경하는 방법. 그러나 @oneself가 이미 언급 했듯이이 답변은 실제로 그렇게하는 방법을 설명하지 않습니다. 거의 같은 제목을 가진 새로운 질문을하는 것은 이제 중복 된 것으로 닫힐 것입니다.
domsson

1
@domsson 은이 링크를 다시 연결하고 답변으로 문제가 해결되지 않았다고 설명합니다. 그것은 속임수로 닫히지 않아야합니다.
terdon

0

IIUC 당신은 .asoundrc또는 /etc/asound.conf동적으로 업데이트 할 수 있습니다 . 따라서 두 개의 파일 headphones.conffront.conf기본 장치를 적절한 hw:channel,device숫자로 설정 한 다음 "ACPI 잭 / 헤드폰 HEADPHONE 플러그"이벤트로 전환 할 수 있어야합니다 . "ln"을 사용하여이 /etc/asound.conf중 하나에 연결하려고합니다./etc/sounds/{headphones,front}.conf

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