電子書籍の厳選無料作品が豊富!

初めまして、Flashを始めたばかりのの初心者です。Now Ladingを作りたいのですが、IF構文で分岐させ完了していなければ、、、。というのはなんとなくわかったのですが、まずは、タイムラインで、あるフラッシュビデオAが完了したらフラッシュビデオBが流れるを作ってイメージをつかみたいと思っていますががこれができません。タイムライン上に並べただけではできないのでしょうか、、。あまりに初心者ですみませんです。なお、フラッシュビデオは、adobe media coverterで作ったものです。

A 回答 (2件)

FLVPlayback使うのならその辺りの


イベントは一通り用意されてます


ロード中はprogress
ムービーのデータがロード完了したらready
再生が最後まで終わったらcomplete
のイベントをそれぞれ発信します

progressイベントにはbytesLoadedと
bytesTotalのデータが入ってます

まあインスタンスからも取得できるんですが



import fl.video.FLVPlayback
import fl.video.VideoEvent
import fl.video.VideoProgressEvent

var myFLVPlayback:FLVPlayback=new FLVPlayback()
addChild(myFLVPlayback)
myFLVPlayback.source="XXXXX.flv"

myFLVPlayback.addEventListener(VideoProgressEvent.PROGRESS,onProg)
function onProg(e){
var per=Math.floor(e.bytesLoaded/e.bytesTotal*100)
trace(per+"% ロード完了")
}
myFLVPlayback.addEventListener(VideoEvent.READY,onReady)
function onReady(e){
trace("準備完了")
}
myFLVPlayback.addEventListener(VideoEvent.COMPLETE,onComp)
function onComp(e){
trace("再生終了")
}

この回答への補足

お答えありがとうございます。具体的には、Flashにflvを読み込んでからだと思いますが、具体的にはどうしたら良いでしょうか?

補足日時:2010/03/04 14:24
    • good
    • 0
この回答へのお礼

あの後、何度も読み直しつつ、未だに全て理解できていませんが、かなりおおきなヒントをいただいています。大変に感謝しております。引き続き勉強いたしますので、ぜひ、よろしくお願いします。

お礼日時:2010/03/19 11:15

とりあえず、タイムライン上に二つのFLVPlaybackなりを並べた所で


最初のFLVの再生完了を待って次のフレームに行く、なんてことはしてくれません

だから最初のFLVPlaybackが再生を終了して"complete"イベントを
発信するまでそのフレームで停止し、"complete"イベントで
次のフレームに移動するような処理を書いてやる必要があります


また、読み込み済みパーセンテージを反映するような
プリローダーを作るなら読み込み状況を調べる必要があります

これはFLVPlaybackインスタンス、もしくはそれが読み込み中に
発信するprogressイベントのbytesLoadedとbytesTotalプロパティで
読み込み済みのバイト数、読み込もうとしてる総バイト数を
取得する事で調べることができます

プリローダーのムービーを作るなら
ENTER_FRAMEイベント毎に
インスタンスから調べる方がいいでしょう

progressを使うのはスクリプトの処理を
待たせたい時位かと思います



別に読み込み済みパーセンテージとかを反映する必要はないなら
FLVPlaybackのインスタンスはファイルの読み込みが終われば
readyイベントを発信してくれるので
それを受けてプリローダのムービーを
終了させれば良いだけです



あと、もしビデオBのプリローダーとしてビデオAを使おうとかしてるのだとしたら
ビデオAをよっぽど軽くするか、埋め込むか、最初のフレームであらかじめロードしておくか
しておかないと、プリローダのビデオAが始まるまでに時間がかかるという
本末転倒な結果になってしまいます

あと、rootのloaderInfoは外部の画像とか動画のロードは含まず
なおかつ、まだ再生されていないフレームに配置されたインスタンスには
アクセスすることはできません

プリローダとムービーのフレームを分けてやりたいなら
ムービーをプリローダのフレームに見えない形で置いておくとか
してやらないとイベントの取得も、そもそもロードの開始もできません
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!