023. Raspberry Pi 라즈베리 파이 - USB Speaker 스피커 선택적으로 사용하기 (Jessie & RetroPie v4.4.13) rc.local 이용
말이 선택적이지 사실 별거없습니다
rc.local을 사용해서 USB 스피커가 연결되있으면
alsa default를 USB 스피커로 변경해 주는 스크립트를 추가 할거에요
USB 스피커가 없는데 defaut로 card 1을 설정해놓으면
ALSA에러가 뜨는게 참 맘에 안들었거든요(소리도 안나오거든요)
사운드카드 설정을 확인합니다
aplay -l
card 0는 pi기본 사운드카드
card 1은 연결된 USB 스피커에요
사운드 설정(asound.conf)에 따라서 default를 변경할 수 있으니
rc.local에 asound.conf를 작성하는 스크립트를 추가합니다
/proc/asound 디렉토리의 파일을 이용할까 했는데
편의상 aplay -l 이용했습니다
sudo vim /etc/rc.local
#USB스피커 설정 if aplay -l | grep card\ 1 > /dev/null; then echo "connect USB Speaker" echo "pcm.!default {\n type hw card 1\n}" > /etc/asound.conf echo "ctl.!default {\n type hw card 1\n}" >> /etc/asound.conf else echo "not connect USB Speaker" echo "pcm.!default {\n type hw card 0\n}" > /etc/asound.conf echo "ctl.!default {\n type hw card 0\n}" >> /etc/asound.conf fi |
적당한곳에 추가해주면 됩니다
설명을 하자면 aplay -l 명령 실행시 card 1이 있는지 확인하는 스크립트입니다
사실 alsa 옵션같은거 잘몰라서 되는거만 넣었습니다 device 같은건 잘몰라서 뺐어요
else를 안넣게 되면 파일을 덮어쓰질 않으니 card 1로 설정이 남아있는 문제가 생깁니다
아니면 파일을 삭제하면 default가 당연히 card 0로 되니 삭제하셔도 되고요
당연하게도 exit 0 보다는 위에있어야 합니다
> 는 덮어쓰기 >> 이어쓰기 그리고 \n 은 줄바꿈 입니다
이제 부팅할때 사운드 카드 card 1이 있으면
default 로 card 1을 잡아줄거에요
기본사용 사운드카드 0
기본사용 사운드 카드 1 (USB 스피커)
적용 테스트는 재부팅 후 음원파일 재생을 해서 USB에서 나오면 성공입니다
aplay /usr/share/sounds/alsa/Noise.wav |
참고
025. Raspberry Pi 라즈베리 파이 - USB 외장하드 mount 마운트하기 (rc.local) (0) | 2016.08.29 |
---|---|
024. Raspberry Pi 라즈베리 파이 - USB 외장하드 mount 마운트하기 (fstab) (0) | 2016.08.23 |
022. Raspberry Pi 라즈베리 파이 - USB Speaker 스피커 사용하기 (Jessie & RetroPie v4.4.13) (0) | 2016.08.12 |
021. Raspberry Pi 라즈베리 파이 - USB Speaker 스피커 사용하기 (wheezy) (0) | 2016.08.11 |
020. Raspberry Pi 라즈베리 파이 - samba 삼바(파일공유) (0) | 2016.08.03 |
댓글 영역