2010年2月28日日曜日

[Flash]FLV動画を連続再生させるFlash

ちと必要になったので作りました。
忘れないようにメモ。

2

成果物はこちら。 →別枠で動画が開きます。

開くと動画が再生されるので止めたい時は真ん中のボタン。
再生させたいときは左のボタン。
初期段階で音声をミュートにしているので音声を鳴らしたい場合は右のボタンを押す。
というシンプルな感じのものです。

3つのFLV動画を連続して再生させるようにしています。

手順としては、
コンポーネントパネルからFLVPlaybackをステージ上において、インスタンス名を任意の名前に(ここではmyPlayer)。
続いてコンポーネントパネルからPlayButton、PauseButton、MuteButtonを配置してそれぞれのインスタンス名をplayBtnpauseBtn、muteBtnとする。
swfファイルと同じディレクトリに「video」フォルダを作ってそこにFLVファイルを格納。今回は1.flv、2.flv、3.flvとする。
ルートの1フレームに以下のasを記述(actionscript3.0)。

import fl.video.*;
//videoファイル名を配列で定義
var videoSource:Array = new Array("1.flv","2.flv","3.flv");

//video総数、初期再生させるvideo番号、直前に再生されたvideoのファイル名取得変数
var videoTotal:Number = videoSource.length;
var videoNumber:Number = 1;
var playedVideo:String;

//video playerの初期設定
myPlayer.autoPlay = true;
myPlayer.source = "video/"+ videoSource[videoNumber-1];
myPlayer.playButton = playBtn;
myPlayer.playButton.buttonMode = true;
myPlayer.playButton.useHandCursor = true;
myPlayer.pauseButton = pauseBtn;
myPlayer.pauseButton.buttonMode = true;
myPlayer.pauseButton.useHandCursor = true;
myPlayer.muteButton = muteBtn;
myPlayer.muteButton.buttonMode = true;
myPlayer.muteButton.useHandCursor = true;

//1つのvideoファイル再生が終わったときの処理
function displayNextSource(event:VideoEvent) {
if (videoNumber>=videoTotal) {
videoNumber=1;
} else {
videoNumber++;
}
myPlayer.source = "video/"+ videoSource[videoNumber-1];
}
myPlayer.addEventListener("complete", displayNextSource);

//最初からミュート状態にするため
muteBtn.on_mc.dispatchEvent(new MouseEvent(MouseEvent.CLICK));

参考にさせていただいたのはこちらのサイト
→Flashのお勉強

感謝です!

0 件のコメント:

コメントを投稿