исчезающий звук не работает - PullRequest
0 голосов
/ 10 января 2012

У меня есть эта проблема, когда я пытаюсь усилить звук с помощью функции ниже. Это просто не работает, и я не могу понять, где проблема. Я хотел бы исчезнуть в петле, но ничего не происходит. Я ценю любую подсказку, которую могу получить, чтобы решить эту проблему Заранее спасибо.

используется для воспроизведения звука через события

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);
                }
            }

        }

    }

1 Ответ

3 голосов
/ 10 января 2012

Я думаю, что ваша проблема вызвана заявлениями "за". Программа будет ждать, пока закончится оператор, и после этого установит значения. Если вы хотите увеличить значение громкости параллельно, вы должны сделать это для события ENTER_FRAME или попробовать Звуки исчезают / исчезают с помощью ActionScript 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...