flvファイルの再生方法(AS3)
flvファイルから読み込んで再生するプレーヤーを作ってみたく、調べてみた。
本とか買って勉強しようかなと思ったけど、あまりお金使いたくないのでググることにした。
立ち読みとかも考えたけれど、今夜は雨が降りそうなのでw
ググってみると、本家のサイトのドキュメンテーションがいい感じ。
本家だとどうしても難しくて、敬遠しがちだけどがんばる。
試しに今夜作ってみるということでメモ。
AdobeのFlash CS3ドキュメンテーションから分かったことのまとめ。(ただ省略しただけだがw
flvファイルの再生するためにはNetStream クラスを使う。
下記のメソッドを利用する。
pause() : ビデオ再生を一時停止。すでに停止状態では効かない。 resume() : 再生を一時停止から再開。再生状態では効かない。 seek() : 指定の位置へ移動。はじめから再生する時に使える。 togglePause() : 再生を一時停止または再開。
各ボタンのインスタンス名
- ポーズボタン : pauseBtn
- 再生ボタン : playBtn
- ストップボタン : stopBtn
- 再生&ボーズボタン : togglePauseBtn
var nc:NetConnection = new NetConnection(); nc.connect(null); var ns:NetStream = new NetStream(nc); ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); ns.play("video.flv"); //Flvファイルの読み込みに失敗したら function asyncErrorHandler(event:AsyncErrorEvent):void { // 差し替え画像を表示するとか } var vid:Video = new Video(); vid.attachNetStream(ns); addChild(vid); //ボタンの役目を設定 pauseBtn.addEventListener(MouseEvent.CLICK, pauseHandler); playBtn.addEventListener(MouseEvent.CLICK, playHandler); stopBtn.addEventListener(MouseEvent.CLICK, stopHandler); togglePauseBtn.addEventListener(MouseEvent.CLICK, togglePauseHandler); //ポーズボタン function pauseHandler(event:MouseEvent):void { ns.pause(); } //再生ボタン function playHandler(event:MouseEvent):void { ns.resume(); } //ストップボタン function stopHandler(event:MouseEvent):void { // ストリームを一時停止し、再生ヘッドを // ストリームの先頭に移動します。 ns.pause(); ns.seek(0); } //ポーズ&再生ボタン function togglePauseHandler(event:MouseEvent):void { ns.togglePause(); }
いずれはJSファイルからflvファイルの名前を読み込んで再生できるようなものにしたい。