SHOUTcastを聞く
7日4日の日記にコメントいただいたshachicocoさんのブログ「龍の日記」の7月26日のエントリーを拝見してSHOUTcastというサイトを知りました。見てみると、こりゃスゴイ!配信数がハンパじゃありません、BGMとして選び放題です。というわけで、以前作ったネットラジオのランチャープログラムを、SHOUTcastのplsファイルをURLリストに追加できるように修正。ただしビットレートが高めなのでPHSだと辛いかも。。。(追記:低ビットレートの配信のみ表示させることもできました)
このサイト素のPCでは再生できなくて、どうやらWinampというプレーヤーソフトが必要らしい、mplayerってそんな形式にも対応してるんですね。
SHOUTcast (http://www.shoutcast.com/)
ついでにダウンロードした情報?ファイルもリストから選択できるようにも修正。わけのわからんURLよりも意味のある名前に変更したファイルの方が便利ですよね。ファイルの置き場所は/home/zaurus/Documennts/netradio/フォルダです。mplyerの-playlistオプションで再生可能なファイル(asx、pls等)を置きます。ただし日本語ファイル名は文字化けするのでNGです。
以下がスクリプト、/home/QtPalmtop/bin/netradioとしてeucJPで保存、chmod +x、適当にアイコン登録です。
#!/bin/sh export QSHDLG_APP=netradio INPUT=/var/spool/qshdlg/input_$QSHDLG_APP OUTPUT=/var/spool/qshdlg/output_$QSHDLG_APP CONTROL=/var/spool/qshdlg/control_$QSHDLG_APP LIST=/home/zaurus/Documents/netradio.lst FILEDIR=/home/zaurus/Documents/netradio/ MPLAYER="/home/QtPalmtop/bin/mplayer -quiet" TMPFILE=/home/zaurus/Documents/netradio_$$ qshdlg custom -C message -A -f lcfont -t "netradio" -c eucJP -M & while [ ! -p $CONTROL ] do done echo "リスト表示" > $OUTPUT echo 'item(QString,QString)' '"停止"' '"stop"' > $CONTROL echo 'item(QString,QString)' '"ネット接続"' '"connect"' > $CONTROL echo 'item(QString,QString)' '"ネット切断"' '"disconnect"' > $CONTROL ### File List if [ -d $FILEDIR ]; then echo 'label(QString)' '"--- File List ---"' > $CONTROL for FILE in `ls -1 $FILEDIR` do echo 'item(QString)' "File=$FILE" > $CONTROL done fi ### URL List if [ -f $LIST ]; then echo 'label(QString)' '"--- URL List ---"' > $CONTROL while read URL do echo 'item(QString)' "$URL" > $CONTROL done < $LIST fi echo 'showSelect()' > $CONTROL while read RET < $INPUT do case $RET in stop) echo "停止します" > $OUTPUT killall mplayer if [ -f $TMPFILE ]; then rm $TMPFILE fi ;; connect) echo "ネットに接続します" > $OUTPUT qcop QPE/Network 'connectRequest()' ;; disconnect) echo "ネットを切断します" > $OUTPUT qcop QPE/Network 'stop()' ;; File=*) # echo "ret=$RET" > $OUTPUT TMPFILE=`echo $RET | sed -e 's/^File=\(..*\)$/\1/'` # echo "tmpfile=$TMPFILE" > $OUTPUT echo "$RET を再生します" > $OUTPUT $MPLAYER -playlist ${FILEDIR}${TMPFILE} & rm $TMPFILE ;; *) # echo "ret=$RET" > $OUTPUT EXT=`echo $RET | sed -e 's/^..*\.\(..*\)$/\1/'` # echo "ext=$EXT" > $OUTPUT case "$EXT" in "pls" | "asx" ) echo "情報ファイルを取得してます" > $OUTPUT wget -O $TMPFILE $RET echo "$RET を再生します" > $OUTPUT $MPLAYER -playlist $TMPFILE & rm $TMPFILE ;; *) echo "$RET を再生します" > $OUTPUT $MPLAYER $RET & ;; esac ;; esac done