2012-01-18 21 views
0

AS3では、サウンドをロードしてストリーミングで実行するコードを作成しました。Soundオブジェクトが再生されているかどうかをどのように知っていますか?

var mySound:Sound = new Sound(); 
var myChannel:SoundChannel = new SoundChannel(); 
mySound.load(new URLRequest("surrender.mp3")); 
myChannel = mySound.play(); 

mp3ファイルがサーバー上に置かれていることを考えると、私はそれがすでに始まったり、まだサーバーからの初期データを受信するかどうトレースする必要があります。それが効果的に開始されたら、私はいくつかを初期化する関数を呼び出す必要があります。

問題は、サウンドまたはチャンネルオブジェクトが「再生中」の場合、どのようにトレースすることができますか?

答えて

0

あなたは別のイベントのためにSoundオブジェクトを聞くことによって、これを確認することができますが、派遣などSound.isBuffering

のようにその性質がSound manpage

0

を参照してくださいmp3を完全に

ロードするために、あなたは待つことができます
var myChannel:SoundChannel; 
var soundFactory:Sound = new Sound(); 
soundFactory.addEventListener(Event.COMPLETE, completeHandler); 
soundFactory.load(request); 

// ... 

private function completeHandler(event:Event):void { 
    trace("completeHandler: " + event); 
    myChannel = soundFactory.play(); 
} 

か、Timerを使用し、定期的にmyChannel.positionを確認することができます - それはサウンドの再生を停止変更しない場合は...

関連する問題