![]() |
Синхронизация 2-х фоновых звуков
Есть звук backSnd1, он должен отыграть 5 раз а затем моментально должен начать проигрываться звук. Звук backSnd2 - это модификация первого с добавлением парочки эффектов, все это реализует фоновое музыкальное сопровождение фильма. Т.е. в опр. момент фоновый звук преображается. Сначала попробовал реализовать это через onSoundComplete - была слышна пауза (это критично!). Теперь сделал так:
function play2(){ backSnd2.start(0,999); clearInterval(p2); } backSnd1.start(0, 5); p2=setInterval(play2, 5*backSnd1.duration-100); backSnd1.duration-100 - почему -100? Сначала написал просто backSnd1.duration, но опять-таки возникала пауза! Теперь второй звук начинает проигрываться типа чуть-чуть раньше положеного, все должно быть ок. На практике получается, что иногда возникает сбой - также слышно прерывание. Иногда. Это связано со спецификой самой setInterval - не всегда интервал есть таким, каким он должен быть. Это связано с загрузкой CPU, кратности длины кадра и .т.д. Пока ничего другого в голову не приходит. :confused: |
:confused:
|
setInterval зависит от fps (интервал не может быть меньше
продолжительности отдельного кадра) fps, в свою очередь, тоже непостоянен и зависит от загрузки процессора. Таким образом точной синхронизации добиться нельзя. |
| Часовой пояс GMT +4, время: 05:09. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.