actionscript-3 - 衰落的声音不起作用

标签 actionscript-3 audio

当我尝试使用以下功能淡入声音时出现此问题。它只是行不通,我不知道问题出在哪里。
我想在循环声音中淡出,但是什么也没发生。我很高兴能解决这个问题。提前致谢。

用于通过事件播放声音

dispatchEvent(new CustomEventSound(CustomEventSound.PLAY_SOUND, Main.SOUND_AMBIENT, false, true, false, 999999, 0, 0, setSoundVolume));

这是播放声音的功能。停止功能与此几乎相同。
public function playSound(soundName:String, isSoundTrack:Boolean = false, fadeIn:Boolean = false, fadeOut:Boolean = false,
                              loops:int = 1, offset:Number = 0, volume:Number = 1):void {

        if (fadeIn) {
            tempSoundTransform.volume = 0;
        } else {
            tempSoundTransform.volume = volume;

        }
        tempSound = sounds[soundName];

        if (isSoundTrack) {
            if (soundTrackChannel != null) {
                soundTrackChannel.stop();
            }

            soundTrackChannel = tempSound.play(offset, loops);                              
            soundTrackChannel.soundTransform = tempSoundTransform;

            if (fadeIn) {
                for (var i:int = 0; i < fadeInInc; i++) {
                    tempSoundTransform.volume += 1 / fadeInInc;
                    soundTrackChannel.soundTransform = tempSoundTransform;  
                    if (tempSoundTransform.volume >= 1) {
                        tempSoundTransform.volume = 1;

                    }
                }
            }

        } else {
            soundChannels[soundName] = tempSound.play(offset, loops);
            soundChannels[soundName].soundTransform = tempSoundTransform;

            if (fadeIn) {
                for (var i:int = 0; i < fadeInInc; i++) {

                    tempSoundTransform.volume += 1/fadeInInc;
                    soundChannels[soundName].soundTransform = tempSoundTransform;   
                    if (tempSoundTransform.volume >= 1) {
                        tempSoundTransform.volume = 1;

                    }

                    trace("tempSoundTransform.volume " + tempSoundTransform.volume);
                }
            }

        }

    }

最佳答案

我认为您的问题是由“for”语句引起的。程序将等待语句结束,然后再设置值。如果要并行增加音量值,则应在ENTER_FRAME事件上执行此操作,或尝试Sounds fade in/out with ActionScript 3

关于actionscript-3 - 衰落的声音不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8795867/

相关文章:

c# - 任何在远程PC上播放音频文件的简便方法

c# - WPF中没有WAV和MediaPlayer的音频

c# - 使用 Silverlight 播放用户的歌曲

ruby - Ruby 的音频处理库?

ios - 如何减小 AIR 应用程序文件大小?

actionscript-3 - 如何在 flex 3 中将日期转换为字符串

Flash CS4 + SQLITE

actionscript-3 - 在 AS3 List 控件(flash.controls.List)中设置字体名称和大小

actionscript-3 - as3 : How to organize classes

Android - 使用 Intent 打开音频内容 uri