ArchLinuxでHDMIとスピーカーで同時に音を鳴らす
MacBookのminidisplayからHDMIへの変換ケーブルを買ったので、ArchからHDMIを再生してbattleしようと思ったら何もせずに写ってしまいしょぼくれていると、音がならないことに気づいて直したかんじです。
最初に
$ aplay -L **** List of PLAYBACK Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: CS4206 Analog [CS4206 Analog] Subdevices: 0/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0] Subdevices: 0/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0
で音のカードを調べる
カード0の3,7,8がHDMIであることがわかる
ためす
$ aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav $ aplay -D plughw:0,7 /usr/share/sounds/alsa/Front_Center.wav $ aplay -D plughw:0,8 /usr/share/sounds/alsa/Front_Center.wav
で試して動いたデバイスを記憶(私は3
.asoundrcを書く
とりあえず音を鳴らすだけであれば愚直に
pcm.!default { type hw card 0 device 3 }
でよい
モニターとMacbook上のスピーカで同時に鳴らしたいとき
ふぉーらむを参考にこう書くとできた
http://www.avsforum.com/t/1269302/simultaneous-multiple-outputs-with-alsa
pcm.!default{ type plug slave { pcm multi } ttable.0.0 1.0 ttable.1.1 1.0 ttable.0.2 1.0 ttable.1.3 1.0 } pcm.multi { type multi slaves.a.pcm "hw:0,0" slaves.a.channels 2 slaves.b.pcm "hw:0,3" slaves.b.channels 2 bindings.0.slave a bindings.0.channel 0 bindings.1.slave a bindings.1.channel 1 bindings.2.slave b bindings.2.channel 0 bindings.3.slave b bindings.3.channel 1 }
問題点
HDMIのほうの音量だけalsa mixerで音量をコントロールできないです。
alsa周りを理解してないので、たぶんそこら辺ですが、全部ミュートにしてもできないです。
ちなみに、cmusでテストしたときにcmusの音量を0にしても鳴ったのでなんでだろうなと疑問に思いつつお布団に入りました。