태그 보관물: sound-card

sound-card

Alsa에서 선호하는 사운드 장치를 자동으로 선택하는 방법은 무엇입니까? 장치가 연결되어 있고 장치가 연결되어

USB 사운드 카드를 구입했습니다. USB 장치가 연결되어 있고 장치가 연결되어 있지 않은 경우 자동으로 전환되는 경우 USB 장치를 선호하도록 Linux 데스크톱을 설정하고 싶습니다. 가능하고 어떻게?



답변

카드 찾기

$ cat /proc/asound/cards

유효한 ALSA 카드 이름을 얻으려면 다음을 사용하십시오 aplay.

$ aplay -l

그런 다음 다음을 사용 /etc/asound.conf하여 만듭니다 .

pcm.!default {
    type hw
    card 1
}

ctl.!default {
    type hw
    card 1
}

“카드 1″을 위에서 결정한 카드 번호 또는 이름으로 바꾸십시오.

또는 카드 순서를 변경 하여 USB 카드가 카드 0이되고 편집하지 않고 작동 할 수 있습니다 asound.conf.


답변

Alsa에서 기본 사운드 카드를 선택하는 방법입니다. Pulse Audio를 사용하는 경우이 방법이 작동하도록 Alsa를 설치할 수 있습니다.

고양이 / proc / asound / modules

사운드 모듈을 나열합니다. 명령 출력은 다음과 같습니다 (예 :).

0 snd_hda_intel

1 snd_usb_intel

USB 사운드 카드가 무엇인지 쉽게 이해할 수 있습니다.

나노 /etc/modprobe.d/alsa-base.conf

이 alsa-base.conf를 편집하여 선호하는 카드의 색인이 -2 / 0이고 다른 카드의 색인이 -1 / 1이되도록하십시오 (-2 및 -1에 고정)

옵션 snd_hda_intel index = -1

옵션 snd_usb_intel index = -2

이 경우 USB 장치가 선호되는 장치입니다.

다음과 같이 출력에서 ​​이름이 같은 두 개의 다른 카드가있는 경우 :

옵션 snd_hda_intel

옵션 snd_hda_intel

이 명령을 실행하여 어떤 것을 찾으십시오.

고양이 / proc / asound / cards

그런 다음 이런 방식으로 모듈을 편집하십시오.

옵션 snd_hda_intel enable = 1 index = 0

옵션 snd_hda_intel enable = 0 index = 1

재부팅이 필요할 수 있으므로 사운드 카드를 수동으로 전환해야 할 수도 있습니다.


답변

또한 USB 장치에서 출력을 얻을 수 없었습니다. 내 cat /proc/asound/modules결과는 다음과 같습니다

0 snd_hda_intel

1 snd_hda_intel

2 snd_usb_audio

나는 여기에 설명 된 두 가지 답변을 시도했지만 (많은 색인 조합과 많은 재시작으로) 도움이되지 않았습니다. 부팅 후 USB 장치가 초기화 된 것이 문제라고 생각합니다. 어쨌든 내 작업 솔루션은 /etc/modprobe.d/blacklist.conf다음과 같이 업데이트 하여 다른 2 개의 사운드 장치를 블랙리스트에 추가합니다 .

blacklist snd_hda_intel

답변

Matija Nalis의 답변은 절반 만 나에게 도움이되었습니다 (alsamixer는 기본값을 변경했지만 aplay 및 firefox와 같은 다른 것들은 완고하게 잘못된 기본값으로 고착되었습니다). 데비안 위키의이 예제는 CentOS-6 랩톱에서 저에게 효과적이었습니다.

defaults.pcm.!card Generic_1
defaults.ctl.!card Generic_1
defaults.pcm.!device 0
defaults.ctl.!device 0

기록을 위해 : ALSA는 잘 문서화되어 있지 않으며, 특히 사용할 카드를 선택하는 것과 같은 매우 간단한 것들이 너무 어렵다. 더 나쁜 것은 시스템간에 변화하는 것 같습니다. 또한 aplay -l에서 “Generic_1″태그를 가져 와서 목록에서 “card 1″로 나타납니다. 다른 사람들이 그것을 사용하는 것처럼 보였으므로 나는 똑같이했습니다 … 말할 수 없다는 것을 의미합니다.


답변

.asoundrc 또는 시스템 asound.conf를 편집하여 기본 alsa 카드를 변경할 수 있지만이 방법에는 몇 가지 중요한 문제가 있습니다.

깨지기 쉽고 응용 프로그램을 다시 시작해야합니다.

카드를 즉석에서 전환하려면 펄스 오디오와 같이 사운드 카드에서 응용 프로그램을 올바르게 추상화하는 사운드 서버를 사용해야합니다.


답변

Matija Nalis와 Tel의 답변은 다음과 같습니다. 이것이 나를 위해 일한 것입니다.

~ / .asoundrc

defaults.pcm.!card 1
defaults.ctl.!card 1

(Odroid C0, Debian Jessie, 카드 0은 HDMI 오디오, aplay -l에 따라 카드 1은 USB 사운드 카드)

참고 : / proc / asound / modules가 존재하지 않고 블랙리스트에 올리거나 우선 순위가 낮은 hdmi 오디오 모듈이 없으므로 다른 방법이 작동하지 않았습니다. 커널에 포함되어 있습니다. hdmi 오디오를 지원하지 않고 커널을 완전히 다시 컴파일해야 할 것 같습니다.


답변