Sto facendo un progetto di ricerca in cui 2 telefoni Android devono riprodurre lo stesso file audio ESATTAMENTE nello stesso momento, per fare ciò ho bisogno che l'ora del sistema in ogni telefono sia sincronizzata al millisecondo. La mia domanda è, come ottenere questo a livello di codice? Ora tutti i metodi attuali possono eseguire solo la sincronizzazione di secondo livello.sincronizza l'ora del sistema in 2 telefoni
risposta
Non è così. Se necessario, è necessario un sistema operativo in tempo reale, che Android non è. Troppe cose possono farle andare storte - clock skew, garbage collection, differenze JIT dalvik, ecc. Puoi avvicinarti ad esso usando le funzioni dell'orologio in tempo reale, ma non otterrai mai quel tipo di performance assicurata in qualsiasi cosa scritta su una VM su un sistema operativo multitasking.
grazie, c'è un altro modo per farlo? La mia idea attuale è quella di sincronizzare prima l'ora del sistema, quindi inviare un messaggio a questi 2 telefoni tramite socket in cui specifichi quando il file audio deve essere riprodotto. –
@JunfeiWang È possibile che entrambi i dispositivi stiano ascoltando un messaggio su un socket. Quindi invia il tuo messaggio da una terza macchina sulla stessa rete tramite Multi-Cast. A seconda delle condizioni del traffico di rete, entrambi dovrebbero ricevere il messaggio all'incirca nello stesso tempo (abbastanza vicino da riprodurre il suono in sincrono a tal punto che l'orecchio umano non noterebbe la differenza). – FoamyGuy
@FoamyGuy grazie per il vostro consiglio, cercherò di creare una rete wifi dedicata e implementarlo. –
- 1. Apertura di prese tra 2 telefoni Android
- 2. Deriva del giroscopio sui telefoni cellulari
- 3. Sublime Text 2: selettore personalizzato del sistema di build
- 4. Sincronizza github con account godaddy
- 5. posizione del file .db in diversi telefoni Android
- 6. SVN: Sincronizza ramo con tronco in Eclipse?
- 7. sincronizza thread - no UI
- 8. Rileva il trascinamento del dito utilizzando Javascript sui telefoni touch?
- 9. Sincronizza tutta la directory Documenti in iCloud
- 10. Sincronizza proprietà in Swift 3 tramite GCD
- 11. svn server si sincronizza automaticamente
- 12. jQuery - rilevamento del sistema operativo e del sistema operativo versione
- 13. Sincronizza/aggiorna i database sqlite
- 14. Eclipse SVN sincronizza il problema
- 15. accedere a un sistema di generazione da un altro sistema di compilazione in Sublime Text 2
- 16. Impostazione ora di sistema del telefono ROOTED
- 17. Sincronizza layout UIView su frame OpenGL
- 18. availableProcessors() restituisce 1 per telefoni dualcore
- 19. Android: connetti due telefoni in modalità wireless?
- 20. Programmazione del sistema Linux
- 21. Identificare il sistema operativo del sistema tramite ID
- 22. Sopprimere l'output del sistema ("ping") in C++
- 23. Esecuzione del comando di sistema in Vala
- 24. Ottenere lo stato del sistema in python
- 25. Utilizzo del comando di sistema in Qt
- 26. Ottieni l'indirizzo MAC del sistema in Java
- 27. Proprietà del sistema WAS7 in RAD 7.5.1
- 28. Test del collegamento del modello in ASP.NET MVC 2
- 29. Realtà aumentata su telefoni cellulari
- 30. pulsante Indietro sui telefoni Android
Sono sicuro che anche se si sincronizzano gli orari tramite NTP o qualcosa del genere, sarà difficile eseguire il codice su un millisecondo nella VM. –
Per VM intendo la macchina virtuale Dalvik che Android usa per eseguire il codice Java, non un emulatore Android. –
possibile duplicato di [Tempo sincronizzazione per registrare dati su più dispositivi Android] (http://stackoverflow.com/questions/11190843/sync-time-for-recording-data-on-multiple-android-devices) – Thomas