mplayer는 command로 제어하기 편리한 오디오 재생 프로그램입니다.
특히 slave mode를 통해서 제어가 가능합니다.
mplayer의 설치
sudo apt-get install mplayer
mplayer의 간단한 재생
기본 출력으로 선정된 사운드 카드로 재생하는 방법입니다.
mplayer test.mp3
특정 사운드 카드를 선정해서 재생할 수도 있습니다. 사운드 카드 번호는 aplay -l 을 통해 확인할 수 있습니다.
mplayer -ao alsa:devie=hw=0.0 test.mp3
만약 -ao를 사용하지 않고 지속적으로 사운드 카드를 지정하고 싶다면 다음이 파일 내용을 조정합니다.
sudo nano ~/.mplayer/config
원하는 사운드 카드 번호를 입력합니다.
ao=alsa:device=hw=0.0
4번 반복하고 싶으면 다음과 같이 하면 됩니다. 4 대신에 0을 입력하면 무한 반복입니다.
mplay -loop 4 test.mp3
playlist로 재생
재생을 원하는 파일을 리스트로 만들에 재생이 가능합니다. 재생하고자 하는 파일의 playlist를 nano를 통해 등록하거나 다음의 명령어를 통해 묶음을 만들면 됩니다.
다음은 Music 폴더에 있는 *.mp3와 *.wav의 파일명을 추출해서 결과를 t.list로 만들었습니다.
결과의 수정은 nano 등을 활용하면 됩니다.
find /home/pi/Music -type f -iname "*.mp3" -o -iname "*.wav" > t.list
playlist를 shuffle 모드로 재생하는 방법입니다. 물론 -loop를 함께 사용해도 됩니다.
mplayer -shuffle -playlist t.list
mplayer의 slave mode
slave mode는 mplayer를 다른 프로그램이나 콘솔에서 제어할 수 있도록 지원하는 방식입니다.
즉 mplayer의 동작을 다른 프로그램에서 제어가 가능해집니다.
이를 위해서 특별한 파일을 공유하게 되는데 리눅스의 fifo 파일입니다.
특별한 상태가 아니면 다음 명령어로 fifo 파일을 만듭니다. 이름은 편리하게 선택하면 됩니다. 확장자는 없습니다.
mkfifo /home/pi/mplayer_fifo
그리고 다음과 같이 mplayer를 실행하면 slave mode로 동작합니다. 여기서는 playlist를 사용해서 재생하겠습니다.
mplayer -slave -input file=~/mplayer_fifo -shuffle -playlist t.list
slave mode로 player를 조정하려면 mplayer의 명령어를 mplayer_fifo에 입력하면 됩니다. 명령어는 mplayer의 protocol 서류를 참조해야 합니다.
ftp://ftp2.mplayerhq.hu/MPlayer/DOCS/tech/slave.txt
예를 들어 재생 중인 오디오를 잠시 멈추고 싶다면 다음과 같이 하면 됩니다.
그러면 mplayer가 mplayer_fifo의 명령어를 수신해서 동작에 반영합니다.
echo "pause" > ~/mplayer_fifo
현재의 재생 상태도 fifo를 통해 얻을 수 있습니다.
광고좀 꾹 눌러주시면 고맙겠습니다.
위의 내용을 참조용으로만 사용해주세요. 무단 도용이나 무단 복제는 불허합니다.
기타 문의 사항은 gigasound@naver.com에 남겨 주시면 고맙겠습니다.
'Linux Audio' 카테고리의 다른 글
alsamixer의 조정 명령어 (0) | 2021.08.11 |
---|---|
alsa의 믹서 조정 (0) | 2021.08.10 |
alsa와 usb 사운드 카드 설치 (0) | 2021.08.10 |