2016-03-18 2 views
0

У меня есть 4 wav-файла, все из которых предназначены для воспроизведения одновременно. Я создал 4 звуковых буфера и воспроизвел их с помощью функции запуска. Все 4 звука воспроизводятся успешно, но они немного не синхронизированы друг с другом. Я думаю, что каждый вызов для начала занимает достаточно много времени, чтобы последующий вызов не синхронизировался. Есть ли способ заставить их синхронизировать? ThanksHtml5 web API AudioBufferSourceNode звуковая синхронизация

ответ

2

Не видя кода, это спонтанные идеи, которые у меня есть. Убедитесь в том, чтобы проверить следующее:

  1. Дайте точно такие же время пуска метода запуска (может быть, за исключением context.currentTime + немного в варе и передать его в метод запуска каждого узла источника, дон 't передать context.currentTime каждому источнику в цикле for или аналогичном (время контекста может обновляться во время выполнения, поэтому время, переданное каждому источнику, отличается)).

  2. Убедитесь, что аудиофайлы разрезаются точно так же в начале файла. Если у вас есть 10 минут дополнительной тишины в одном из файлов, этот файл всегда будет на 10 мс (если вы не компенсируете его в коде).

Если это не работает/не применимо, добавьте в свой вопрос код, объясняющий, что вы делаете прямо сейчас.