2016-02-01 22 views
9

Attualmente sto lavorando a un visualizzatore audio Android utilizzando dispositivi domestici intelligenti collegati (come la tonalità di Philips) per visualizzare la musica. Ho difficoltà a compensare il ritardo causato dagli altoparlanti bluetooth.Rilevazione o approssimazione della latenza Bluetooth su Android (riproduzione audio)

Ho notato che l'app Youtube, a differenza di molte altre app di streaming video, non ha quasi alcun ritardo tra audio e video, quando si usano altoparlanti bluetooth. Immagino che debbano compensare la latenza del bluetooth regolando (ritardando) il segnale video.

Esiste un modo ragionevole per rilevare o approssimare la latenza/ritardo degli altoparlanti Bluetooth?

Grazie mille per l'aiuto !!

migliore, Stefan

+1

Sembra che YouTube stia utilizzando https://google.github.io/ExoPlayer/ per la riproduzione, che ha un codice per rilevare la latenza audio: https://github.com/google/ExoPlayer/blob/master/ libreria/src/main/java/com/google/android/exoplayer/audio/AudioTrack.java # L801 –

+1

Dannazione, sembra che non sia abbastanza! La loro implementazione 'AudioTrack' riporta posizioni di circa due secondi dietro la realtà nella mia auto. –

+1

Beh, in realtà YouTube è spento anche di un paio di secondi nella mia auto, quindi forse è il migliore possibile. –

risposta

2

Questo non avrebbe funzionato per Bluetooth altoparlanti. Tuttavia, sono stato in grado di misurare la latenza audio di un dongle Bluetooth utilizzando lo Dr. Rick O'Rang loopback dongle di Google, utilizzando Glenn Kasten test app.

+2

Per quanto intelligente, una soluzione software sarebbe l'ideale. Come afferma la domanda, in qualche modo l'app di YouTube è in grado di farlo. –

+1

Ho utilizzato questa tecnica per misurare la latenza audio tipica e ho scoperto che varia in modo significativo tra i diversi dispositivi Android. A questo punto non ho ancora idea di come l'app Youtube sia in grado di compensare in modo molto accurato questo. Qualche idea creativa? –

+1

Quanto possibile sarebbe costruire un database di latenza del dispositivo e incorporarlo nell'app? – cuihtlauac