dポイントプレゼントキャンペーン実施中!

50秒後に2フレームへ行き再生開始

1フレーム目に「50秒後に2フレームへ行き再生開始」
というスクリプトを書いて動作させたいのですが、調べても分からず大変困っております。。

1フレーム目にflvを置いているので、
flvの再生が終了したら(flvが45秒程度なので50秒後に)2フレーム目に行きその後の動きをさせたいと思います。

お分かりになる方ご教授いただきたいと思います。
よろしくお願いします。

環境はWin XP、Flash CS3、actionscript3、flash player9です。

A 回答 (3件)

難しそうでもやらなきゃダメ



ActionScriptはAjaxと同じでイベントが基本

というかActionScriptの行き着く先って
ほとんどAjaxみたいなもんですからね

難しそうだからってイベント関連を避けてたら
再生ボタンも停止ボタンも作れないし
プリローダも作れないし動的なアニメーションもできないし
なんにもできませんよ

『動画の再生が終わったら次のフレームに』なんて
これ以上ないくらい簡単でひねりのない
絶好のイベントリスナー基本習得のテストケースです


あと#1にも書いてますが
何秒後に処理を実行する
というのはsetTimeoutを使います

しかし、getTimerやsetTimeoutは
再生が遅れてようが
データ読み込み終わってなかろうが
カウントが開始した時点から
かまわず同じように時間を
カウントし続けるので
同じようにsetTimeoutとか
getTimerとかで制御されてる
ものとタイミング合わせる以外では
使わない方がいいです

このケースでは大丈夫だろうとか
油断してるとまさかのISDNとか
それでなくても公共のWi-Fiとか
いくらでも再生が遅れてしまう
要因というのはあります
    • good
    • 0
この回答へのお礼

そうですよね、、

教えていただいたことを参考に基本から制作してみたいと思います。
ありがとうございました!

お礼日時:2010/04/30 23:01

そこからなんですね…



ボタンがクリックされたとか
再生フレームが次に移動したとか
データのロードが終わったとか
動画の再生が終わったとか
なにか起こったタイミングで何かさせたい
っていうときにイベントハンドラとか
イベントリスナーを使います

AS2まではイベントハンドラもあったんですが
AS3からイベントリスナー方式に統一されました


"イベント発信するもの".addEventListener("イベント型"、"関数")

でリスナーを登録します

AS3のリスナーの関数は
イベントオブジェクトを引数に実行されます

コードは#1で書いてあります

myFLVPlaybackのところが
FLVプレイバックインスタンスの名前
someFuncのところが
function(e:Event){gotoAndPlay(2)}
とかになったりするワケです

ヘルプを見ると継承元のクラスの中に
EventDispatcherがいるクラスは
パブリックプロパティとパブリックメソッドについで
イベントが書かれていて
それぞれにどのタイミングで
発信されるかが書いてあるかと思います

そこを見るとFLVPlaybackクラスは
ビデオの再生が終わるとCOMPLETEイベントを
発信すると書いてあるはずです
    • good
    • 0
この回答へのお礼

難しそうですね。。

FLVですが、そこまで重いものでもないのでロードにも2、3秒程度しかからないと思います。(環境にもよると思いますが)

なので、もし「何秒後に2フレーム目に移動」という処理の方が簡単なのであれば、余裕を持った秒数の設定にして、そちらで対応したいと思うのですが。

その場合もリスナー登録をした処理になるのでしょうか?

お礼日時:2010/04/30 12:04

ビデオの再生が終わったらとか


そういうのは時間で計るより
イベントリスナーでやった方がいいです

ビデオのストリーミング再生が追いつかず
想定より再生がおくれて尻切れに…
ってこともなきにしもあらず

FLVPlaybackはflvの再生が終わったら
fl.video.VideoEvent.COMPLETEイベントを
発信するのでそれにリスナー登録してください

myFLVPlayback.addEventLisetener(fl.video.VideoEvent.COMPLETE,someFunc)


再生が終わってからしばらく実行を待ちたいなら

setTimeout(someFunc,遅延時間(ミリ秒))

で実行を送らせる事ができます
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

>想定より再生がおくれて尻切れに…
そうなんですね、、教えていただきありがとうございます。

>発信するのでそれにリスナー登録してください
すみません、、少し僕には難しそうなんですが具体的に書いていただくとどういうスクリプトになりますでしょうか?

お礼日時:2010/04/28 20:31

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