おなまえ
Eメール
タイトル
コメント
参照先
暗証キー (英数字で8文字以内)
画像認証 (右画像の数字を入力) 画像認証
Re: MPD 起動時に使用するデバイス 投稿者:koma 投稿日:2014/11/02(Sun) 10:29 home No.5246

サウンドカード、USB等、色々接続していて
mpdの使用するデバイスを切り替えて使用する場合に便利かもしれない。
このスクリプトはCentOS6.6で使用が可能な事を確認したが
aplay -lで表示される情報が日本語の場合はそのままで動作
すると思う。それとなぜか?APU1Cでは動作がうまくいかない。

#!/bin/sh

#デバイスの数をカウント
no=`aplay -l | grep "カード" | awk '{print $2,$7,$8}' | wc -l`

#ハードウエアNo.にhw:を付加
dev1=`aplay -l | grep "カード" | sed 's/[A-Z]//g' | sed 's/[a-z]//g' | sed 's/デバイス/:/g' |\
awk -F":" '{print $1,$3}' |sed 's/カード /hw:/' |sed 's/ /,/'`

#デバイス名の取得
dev2=`aplay -l | grep "カード" | awk -F":" '{print $2,$3,$4}' | sed 's/ //g'`

echo ""
#------------------------------------------------------------------------------------------#
arr0=($dev1)
arr1=($dev2)
for (( i = 0; i<$no; i++ ))
{

jpn=`echo "${arr0[i]}"`
kpn=`echo "${arr1[i]}"`

echo "$jpn $kpn"
}

echo ""
echo "Select Dvice"
echo ""
echo "ex: hw:0,0"
echo ""

read adn
#
#------------------------------------------------------------------------------------------#
#設定ファイルを作成
#/etc/mpd-auto.conf
#$adn

sed -e "s|hw:[0-9],[0-9]|$adn|" /etc/mpd.conf > ./mpd-auto.conf
#------------------------------------------------------------------------------------------#
com1=`ps aux | grep mpd | grep -v pts | awk '{print $2}' | sed 's/^/kill /g'`
echo "----------mpd stop----------"
echo "$com1"
#
sh -c "$com1"
#
sleep 2
#
echo ""
echo "---------mpd start----------"
/usr/local/bin/mpd /etc/mpd-auto.conf
echo "ps aux | grep mpd"
echo ""
ps aux | grep mpd

----動作させた画面-----

$ MPD-SELCT_device-START

hw:0,0 Intel[HDAIntel],デバイス0ALC889Analog[ALC889Analog]
hw:0,1 Intel[HDAIntel],デバイス1ALC889Digital[ALC889Digital]
hw:1,3 NVidia[HDANVidia],デバイス3HDMI0[HDMI0]
hw:2,0 x20[xCOREUSBAudio2.0],デバイス0USBAudio[USBAudio]
hw:3,0 Audiophile192[MAudioAudiophile192],デバイス0ICE1724[ICE1724]
hw:3,1 Audiophile192[MAudioAudiophile192],デバイス1ICE1724IEC958[ICE1724IEC958]

Select Dvice

ex: hw:0,0

hw:2,0
----------mpd stop----------
kill 8660
kill 8672
kill 8680

---------mpd start----------
ps aux | grep mpd

mpd 8731 0.0 0.0 545584 7240 ? Rsl 10:28 0:00 /usr/local/bin/mpd /etc/mpd-auto.conf
root 8734 0.0 0.0 107460 968 pts/0 S+ 10:28 0:00 grep mpd



mail

- YY-BOARD -