いきものがかりの吉岡聖恵ちゃんの声は個人的に好きだなぁ。
オールナイトニッポン(ANN)の水曜日担当で、カバーの曲を歌ってるみたい。 ラジオでしけかきけない(?)のでここはradikoだな!!
radikoのアプリはAdobe Airだから、自前でアプリが作れそうだ。 仕様とかちょいと調べてみる。
■番組表XMLの例 http://radiko.jp/epg/epgapi.php?area_id=JP13&mode=&station_id=TBS
うーん、XMLか。。。 JSONにして欲しいな。
▽area_id(必須) 国と都道府県コードの組み合わせ 例 JP13
・国:日本 = JP ・都道府県コード:東京 = 13
▽mode
・now = 放送中の番組表 ・なし = 1週間分の番組表
today、tomorrowとかあるらしいが、このAPIはPHPなので strtotimeのオプションで使えるものは全部使えたりして?
▽station_id
放送局ID:TBS,QRR...etc
※後述の「rtmp接続」を参照
■HTML Flashと以下のJavaScript解析すれば取れるかな? http://radiko-dl.ssdl1.smartstream.ne.jp/radiko-dl/1.1/player/js/player.js
▽swfで再生 http://radiko-dl.ssdl1.smartstream.ne.jp/radiko-dl/1.1/player/player_0.1.2.swf
これにパラメータ(statini_id)加えてやるといけるっぽい。
■rtmp接続 ここにradiko録音についてのってます。 普通のプログラミングだと、RTMPDumpってのをかましてやるらしいが、Airなら直でrtmpで繋げそう。
▽東京 TBSラジオ:rtmp://radiko.smartstream.ne.jp:1935/TBS%2f_defInst_/simul-stream 文化放送:rtmp://radiko.smartstream.ne.jp:1935/QRR%2f_defInst_/simul-stream ニッポン放送:rtmp://radiko.smartstream.ne.jp:1935/LFR%2f_defInst_/simul-stream ラジオNIKKEI:rtmp://radiko.smartstream.ne.jp:1935/NSB%2f_defInst_/simul-stream INTERFM:rtmp://radiko.smartstream.ne.jp:1935/INT%2f_defInst_/simul-stream TOKYO FM:rtmp://radiko.smartstream.ne.jp:1935/FMT%2f_defInst_/simul-stream J-WAVE:rtmp://radiko.smartstream.ne.jp:1935/FMJ%2f_defInst_/simul-stream
▽大阪 朝日放送:rtmp://radiko.smartstream.ne.jp:1935/ABC%2f_defInst_/simul-stream 毎日放送:rtmp://radiko.smartstream.ne.jp:1935/MBS%2f_defInst_/simul-stream ラジオ大阪:rtmp://radiko.smartstream.ne.jp:1935/OBC%2f_defInst_/simul-stream FMこころ:rtmp://radiko.smartstream.ne.jp:1935/CCL%2f_defInst_/simul-stream FM802:rtmp://radiko.smartstream.ne.jp:1935/802%2f_defInst_/simul-stream FM大阪:rtmp://radiko.smartstream.ne.jp:1935/FMO%2f_defInst_/simul-stream
やってみたがプログラミングが悪いのか?接続拒否される。 色々調べてたらwonderfulにソースのってました。 rtmp接続するURIが違ってたようだ。 [as3] private var streamUrl:String = "rtmpe://radiko.smartstream.ne.jp:1935/TBS/defInst";
public function onNetStatus(event:NetStatusEvent):void {
if(event.info.code == "NetConnection.Connect.Success") {
var stream:NetStream = new NetStream(connection);
var client:Object = new Object();
client.onMetaData = function ():void {};
client.onPlayStatus = function ():void {};
stream.client = client;
video.attachNetStream(stream);
var soundTransform:SoundTransform = new SoundTransform();
soundTransform.volume = .5;
stream.soundTransform = soundTransform;
stream.play('simul-stream');
}
} [/as3]