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]}));
	}			
}