我正试图在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库?
谢谢。 :)
答案 0 :(得分:13)
我使用TweenMax,这非常简单
var someSound:Sound = new Sound(new URLRequest(“MySound.mp3″)); var someChannel:SoundChannel = someSound.play(0, 99999); TweenMax.to(someChannel, 1, {volume:0, onComplete:stopSound});
答案 1 :(得分:5)
PatrickS对于你应该补间SoundChannel的音量而不是声音本身的事实是正确的。 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/
答案 2 :(得分:1)
themeChannel = sndTheme.play(0, 99999);
TweenLite.from(themeChannel, 2, {volume:0,onComplete:stopTheme});
//编辑:我通过补间SoundTransform对象来实现它:
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/