2016-02-01 7 views
9

В настоящее время я работаю над аудио-визуализатором Android, используя подключенные смарт-домашние устройства (например, оттенок Philips) для визуализации музыки. У меня есть проблема с компенсацией задержки, вызванной динамиками bluetooth.Обнаружение или приближение задержки Bluetooth на Android (аудиовоспроизведение)

Я заметил, что приложение Youtube, в отличие от многих других приложений для потоковой передачи видео, практически не имеет задержки между аудио и видео при использовании громкоговорителей bluetooth. Я полагаю, что они должны компенсировать задержку Bluetooth, регулируя (задерживая) видеосигнал.

Есть ли разумный способ обнаружения или приближения латентности/задержки громкоговорителей Bluetooth?

Большое спасибо за помощь!

Бест, Стефан

+1

Похоже, что YouTube может использовать https://google.github.io/ExoPlayer/ для воспроизведения, у которого есть код для обнаружения задержки звука: https://github.com/google/ExoPlayer/blob/master/ библиотека/src/main/java/com/google/android/exoplayer/audio/AudioTrack.java # L801 –

+1

Черт, похоже, этого недостаточно! Их реализация «AudioTrack» сообщает о двух секундах за реальностью в моей машине. –

+1

На самом деле, YouTube отключен на пару секунд в моей машине, так что, возможно, это как можно лучше. –

ответ

2

Это не будет работать для Bluetooth динамиков. Тем не менее, я смог измерить латентность звука Bluetooth-ключа с помощью Google Dr. Rick O'Rang loopback dongle, используя Glenn Kasten test app.

+2

Насколько это умно, программное решение было бы идеальным. Как говорится в этом вопросе, как-то приложение YouTube может это сделать. –

+1

Я использую эту технику для измерения типичной задержки звука и выяснил, что она значительно отличается между различными устройствами Android. На данный момент я до сих пор не знаю, как приложение Youtube может очень точно компенсировать это. Какие-нибудь творческие идеи? –

+1

Насколько возможно было бы создать базу данных задержки устройств и внедрить ее в приложение? – cuihtlauac