2014-11-29 2 views
0

Я в настоящее время помогаю другу разработать веб-приложение, в котором мне нужно ~ 6 звуковых дорожек (все с использованием одной и той же сигнатуры времени) для непрерывного цикла и синхронизации. Чтобы дать контекст, это приложение для сопряжения типов шрифтов, где, как только выбран шрифт, связанный звуковой цикл начинает воспроизводиться, и по мере того, как пользователь продолжает собирать шрифты, слой треков и начинает напоминать песню.Аудиодорожка в Javascript без задержек

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

Это, похоже, известная проблема, но я не могу найти ответа на вопрос о том, как ее исправить. Я столкнулся с Havenfour's SeamlessLoop 2.0, но - если я не использую его полностью неправильно - он фактически не работает (установка тома возвращает ошибку).

Если у кого-то есть опыт с этим, я бы по достоинству оценил любой вход! Спасибо :)

+0

Я нахожусь на своем телефоне, поэтому не собираюсь его находить, но столкнулся с подобной проблемой и нашел ответ на SO. Хитрость состоит в том, чтобы иметь два экземпляра аудио на звуковой файл и использовать обратные вызовы для запуска другого экземпляра, когда текущий экземпляр заканчивается. В настоящее время нет никакого способа бесшовного цикла, который работает с перекрестным браузером, но трюк с двумя экземплярами - хорошая работа. – redditor

+0

просто любопытно, я пытался заставить SeamLessLoop 2.0 работать, но в их примере они используют некоторую библиотеку под названием BASE64UTF8, которую я не могу найти ... как у вас был пример и работает? – woojoo666

ответ

0

SoundJS WebAudioPlugin использует взгляд вперед с веб-аудио, который будет плавно перемещаться, что описано here в том, что, вероятно, будет очень полезно при синхронизации звука.
Также имейте в виду, что некоторые форматы сжатия вставляют белый шум в звуки. Я считаю, что mp3 делает это. WAV поддерживается широко и не работает.

Что касается HTMLAudioPlugin, мы выполняем цикл так же плавно, как позволяем браузер, но он не имеет такой же точности, как и для WebAudio.

Надеюсь, что это поможет.

Смежные вопросы