« ビットマップキャッシュ(JP) | Main | [mdm]FLV再生プレーヤー後編(JP) »

[mdm]FLV再生プレーヤー(JP)

今回はOSX上でFLVを単体で再生できるプレーヤーアプリケーションをMDMのZincとas3を使って作成する。as3はさほど難しい部分は扱わないので、今回の例は基本的な学習にちょうどいいかもしれない。

FLVを再生する
この例で大切なのは、FLVを再生する機能、ローカルファイルを検索する機能の2点のみ。まずFLVの再生はこのブログで過去にas2版を載せている。特に難しいことはなさそうなので、as3でこれを書き換えてみるとこのようになる。

conn=new NetConnection();
conn.connect(null);
stream=new NetStream(conn);
			
var video:Video=new Video();
video.attachNetStream(stream);
addChild(video);
細かい設定は覚えた後にいくらでも出来るので、ほとんどは基本設定のままで記述する。

画面のグラフィックを配置
addChild()という部分に違和感がある以外、ほとんどas2と違いは見られない。addChild()は以前述べたように画面に表示させるメソッドで、ここではvideoを画面に貼り付けている。as2ではビデオなどオーサリングで配置するしかないものもあり、ムービークリップはattachMovieなどで画面へ表示させるなどバラバラだったが、as3ではすべてaddChildというメソッドで統一されている。

ローカルファイルをブラウズする
映像の再生と停止も何度も記事で扱っているので省略。次に考えたいのはローカルファイルを読み込む部分である。通常ウエブではローカルファイルは扱わない。ここではデスクトップアプリケーションとしてas3でプレーヤーを作っているので、読み込むダイアログボックスを表示しなければならない。ここでは、mdmスクリプトの機能を利用する。mdmの基本設定などの使い方は後で述べるとして、まずダイアログボックスの使い方を考える。

private function onClickBrowse(e:MouseEvent):void{	
	var filename:String=mdm.Dialogs.BrowseFile.show();
}
mdm.Dialogs.BrowseFileオブジェクトにあるshow()メソッドを使うだけで表示できる。

macOSX特有のパスを扱う
表示後選択されるとfilenameにファイルのパスが入るが、キャンセルが押されるとfalseが戻る。実際はこの部分でなんらかの処理がいるかもしれない。macosではパスが:区切りなので/に置き換えるなどの処理が発生する。fileプロトコルに変換するとどうなるか教えてくれるサイトもある(例:Machintosh HD:Users:Dai:Desktop:sample.flvをfile:///Users/Dai/Desktop/sample.flvへ変換)

filename=filename.split(":").join("/");
var start:int=filename.indexOf("Users");
_filepath="file:///"+filename.substr(start, filename.length-start);
label.text=_filepath;
次回へ続く。

Post a comment