とりあえずサウンドを読み込んで段々音量を上げてくのをメモ。
実行結果
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オブジェクトを設定する