AS3.0 проигрывает звук без задержки - PullRequest
3 голосов
/ 16 июня 2011

У меня есть пара классов.

Мой класс документов (Main.as) создает экземпляр класса player и Soundsloader. В классе игрока, когда игрок берет предмет в игре, я хочу сыграть короткий звук. Я делаю это с помощью следующего кода: MovieClip(this.main_object.sound_loader).playPickUp();

В моем классе документов я также создаю экземпляр SoundsLoader, который в основном должен загружать все звуки. (только один в моем примере кода ниже)

package  {
    import flash.display.MovieClip;

    public class SoundsLoader extends MovieClip{

        private var pick_up_item:sound_pickup_item =  new sound_pickup_item;

        public function SoundsLoader() {
        }

        public function playPickUp(){
            pick_up_item.play();
        }
    }
} 

Однако, когда я использую методы, мой swf-файл на мгновение зависает, воспроизводит звук и затем продолжает. Так каков лучший способ сделать это? (я использую звук .wav)

1 Ответ

3 голосов
/ 16 июня 2011

Если это происходит только при первом воспроизведении звука, возможно, из-за проблем с распаковкой. Я отказываюсь от задержки загрузки, потому что вы сказали, что вы уже загружаете все звуки в предварительном загрузчике или что-то в этом роде.

Как я уже сказал, если это произойдет только в первый раз , обходной путь будет воспроизводить все звуки во время предварительной загрузки, но приглушен.

Пример:

public function SoundsLoader() {            
    var songController:SoundChannel = pick_up_item.play();          
    var volControl:SoundTransform = songController.soundTransform;
    volControl.volume = 0;
    songController.soundTransform = volControl;
}

Или

public function SoundsLoader() {            
    var songController:SoundChannel = pick_up_item.play();          
    songController.stop;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...