2016-01-09 1 views
1

Запись из-за того, что я столкнулся с проблемой, используя образец буферизируемого WebAudioAPI. В принципе у меня есть веб-сайт, который синхронизирует часы устройств, загружает файл в Soundcloud и в определенное время начинает играть, в результате чего несколько устройств играют синхронно. Синхронизация часов работает хорошо, и музыка воспроизводится вместе на компьютерах. Проблема на смартфонах, хотя часы точно синхронизированы, кажется, что существует случайная задержка между 20 мс и 500 мс, и результирующее воспроизведение не синхронизируется. Первым шагом на пути к решению проблемы будет поиск того, что в результате чего эта задержка ..Задержка WebAudioAPi на устройствах

у меня есть несколько идея, но нет certitudes:

• Аппаратные задержки? Но не будет ли задержка постоянной?

• Слишком много использования памяти, потому что загрузка буфера замедляет работу и как-то добавляет джиттер?

Действительно не так много подсказок, поэтому даже идеи о том, почему он не работает, были бы хороши!

Спасибо!

ответ

3

Нет, это определенно звучит как аппаратная латентность. Задержка должна быть довольно постоянной на данном устройстве и ОС, но будет сильно различаться между устройствами (особенно различными устройствами Android).

Мы 1) работаем над улучшением этого в Android на будущее и 2) работаем в спецификации и реализациях, чтобы выявить задержку аппаратного обеспечения. Пока нет отличного ответа, кроме сохранения таблицы известных задержек на данных устройствах.

+1

Да, я думал, что это должно быть, но проблема в том, что на данном оборудовании латентность не кажется постоянной. Одно и то же устройство может быть в какой-то момент синхронизации, а иногда и нет (т.е. иметь слышимую задержку). Так что, может быть, для этого есть больше, чем только аппаратное обеспечение. –

+0

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

+0

ничего не помогло! Это действительно проблема с оборудованием. –