Obecnie piszę program będący rodzajem klienta VoIP. Próbuję ustanowić połączenie między 2 klientami i wysyłać i odbierać dane, które są rejestrowane z mikrofonu.MediaRecorder i UDP (DatagramSocket) w systemie Android
Obecnie używam pliki ale wygląda strasznie realizacji:
Rejestrator rozpoczyna nagrywanie do pliku tymczasowego. Zegar uruchamia się, zatrzymuje rejestrator, sprawdza rozmiar pliku, aby następnie wysłać zawartość za pomocą zestawu DatagramPacket.
Wygląda okropnie źle. Zastanawiam się, czy klasy MediaRecorder i MediaPlayer mają sposób, aby wziąć gniazdo UPD, ponieważ jest to odpowiednio plik wyjściowy i wejściowy (to znaczy DatagramSocket).
Mogę użyć deskryptora pliku z gniazda, ale gniazda używają TCP. Chciałem użyć UDP, więc domyślam się DatagramSocket, ale nie mogę znaleźć sposobu na wykorzystanie go w mojej klasie MediaRecorder i MediaPlayer.
Czy ktoś ma do tego dobre rozwiązanie?
Dziękuję bardzo
To jest całkowicie błędne! Musisz zakodować dane do strumienia, który nie jest obsługiwany natywnie przez Androida. --- Masz rację, możesz po prostu wysadzić ramki przez UDP, ale to nie jest strumień, to są surowe (wideo/audio) ramki! – debracey