2013-02-28 12 views
12

Czy istnieje sposób, aby przechwycić lub po prostu przeczytać wyjście audio w urządzeniu z systemem Android?Android uzyskać ogólne urządzenie wyjściowe audio w pcm

Muszę odczytywać całe wyjście audio w PCM z wnętrza myActivity, w tym aplikację odtwarzacza multimedialnego w tle, głos z połączeń, MediaPlayer wystąpienie wewnątrz myACtivity itp., Wszystko, co będzie odtwarzane przez głośniki. Właściwie, gdyby można było je odczytywać osobno, również byłoby świetnie.

Próbowałem z AudioRecord, nadając mu jako parametr audioSource każdą stałą znalezioną w MediaRecorder.AudioSource bez powodzenia, czy powinienem spróbować różnych źródeł dźwięku?

Czy jest to zadanie tak niskiego poziomu, które musi być obsługiwane w warstwie macierzystej?

+0

Android nie obsługuje tego. Nie ma znaczenia, czy korzystasz z Java API czy z natywnych API. – Michael

+0

Jestem trochę smutny teraz, ale dzięki – lelloman

Odpowiedz

9

Klasy visualizer jest pomocna. Używam go do odtwarzania natychmiast odtwarzanego dźwięku here.

Dźwięk ten jest jednak w bardzo niskiej jakości, więc jest naprawdę dobry tylko do wizualizacji.

+0

Dzięki za wejście, czytałem twój kod i zastanawiałem się, jakie jest wejście audio dla wizualizatora? Ciekawi mnie ta linia 'audioOutput = new Visualizer (0); // pobierz wyjściowy strumień audio' – lelloman

+1

Zgodnie z dokumentacją wizualizatora: "Tworzenie wizualizatora na miksie wyjściowym (sesja audio 0) ..." Zasadniczo tworzy to wizualizator w oparciu o wyjściowy strumień audio systemu Android, nie oparty na żadnej niezależnej strumień wyjściowy. Zauważ, że będziesz potrzebować uprawnienia MODIFY_AUDIO_SETTINGS, aby konstruktor mógł pozyskać wyjściowy strumień audio Androida. – TheLivingForce

+0

wow dziękuję, spróbuję jak najszybciej, możesz zostać moim bohaterem – lelloman