2011-11-15 15 views
5

Ponieważ interfejs API Android 12, RTP jest obsługiwany w pakiecie SDK, który obejmuje RtpStream jako klasę podstawową, oraz AudioStream, AudioCodec i AudioGroup. Jednak nie ma dokumentacji, przykładów ani samouczków, które pomogłyby mi używać tych konkretnych API do pobierania danych z mikrofonu urządzenia i wysyłania go do strumienia RTP.Przykład użycia Android RtpStream

Gdzie mogę podać mikrofon jako źródło i nie używać głośnika? Czy wykonuje dowolny RTCP? Czy mogę rozszerzyć klasę podstawową RtpStream, aby utworzyć własną klasę VideoStream (najlepiej chciałbym ich użyć do przesyłania strumieniowego wideo)?

Czy istnieje jakaś pomoc dotycząca tych nowych (ish) API?

Odpowiedz

2

Niestety, te interfejsy API są najcieńszymi opakowaniami wymagającymi natywnego kodu, który wykonuje rzeczywistą pracę. Oznacza to, że nie można ich rozszerzyć w java, i rozszerzyć je w C++, musiałbyś mieć niestandardową wersję Androida, w którą wierzę.

O ile widzę, grupa AudioGroup nie może być ustawiona tak, aby nie odtwarzała dźwięku.

Nie wierzę, że robi RTCP, ale moje użycie go nie wymaga RTCP, więc nie wiedziałbym.

Moja rada jest taka, że ​​jeśli chcesz mieć możliwość rozszerzenia funkcjonalności lub większej elastyczności, powinieneś znaleźć natywną bibliotekę C lub C++, którą ktoś napisał lub przeportował na Androida i użył jej zamiast tego, to powinno pozwolić ci na kontrolować, jakiego dźwięku używa i dodać strumieniowe przesyłanie wideo i inne tego typu rozszerzenia.

+1

Możesz wyciszyć zarówno głośnik, jak i mikrofon przez audioGroup = new AudioGroup(); audioGroup.setMode (AudioGroup.MODE_ON_HOLD); – tristan2468

Powiązane problemy