NEWS

2016.09.02 「Photoshopとpapervision3dでテクスチャ付3Dを作成する(4)」を更新しました。

  • Web creators

ActionScript

HTMLタグにFLVの動画ファイル名を指定して再生する

概要

ActionScript3.0を用いて動画ファイル(FLV)を再生させることができますが、動画のファイル名が違ったり保存先が異なる度にパブリッシュが必要になる場合があります。
そこで、HTMLタグ内にファイル名を指定することでFLVを再生するインターフェイスをパブリッシュしなくても流用する手段があります。
下記を基に組み合わせた手法を紹介します。
[参考:ActionScriptだけでFLVを再生する]
[参考:HTMLからFlashに値を渡す]

サンプル解説

HTML内にFLVのパスとファイル名を記載します。
パスとファイル名が正常の場合、Flashがブラウザに表示されると同時にFLVファイルが読み込まれ、再生を開始します。(画像上)
HTMLに何も指定が無い場合は"Not value."と表示します。(画像中)
HTMLに値があるものの、FLVのパスやファイル名が正常でない場合は"Not found."と表示します。(画像下)

サンプル

作成法

(1)ステージにActionScriptの設定

・レイヤー「レイヤー 1」に以下のActionScriptを設定。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

39
40
41
42
43
var flashVars:Object = loaderInfo.parameters;
var path:String = flashVars['file'];

var str : String = "Not value.";

if( path != null ) {
 var vi:Video = new Video();
 addChild(vi);

 var obj : Object = new Object();

 var nc:NetConnection = new NetConnection();
 nc.connect(null);

 var ns:NetStream = new NetStream(nc);

 ns.addEventListener (NetStatusEvent.NET_STATUS ,URLLoaderProgressFunc);
 function URLLoaderProgressFunc (event : NetStatusEvent) {
  switch(event.info.code){
   case "NetStream.Play.StreamNotFound":
    str = "Not found.";
    error();
    break;
   default :
    vi.attachNetStream(ns);
    ns.client = obj;
   }
 }

 ns.play( path );
}else{
 error();
}

function error() {
 var size : int = 14;
 var textField : TextField = new TextField;
 textField.defaultTextFormat = 
   new TextFormat("_ゴシック", size, 0x333333 );
 textField.text = str;
 this.addChild(  textField );
 textField.x = ( stage.stageWidth / 2 ) -  ( textField.width / 2 ); 
 textField.y = stage.stageHeight / 2;
}

(2)パブリッシュ後のHTMLファイルを編集

・HTMLファイルのSWFの読み込み箇所に以下を設定。
(EMBEDタグにも同様の設定を行う)

01
02
<param name="FlashVars" value="file=*****.flv" />
<embed src="*****.swf" FlashVars="file=*****.flv" ・・・>

解説

FLVプレイヤーを作成する前にあらかじめ動画ファイルを用意します。
FLVへの変換は「動画ファイルをflvに変換(CS4以降)-Adobe Media Encoder-」を参照して下さい。
ActionScriptの1行目はHTMLに記載した"FlashVars"の値を取得しています。
2行目で"FlashVars"で指定した変数名"file"の値を取得しています。"file"の箇所は任意の文字列で指定できます。
4行目は"FlashVars"が指定されていないか、値が入っていない時に表示されるメッセージです。
エラーを表示させる処理は35行目から43行目になります。[参照:ActionScriptだけで文字を表示する]
また、6行目と31行目から33行目はその条件分岐を行っています。 7行目から15行目でFLVを再生する準備を行っています。 17行目から28行目は"FlashVars"の値からファイルのパスが合っているか判断し、合っていれば再生を、無ければエラー表示するようにしています。
20行目が分岐条件となり、その他にも動画ファイルの状態を取得するオプションが用意されています。

ページ上部へ