Progressionでサウンドを読み込む

とりあえずサウンドを読み込んで段々音量を上げてくのをメモ。
実行結果
loadsound.txt

設定用のSoundTransformオブジェクトでサウンドボリュームを0にする

サウンドを読みこんで最初はボリュームを0にするためにSoundTransformオブジェクトを用意する。サウンドを読み完了時に使用

private var channel:SoundChannel;  //サウンドチャンネル
private var sound:Sound;           //サウンドオブジェクト
private var tf:SoundTransform;        //サウンドトランスフォーム

override protected function atCastAdded():void {
var url:URLRequest = new URLRequest("sound/nos80.mp3");

//サウンドトランスフォームの引数のvolumeプロパティを0に設定
tf = new SoundTransform(0);
    
}

LoadSoundメソッドで読み込む

今回はaddCommand内でメソッドを実行してシリアルで処理。

onCompleteでサウンドデータを「this.latestData」で取得できる。次にサウンドを再生してする。ここで再生しておかないとサウンドチャンネルのSoundTransformに設定することが出来ない。


addCommand(
new LaodSound(url,{
onComplete:function(){
   sound = this.latestData;
 //ここで再生しておいて変数channelに受け渡しておく
   channel = mysound.play(0, int.MAX_VALUE);
 //ここで上記でボリュームを0に設定しておいた変数tfを初期値としてセットする
   channel.soundTransform=tf;
}
})
);

DoTweenerでSoundTransformオブジェクトでボリュームを上げる

最初に作成したSoundTransfomオブジェクトのvolumeプロパティをtweenすることでボリュームをあげる

ただしSoundTransformのvolumeプロパティを1に上げても反映させるには再度、サウンドチャンネルのsoundTransformに再設定する必要がある。

new DoTweener(tf, { volume:1, time:3}, {onComplete:function() { trace("complete"); }, onUpdate:function():void {
channel.soundTransform = tf;
trace("update");
}})

上記のようにvolumeプロパティをtweenするたびに再設定するために、DoTweenerのonUpdateメソッドを実行してサウンドチャンネルのsoundTransformにSoundTransformオブジェクトを設定する