Есть ли способ использовать звуковой канал в видеоклипе? - PullRequest
0 голосов
/ 01 апреля 2011

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

var snd1:Sound = newSound();
snd.load(newURLRequest("naturefrog.wav"));

var channel:SoundChannel;
snd.addEventListener

Теперь я застрял с тем, что я бы положил слушателю для прослушивания.

Ответы [ 3 ]

0 голосов
/ 01 апреля 2011

См. Этот ответ, чтобы узнать, когда закончится загрузка звуков, если звук является внешним: Загрузка звука из внешнего источника

Теперь, когда вы будете готовы воспроизвести звук и слушать, когда он завершится, ответьте здесь: демонстрирует настройку слушателей для sound_complete, а также зацикливание

0 голосов
/ 13 сентября 2012

Вы помещаете звуковую ссылку мувиклипа в массив, когда пользователь перетаскивает его в определенный мувиклип, верно?Если вы сделаете это, вы можете переместить элемент из массива (array.shift, обычно это удаляет и возвращает первый элемент массива).

function playSoundInArray(){
    if(array.length){
        var snd:Sound = array.shift() as Sound;
        channel = snd.play();
        channel.addEventListener(Event.SOUND_COMPLETE, onSoundPlayed);
    }else{
        //Do something here if there is no sound reference or the array is empty
    }
}

function onSoundPlayed(e:EVent){
    channel.removeEventListener(Event.SOUND_COMPLETE, onSoundPlayed);
    playSoundInArray();
}
0 голосов
/ 01 апреля 2011

Вы должны использовать Flash API для звука , чтобы определить, какие слушатели добавить.Внизу страницы есть несколько полезных примеров.

Полагаю, вы захотите добавить:

snd.addEventListener(Event.COMPLETE, completeHandler);
snd.addEventListener(Event.ID3, id3Handler);
snd.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
snd.addEventListener(ProgressEvent.PROGRESS, progressHandler);
...