2012-03-31 6 views
1

私はgreensock LoaderMaxを使ってビデオファイルとサウンドファイルをロードしています。利用可能なコードをコピーしました。ビデオ(s9)が再生されていて、ビデオのあるパーセンテージで別のサウンドを再生する必要があります。greensockで特定のplayProgressまたはvideoTimeでサウンドを再生しますか?

if(s9.playProgress > .1) // This is what I can't get to work 
{ 
    s12_sound.playSound(); //This sound won't play at .1 playProgress 
} 

s9.content.visible = true; 

s9.playVideo(); 

stop(); 

s9.addEventListener(VideoLoader.VIDEO_COMPLETE, play_s9_loop); //This plays a video once s9 is done. 

function play_s9_loop(event:Event):void 
{ 
    s9.content.visible = false; 
    s9_loop.content.visible = true; 
    s9_loop.playVideo(); 
} 

playProgressでif()を実行できないと思いますか?さらに、私はAS3で吸う。

protected function handleMidpoint(e:Event):void{ 
    //play your sound 
} 

答えて

2

あなたがあるべきハンドラ関数の内部で http://www.greensock.com/as/docs/tween/com/greensock/loading/VideoLoader.html

var mid:Number = s9_loop.duration/2; //get the midpoint using the duration property 
s9_loop.addASCuePoint(mid, "middle") //using addASCubePoint to add a cuepoint to the midpoint of the video 
s9_loop.addEventListener(VideoLoader.VIDEO_CUE_POINT, handleMidpoint); //listen for the cuepoint 

:あなたはこのような何かを行うことができますように

+0

これを試してみましたが、「キューポイントmyLabelを叩いてください」とトレースしますが、サウンドは再生されません。私は機能が私のローディング・キューの後にあることを確認し、INITリスナーは以前のものであることを確認しました。私はそれがサウンドの再生を妨げている何か他のものがあると推測していますが、それは十億のものになる可能性があります、プロジェクトコードはフレームのトンの周りに散在しています。私が問題を見つけたら、ここに再投稿します。 – ahainen

+0

WHATTTTTTT、これを公開してこれをオンラインにしたとき、何らかの理由でうまくいって音を出しました。何をしたのか分かりませんが、今はうまくいきます。助けてくれてありがとう。繰り返しますが、今後数日間はこれで遊んでいます。私が間違っていることがわかったら投稿します。 – ahainen

1

は私が前にそれが見えるのドキュメントを読んだ後、このクラスを使用していませんビデオのINITイベント(通常はビデオの長さを判断するのに十分な負荷がかかっていることを意味します)を聴いてASキューポイントを追加するだけです。

//...after you create your VideoLoader... 
myVideoLoader.addEventListener(LoaderEvent.INIT, initHandler); 
myVideoLoader.load(); 
function initHandler(event:LoaderEvent):void { 
    myVideoLoader.addASCuePoint(myVideoLoader.duration * 0.1, "myLabel"); 
    myVideoLoader.addEventListener(VideoLoader.VIDEO_CUE_POINT, cuePointHandler); 
} 
function cuePointHandler(event:LoaderEvent):void { 
    trace("Hit the cue point " + event.data.name); 
    s12_sound.playSound(); 
} 

また、必要に応じて再生準備が整うように、s12_soundをプリロードするようにしてください。そうでなければ、あなたはplaySound()を呼び出すことができますし、それは起こりません:)

+0

サイコロは再生されませんでした。簡単にするために、私はそれを再生するのに必要な時間を知っていますが、それを動作させることはできませんでしたが、フレームに入ると実行するタイマーを書き、59秒後にサウンドを再生するにはどうすればいいですか?私は似たようなタイマーを試しましたが、動かすことができませんでした。 – ahainen

+0

タイマーはあなたに必要な正確さを与えるものではありません。私はその道を踏み外すことはありません。 VIDEO_CUE_POINTリスナーが起動しているかどうか知っていますか?私はそれを使用していくつかの例を探すだろう – francis

+0

これも見てみる:http://actionscriptexamples.com/2008/03/13/dynamically-adding-cue-points-to-an-flv-using-the -flvplayback-control-in-actionscript-30 /ビデオをロードした後にキューポイントを追加しますか? – francis