2

我正在使用 tweenlite 淡出声音,淡出效果本身运行良好,但似乎每次 soundTransform 应用到带有 tweenlite 的 soundChannel 时都会出现一些像爆裂声一样的噪音。

你可以在这里测试它

这是代码:

package  {

    import flash.display.Sprite;

    import flash.events.Event;  
    import flash.events.MouseEvent; 

    import flash.media.Sound;
    import flash.media.SoundChannel;
    import flash.media.SoundTransform;

    import com.greensock.*;     
    import com.greensock.plugins.*;
    TweenPlugin.activate([VolumePlugin]);


    public class SoundFade extends Sprite {

        public var keySound:Sound; 
        public var keySoundChannel:SoundChannel;
        public var keySoundTransform:SoundTransform;


        public function SoundFade():void {

            keySound = new MySound();
            keySoundChannel = new SoundChannel();

            btn.addEventListener(MouseEvent.CLICK, onClick);

        }


        private function onClick(e:MouseEvent):void {

            keySoundChannel = keySound.play();

            TweenLite.to(keySoundChannel, 0.5, {
                volume: 0
            }); 

        }

    }

}

有谁知道如何解决这个问题?

我相信你们可以帮助我解决这个问题。提前致谢。

4

1 回答 1

0

我无法听,因为链接不起作用,但据我所知,当从高(或低)音量快速变为低(或高)音量时会出现噼啪声。发生这种情况是因为您动态修改了波形,因此它变得不连续。

我看到您使用 TweenLite,这是一个好的开始。我相信如果你增加补间持续时间,裂纹会消失。

请注意,根据文档,TweenLite 的默认缓动是 Quad.easeOut,因此衰落不是线性的,因此在过渡更快的地方可能会出现噼啪声!将轻松更改为“Linear.easeNone”也可能会有所帮助。

于 2013-07-03T13:48:34.363 回答