スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

flashで動画を読み込む

flashを触ってる間はちっともゲームができないな。

使ってるソフトはFlash CS3。AS3で外部ファイルの動画flvやmp4ファイルをflashに読み込む方法メモ。

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
var _video:Video = new Video(縦ピクセル,横ピクセル);
_video.attachNetStream(ns);
ns.play("動画ファイル");
addChild(_video);


タイムラインに書いてる場合はインポートしなくてもこのまま動きます。
ステージ上の特定のムービークリップなどに動画を写したい場合は、addChildの前にインスタンス名を指定するだけです。(mcという名前のムービークリップならmc.addChild(_video)みたいな)

正直言うと理解はしてません。このソースもどこかのコピペだし。
とりあえず『NetConnection』『NetStream』『Video』の3種類を駆使してストリーミング再生しているようです。

ただし、このままだとonMetaDataがどうとかでエラーを食らいます。なのでさらに上のソースの下にこれを追加します。

var videoMetaData:Array;
var clientObj:Object = new Object();
clientObj.onMetaData = function(param:Object):void {
videoMetaData = new Array(param.width, param.height, param.duration);
};
ns.client = clientObj;

このソースも出所は忘れてしまいましたがコピペです。videoMetaDataという配列に動画のメタ情報を格納している形になります。
メタ情報の確保は、外部動画を読み込んでからその動画の1フレーム目が再生されるまでの間に行われる、的な書き込みもどこかで見ました。
それ以前の場合は当然ながらnullです。nullの参照はできませんと怒られます。
widthは縦ピクセル、heightは横ピクセル、durationは総時間[秒]のようですね。他にもパラメータは存在しますがここでは省略。

さらに、動画の音量はこんな感じで制御できます。

var v_trans : SoundTransform = ns.soundTransform;
v_trans.volume = 0.1;
ns.soundTransform=v_trans;

ここでは音量を10%まで落としてます。


以上のようなことは、だいたいHakuhin's HmePageさんに書かれてます。
より具体的には、FLVファイルを読み込む:http://hakuhin.jp/as3/loader.html#LOADER_05
とても丁寧で参考になります。
関連記事
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

oisu-

Author:oisu-
趣味はゲームと深夜アニメ実況。
絵を描いたりFlashゲーを作ったりもするけど、一つのことにのめり込むと他のことがおざなりになるので結局あまり成果が出ない。その上根気が続かないのですぐ飽きる人。

pixivb

FC2カウンター
検索フォーム
カレンダー
01 | 2017/03 | 02
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
円卓の生徒
円卓の生徒応援バナー

XBOX360用ダンジョンRPG『円卓の生徒』を全力で支援中!
Twitter

Twitter Updates

    follow me on Twitter
    広告
    円卓の生徒応援バナー


    ここからアフィ注意
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。