今はあんまりきれいなモジュールじゃなくて作り直そうと思うのだけど、考えてたらごちゃごちゃしてきたので、ちゃんと書いて整理してみる。
1. CustomFeed::ConfigでネトラジサイトをCustomFeed
CustomFeed::Configなら正規表現で手軽にネトラジの配信サイトをCustomFeedできそう。
Podcastとして扱うにはEnclosureが必要になる。例えば、http://lantis-net.com/haruhi/radio.htmlだと、「Windowsメディアで聴く」のリンク先になってるhttp://lantis-net.com/haruhi/004.asxなんかがEntryのEnclosureになってくれれば良さそうだ。しかし、このままでは問題がある。
2 Enclosureを書き直す
mplayerは、直接asxファイルを読み込んでwavにダンプできない。ダンプできるのはasxファイル内に記述されているストリーム。なので、asxファイル内のストリームのURIをとりだしてそれをEnclosureとして登録しなおす。
3 mplayerでストリームをダンプ
2でEnclosureがmplayerでダンプできるようにになったので、wavにダンプする。
書いてみたらだいぶまとまってきた。今、Filter::FetchEnclosure::Mplayerは3しかやって無いんだけど、2もやるようにすれば手軽に使えて良いな。もしくは、Filter::TrueEnclosureURIとかにして分割するかかな。それとも、既存のFilterでURLをうまく書き換えれるんだろうか。