9

Flash (CS5) プロジェクトで音楽にフェード イン/フェード アウトを作成しようとしています。サウンドをライブラリにインポートし、「Export for ActionScript」のクラス名を設定し、次のように TweenLite/TweenMax でフェードしようとしました。

var sound = new MySound();
sT = new SoundTransform(0.1);
sound.play(0,99999, c_sndEnvironment);
TweenLite.to(sound, 1, {volume: 1.0});

しかし、それはうまくいきません。TweenLite にボリューム プラグインをインポートしようとしましたが、まだ何もありません。私はまったくエラーが発生しませんでした。

私は何か間違ったことをしていますか?

さらに、音楽用の優れた (完全な) AS3 ライブラリはありますか?

ありがとうございました。:)

4

3 に答える 3

13

これには TweenMax を使用します。これは非常に簡単です。

var someSound:Sound = new Sound(new URLRequest(“MySound.mp3”));
var someChannel:SoundChannel = someSound.play(0, 99999);
TweenMax.to(someChannel, 1, {ボリューム:0, onComplete:stopSound});

http://www.greensock.com/tweenmax/

于 2010-10-06T13:16:46.860 に答える
5

サウンド自体ではなく、SoundChannel のボリュームをトゥイーンする必要があるという事実について、PatrickS は正しいです。TweenMax は VolumePlugin を (他のいくつかのプラグインと共に) 自動的に有効にしますが、TweenLite では次のように手動で行うことができます。

import com.greensock.*;
import com.greensock.plugins.*;
TweenPlugin.activate([VolumePlugin]); //only necessary once

var someChannel:SoundChannel = someSound.play(0, 99999);
TweenLite.from(someChannel, 1, {volume:0});

その価値については、外部サウンドの操作を容易にする MP3Loader クラスを持つ LoaderMax もチェックしてください。トゥイーンもできる独自の「ボリューム」プロパティがあります。http://www.greensock.com/loadermax/

于 2011-12-01T16:56:34.823 に答える
1

申し訳ありませんが、これらのコード行からの奇妙な動作のようなものです。私の音はフェードアウトし、ヨーヨーが戻ってきます。サウンドチャンネルが以前と同じ音量になった後、onComplete が正常に実行されます。何か案は?

themeChannel = sndTheme.play(0, 99999); TweenLite.from(themeChannel, 2, {volume:0,onComplete:stopTheme});

//編集: SoundTransform オブジェクトを Tweening することで機能するようになりました:

var themeTransform:SoundTransform = new SoundTransform(1);
themeChannel  = sndTheme.play(0, 99999, themeTransform);
TweenLite.from(themeTransform, 3, {volume:0,onUpdate:updateSound,onComplete:stopTheme});

function updateSound():void{
           themeChannel.soundTransform = themeTransform;
        }

おかげで: http://www.zedia.net/2008/fading-out-volume-using-tweenlite/

于 2013-02-19T14:27:41.043 に答える