[mdm]FLV再生プレーヤー(JP)
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;次回へ続く。