#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. Я добавил больше полезной информации, надеюсь, у кого-то есть идея или, по крайней мере, совет.