|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Возможно ли сделать эхо у подгружаемого звука? (loadSound)
Всем доброго дня!
Интересный вопрос возник. Можно подгрузить внешний звук на таймлайн при помощи var my_sound = new Sound(); my_sound.loadSound("snd/my_sound.mp3", true); my_sound.onLoad = function () { my_sound.start(); }; То есть к примеру - Звук. Спустя 0,25 секунды - тот же звук, но тише. И спустя 0,5 секунды - тот же звук, но еще тише. Буду благодарен за любые варианты)) |
|
|||||
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
|
Кот Баюн, да, возможно.
Для этого лучше использовать звук из библиотеки, а не загружаемый. Но принцип один и тот же, — создаете несколько инстансов звуков, запускаете с задержкой. Звуки для эха с пониженной громкостью. Собственно, вашего кода должно хватать. Ну, setTimeout еще пригодится.
__________________
hauts.ru |
|
|||||
Модрон-ветеринар
|
Держите пример.
Если непонятно, для чего создавать пустые мувики для каждого экземпляра звука. PS. Подгружаемый звук придется подгружать столько раз, сколько нужно эхо-экземпляров, поэтому звук целесообразно заранее положить в библиотеку.
__________________
Идите первым! Последний раз редактировалось mooncar; 23.03.2014 в 15:46. |
|
|||||
Я посмотрел этот вариант - хороший вариант, к нему можно прикрутить подгрузку звука, и усовершенствовать стерео-панорамирование)))
this.createEmptyMovieClip('mc_s1', 0); this.createEmptyMovieClip('mc_s2', 1); this.createEmptyMovieClip('mc_s3', 2); this.createEmptyMovieClip('mc_s4', 3); var s1:Sound = new Sound(mc_s1); s1.loadSound("snd/28.mp3", false); var s2:Sound = new Sound(mc_s2); s2.loadSound("snd/28.mp3", false); var s3:Sound = new Sound(mc_s3); s3.loadSound("snd/28.mp3", false); var s4:Sound = new Sound(mc_s4); s4.loadSound("snd/28.mp3", false); startSound(s1, 100); //нормальный старт setTimeout(startSound, 25, s2, 20, -50); setTimeout(startSound, 50, s3, 10, 100); setTimeout(startSound, 75, s4, 5, -50); function startSound(sound:Sound, vol:Number, pan:Number) { sound.setVolume(vol); sound.setPan(pan); sound.start(); } stop(); И при выставлении задержки, например, меньше 25, звук просто пропадает. А допустим, как сделать эффект "ванной комнаты" - когда задержки очень малы? |
|
|||||
Хотелось бы, так сказать, понять причину.
|
|
|||||
Можно вот тут почитать на вашу тему:
http://www.flasher.ru/forum/showthread.php?t=205696 Обратите внимание на использование события "onLoad" |
|
|||||
Про OnLoad - оно было в первоначальном коде.
var my_sound = new Sound(); my_sound.loadSound("snd/my_sound.mp3", true); my_sound.onLoad = function () { my_sound.start(); }; Я честно пытался прикрутить туда onload, но в конечном итоге он все-таки не прикрутился. |
|
|||||
Модрон-ветеринар
|
А туда и не надо. В чем смысл? Считается, что добавление объектов из библиотеки в рантайме происходит синхронно, в отличии от асинхронной (по отношению к исполнению кода) подгрузки ресурсов извне (считай - из инета), поэтому обработчик события загрузки не нужен.
__________________
Идите первым! |
|
|||||
Очень много звуков, которые надо "реверберировать" и весят они нехило.
Затолкать все в библиотеку - "компиляция" SWF будет длиться полчаса. Потому подгружаю. А делать копии файлов с заранее наложенным эхом было бы слишком хлопотно. Про задержку в курсе. Но не совсем ясно, почему после уменьшения задержек в копиях эхо пропадает вообще. |
Часовой пояс GMT +4, время: 07:47. |
|
« Предыдущая тема | Следующая тема » |
|
|