Wykonuję projekt badawczy, w którym 2 telefony z Androidem muszą odtwarzać ten sam plik dźwiękowy dokładnie w tym samym czasie, aby to zrobić potrzebuję czasu systemowego w każdym telefonie są zsynchronizowane z milisekundą. Moje pytanie brzmi: jak to osiągnąć na poziomie kodu? Teraz wszystkie obecne metody mogą wykonywać tylko synchronizację drugiego poziomu.synchronizacja czasu systemowego w 2 telefonach
Odpowiedz
Nie musisz. Jeśli tego potrzebujesz, potrzebujesz systemu operacyjnego działającego w czasie rzeczywistym, którego nie ma Android. Zbyt wiele rzeczy może sprawić, że coś pójdzie nie tak - przekręcenie zegara, zbieranie śmieci, różnice w JIT Dalvik itp. Możesz zbliżyć się do niego za pomocą funkcji zegara czasu rzeczywistego, ale nigdy nie osiągniesz tego rodzaju wydajności w niczym napisanym na maszynie wirtualnej w wielozadaniowym systemie operacyjnym.
dziękuję, czy jest jakiś inny sposób na zrobienie tego? Mój obecny pomysł polega na tym, że najpierw synchronizuję czas systemowy, a następnie wysyłam wiadomość do tych 2 telefonów za pośrednictwem gniazda, w którym określam, kiedy należy odtwarzać plik dźwiękowy. –
@JunfeiWang Możesz mieć oba urządzenia nasłuchujące na wiadomość na gnieździe. Następnie wyślij wiadomość z trzeciego komputera w tej samej sieci za pomocą funkcji przesyłania wielu filmów. W zależności od warunków ruchu w sieci obie wiadomości powinny być odbierane mniej więcej w tym samym czasie (wystarczająco blisko, aby dźwięk był tak zsynchronizowany, aby ucho ludzkie nie zauważyło różnicy). – FoamyGuy
@ FoamyGuy dziękuję za radę, spróbuję skonfigurować dedykowaną sieć Wi-Fi i zaimplementować to. –
- 1. DateTime.Now vs czasu systemowego
- 2. Synchronizacja czasu JS między wieloma urządzeniami
- 3. Losowy ciąg w systemie Linux według czasu systemowego
- 4. Czy istnieje wersja wywołania systemowego wait(), który ustawia limit czasu?
- 5. Harmonogram Java, który jest całkowicie niezależny od zmian czasu systemowego
- 6. node.js nie setTimeout zwolniony po zmianie czasu systemowego
- 7. Przechwytywanie dźwięku systemowego z przeglądarki
- 8. Precyzyjna synchronizacja w .NET
- 9. mysql synchronizacja dwóch tabel z 2 baz danych
- 10. Synchronizacja kolejki
- 11. window.scrollTo nie działa w telefonach komórkowych
- 12. Jak ustawić atrybut readonly w telefonach komórkowych?
- 13. Synchronizacja bez skanowania pojedynczych plików?
- 14. synchronizacja zegarów przez Internet
- 15. Synchronizacja SCM nie działa
- 16. Jak uzyskać format czasu systemowego, gdy region jest "Wielka Brytania" w systemie ios?
- 17. W języku Java, jaki jest najszybszy sposób na uzyskanie czasu systemowego?
- 18. Synchronizacja książki adresowej w systemie iOS
- 19. py2exe - Brak modułu systemowego "pywintypes"
- 20. Synchronizacja wielu wątków w pytonie
- 21. Synchronizacja aplikacji internetowych w klastrze
- 22. Synchronizacja Java w pojedynczym wzorze
- 23. Dlaczego synchronizacja nie działa w drugim kodzie?
- 24. Synchronizacja na wartość całkowitą
- 25. Konwersja (2.75) do czasu (2:45)
- 26. Limit czasu slajdu z cyklem jQuery 2
- 27. połączenia rur i synchronizacja
- 28. Przywróć aplikację z zasobnika systemowego
- 29. Symulowanie naciśnięcia klawiszy skrótu systemowego
- 30. Złożoność czasu Java O (n^2/3)
Jestem przyzwoicie pewny, że nawet jeśli otrzymasz synchronizację czasu za pomocą NTP lub coś podobnego, będziesz miał trudności z uruchomieniem kodu na milisekundę w VM. –
Przez VM mam na myśli maszynę wirtualną Dalvik, której android używa do wykonywania kodu Java, a nie emulatora androida. –
możliwy duplikat [Czas synchronizacji zapisu danych na wielu urządzeniach z systemem Android] (http://stackoverflow.com/questions/11190843/sync-time-for-recording-data-on-multiple-android-devices) – Thomas