Аудио Javascript «буфер/лаги» при первом воспроизведении?

#javascript #audio #meteor #lag

Вопрос:

Я разрабатывал приложение с использованием MeteorJS, и в основном оно воспроизводит соответствующие звуковые файлы при нажатии кнопки воспроизведения. Он использует тайм-аут для установки воспроизводимых интервалов, потому что это музыкальное приложение, которое воспроизводит аккорды.

Я создаю звуковые объекты в массиве (см. Пример) и воспроизводю их, когда это необходимо. Они созданы в файле .js, а не в какой-либо функции или чем-либо еще, поэтому я предполагаю, что это происходит при первой загрузке документа?

Тем не менее, при первом воспроизведении файлов иногда он приостанавливается и сбрасывает время, но я заметил, что он не сильно отстает или вообще не проигрывается, как только звук воспроизводится хотя бы один раз. Если я обновлю страницу, она снова будет отставать в первый раз, а затем все будет в порядке.

Это проблема с загрузкой? Проблема с кэшем? Я не очень хорошо разбираюсь в том, как именно загружается и обрабатывается аудио через js. Было бы лучше попробовать использовать библиотеку и/или другое форматирование звука? Любая обратная связь приветствуется, потому что проблема довольно заметна и ее важно попытаться исправить, потому что по своей природе это приложение зависит от звука.

Код для настройки аккордов (только первый в массиве в качестве примера) не в функции, поэтому предположительно при запуске это выполняется:

 var standardChord = [];
standardChord[0] = new Audio('/A.flac');
 

И когда звучит такой аккорд:

 if (!standardChord[0].ended) {
        standardChord[0].currentTime = 0;
}
standardChord[0].play();
 

Спасибо!
(Я использую Google chrome)

Комментарии:

1. Пожалуйста, добавьте пример кода, описывающий основную проблему. В противном случае очень трудно воспроизвести вашу проблему. Поскольку это тесно связано с веб-стандартом, пожалуйста, также укажите, какие браузеры и версии вы используете, когда возникает проблема.

2. Я добавил больше полезной информации, надеюсь, у кого-то есть идея или, по крайней мере, совет.