2009年11月20日

NHK のラジオニュースをインターネットで聴く

NHK 国際短波ラジオのニュース( mms://wm.nhk.or.jp/rj/on_demand/wma/japanese.wma )が、ネットから音声だけでざっくり聞くには、時間も手頃で良かったのだが。

最近、更新が不定期なのが酷くなって、24時間以上も前のニュースだったりする。

やむをえず、r-news の最新を、ブラウザを立ち上げずにコマンド一発で聴くスクリプトをざっくりと書いた。(改訂があったので初期ヴァージョン省略)

60秒のバッファはてきとうに。

え? mplayer 側でバッファを指定すれば良いじゃないかって? いや。人間もうっかり聞き流してしまい、巻き戻して聞き返したりするからローカルキャッシュは必要なのです。

2010年12月/改訂

NHK の出す HTML が変わったので、対応しました。

ついでに 他のプロセスが音楽を鳴らしていたら一時停止ダウンロードだけしておいてあとで聴く の二つの機能を追加。

#!/bin/sh -euf
#
#   $Id: nhk-long.sh,v 1.7 2011/01/12 13:38:32 yaemon Exp $
#
WGET=/usr/local/bin/wget
MIMMS=/usr/local/bin/mimms
ASX=`$WGET -O - http://www.nhk.or.jp/r-news/ | \ grep asx | head -1 | nkf -w | sed -e 's/.*href="//;s/".*//;' `
MMS=`$WGET -O - $ASX | \ grep HREF | sed -e 's/.*="//;s/".*//'`
OUT=`echo $ASX | sed -e 's:.*/::;s/_.*_/_/;s/\.asx$/.wma/;'` OUTFILE=$HOME/download/nhk/$OUT

if test -f $OUTFILE ; then echo "file exist: $OUTFILE" 1>&2 exit fi
if test $# -ge 1 && test "$1" = "download" ; then $MIMMS $MMS $OUTFILE else $MIMMS $MMS $OUTFILE > /dev/null 2>&1 & sleep 90 MUSIC=`pgrep ogg123 || pgrep mplayer || true` if test ! -z "$MUSIC" ; then kill -STOP $MUSIC sleep 2 fi /usr/local/bin/mplayer $OUTFILE if test ! -z "$MUSIC" ; then sleep 2 kill -CONT $MUSIC fi fi

0 コメント:

コメントを投稿