FLV & YoutubePlayerのソースを少しずつ公開していくよ。 その1
Apolloで開発した、FLV&YoutubePlayerのソースを公開していきます。
とりあえず、Apollo依存ということはないので
actionScript3で同じように書けば使えます。
ただapolloと違ってcrossdomainを考慮しなくては使えないですけどね。
まあphpで中継すれば簡単に取れますけど。
とりあえずは、各種動画投稿サービスの
動画閲覧ページからFLVの場所を探す部分のactionscriptのソース
今回は、youtubeとdailymotionの部分
今後、反響があれば他のやつも書きます。
ちなみに、今アクセスすることができるソースを作ったのは
のFLVにアクセスする部分です。
Youtubeの動画ページ(http://www.youtube.com/watch?v=IP6uD4mDzYEとか)からFLVにアクセスする部分
前提としてloader.dataにはURLLoaderで読み込んだそのページのHTMLが入っています。
private function youtubeflv():void{ var youtubeid:String = new String(); var pattern:RegExp = /player2.swf\?(\S+)"/; var match_str:Array = new Array(); match_str = String(loader.data).match(pattern); if(!match_str){ //ページが削除されていた場合 //そのときの処理はここに書きます。 }else{ var title_pattern:RegExp = /<h1 id="video_title">(.*?)<\/h1>/ var match_title:Array = new Array(); match_title = String(loader.data).match(title_pattern); //FLVのURL trace ("http://youtube.com/get_video?" + match_str[1]) //そのタイトル trace (match_title[1]); } }
dailymotionの動画ページからFLVにアクセスする部分
前提としてloader.dataにはURLLoaderで読み込んだそのページのHTMLが入っています。
private function dailymotionflv():void{ var pattern_daily:RegExp = /<param name="flashvars" value="url=(.*?)&/; var match_daily:Array = new Array(); match_daily = String(loader.data).match(pattern_daily); if(!match_daily){ //ページが削除されていた場合 }else{ var title_pattern_daily:RegExp = /<h1 class="nav with_uptitle">(.*?)<\/h1>/ //FLVのURL trace(decodeURIComponent(match_daily[1])); //FLVのタイトル trace(title_pattern_daily.exec(loader.data)[1]})); } }