それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Raspberry Pi のオーディオ・デバイスを指定して音を再生する。

USB オーディオを接続して音を鳴らす。

デフォルトのオーディオとしてUSBを設定するのが、楽チンで、優先度をUSB側に変えたら良いのだろうけど。

毎回設定変えてkmod をリロードするのもめんどくさい。

コマンドからオーディオデバイスを指定して音を鳴らしてみる。

aplay -D plughw:1,0 /usr/share/sounds/alsa/Front_Left.wav

ここで aplayコマンドについて

aplay は audio play のことで、WAVE音声ファイルを再生できる。m4a とかは無理なんだよ。

takuya@pizero:~ $ aplay -l

オーディオ・デバイスの一覧を見る。

**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA]
  サブデバイス: 8/8
  サブデバイス #0: subdevice #0
  サブデバイス #1: subdevice #1
  サブデバイス #2: subdevice #2
  サブデバイス #3: subdevice #3
  サブデバイス #4: subdevice #4
  サブデバイス #5: subdevice #5
  サブデバイス #6: subdevice #6
  サブデバイス #7: subdevice #7
カード 0: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 1: MicroII [Audio Advantage MicroII], デバイス 0: USB Audio [USB Audio]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

もしくは -L

takuya@pizero:~ $ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=ALSA
(中略
iec958:CARD=MicroII,DEV=0
    Audio Advantage MicroII, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=MicroII,DEV=0
    Audio Advantage MicroII, USB Audio
    Direct sample mixing device
dsnoop:CARD=MicroII,DEV=0
    Audio Advantage MicroII, USB Audio
    Direct sample snooping device
hw:CARD=MicroII,DEV=0
    Audio Advantage MicroII, USB Audio
    Direct hardware device without any conversions
plughw:CARD=MicroII,DEV=0
    Audio Advantage MicroII, USB Audio
    Hardware device with all software conversions

注目するのはデバイス番号

バイス番号を控えておく

今回はデバイス1の0ですから。

aplay -D plughw:1,0 /usr/share/sounds/alsa/Front_Left.wav

ここで、1−0で再生が確認できた。

このオプションを mplayer に渡してあげる。

 mplayer -vo null -ao alsa:device=plughw=1.0 test.mp4

ここで、

  • -vo は ビデオ(動画)の出力先 今回は nullにしてストリームを捨てる。
  • -ao は オーディオ(音声)の出力先 ここが今回のポイント
  • test.mp4 はmp4ファイル

-ao alsa:device=plughw=1.0

plughw:1,0 → alsa:device=plughw=1.0

「=」を幾つか付加して、ALSA経由であることを明示する。

mplayer でm4a/mp4/mp3を再生する。

 mplayer -vo null -ao alsa:device=plughw=1.0 test.mp4

これで出来上がり。便利ですね。

f:id:takuya_1st:20160418011145j:plain

raspi-zero は最高

pizero 買ってよかった。テレビの裏に貼り付けるだけで raspi がメディアプレーヤーに早変わり

参考資料

http://alsa.opensrc.org/Mplayer

http://alsa.opensrc.org/Aplay

http://computers.tutsplus.com/articles/using-a-usb-audio-device-with-a-raspberry-pi--mac-55876