2013-02-28 13 views
12

C'è un modo per intercettare o semplicemente leggere l'uscita audio nel dispositivo Android?android get dispositivo uscita audio generale in pcm

Ho bisogno di leggere l'intera uscita audio in PCM da myActivity, compresa l'applicazione del lettore multimediale in sottofondo, voce dalle chiamate, istanze MediaPlayer in myACtivity, ecc., Tutto ciò che verrà riprodotto dagli altoparlanti. In realtà, se fosse possibile leggerli separatamente, sarebbe grandioso.

Ho provato con AudioRecord, assegnandolo come parametro AudioSource ogni costante trovato in MediaRecorder.AudioSource senza fortuna, dovrei provare diverse sorgenti audio?

È un'attività così di basso livello che deve essere gestita all'interno del livello nativo?

+0

Android non supporta questo. Non importa se usi le API Java o le API native. – Michael

+0

Sono un po 'triste ora ma grazie – lelloman

risposta

9

La classe visualizer è utile. Lo uso per riprodurre immediatamente l'audio riprodotto here.

Questo audio è di qualità molto bassa, tuttavia, è davvero ottimo per la visualizzazione.

+0

Grazie per l'input, ho letto il tuo codice e mi chiedevo, qual è l'ingresso audio per il visualizzatore? Sono curioso di questa riga 'audioOutput = new Visualizer (0); // get output stream audio' – lelloman

+1

Come per la documentazione del visualizzatore: "Creazione di un Visualizer sul mix di output (sessione audio 0) ..." Fondamentalmente, questo crea il Visualizer basato sul flusso di uscita audio di Android, non basato su alcuno indipendente flusso di uscita. Nota che avrai bisogno del permesso MODIFY_AUDIO_SETTINGS affinché il costruttore acquisisca il flusso audio in uscita di Android. – TheLivingForce

+0

wow grazie, ci provo il prima possibile, potresti diventare il mio eroe – lelloman