Domanda

mi chiedevo se è possibile catturare i dati audio provenienti da altre fonti, come il sistema fuori, radio FM, Bluetooth, ecc Sono particolarmente interessato a catturare l'audio dalla radio FM e già studiato tutte le possibilità tra cui il tentativo di fiutare la comunicazione bluetooth grezzo tra il telefono e il dispositivo della radio senza fortuna. Peccato solo Android permette la registrazione audio dal MIC.

Ho guardato il codice sorgente di Android e non poteva trovare una backdoor per permettere che lo faccia senza radicamento del dispositivo. Ti, almeno, una qualche idea di come utilizzare altri dispositivi (forse l'accesso in qualche modo / dev / audio ) dire via NDK o meglio ancora - (? Forse Reflection) Java per ingannare il sistema per catturare il flusso audio da dire, la radio FM. (Nel mio caso sto cercando di sviluppare l'applicazione per l'HTC Desire)

PS. E per quelli di voi che sono contro l'uso di API non documentate, si prega di non postare qui - Sto scrivendo un app che sarà per mio uso personale o anche se mai pubblicarla io avvertire l'utente di eventuali incompatibilità

È stato utile?

Soluzione

Ho trascorso un po 'di tempo a decifrare lo stack audio, e penso che si può tentare di dirottare libaudio. Avrete difficoltà a parlare direttamente con l'hardware (/ dev / *) perché molti dispositivi utilizzano driver audio proprietari. Non esiste una regola in questo senso.

Tuttavia, il livello audio astrazione di hardware (HAL) è fornito da /system/lib/libaudio.so dovrebbe esporre l'API descritto nel http://source.android.com/porting/audio.html

Il sistema Android, e soprattutto audioflinger, utilizza questa libaudio HAL per trovare dispositivi disponibili, accordo con il routing, e, naturalmente, per leggere / scrivere dati PCM.

Quindi, si potrebbe dirottare l'interazione tra audioflinger e libaudio, rinominando il più tardi, e fornire il proprio libaudio che decora quello reale. In questo modo, si dovrebbe essere in grado di accedere ciò che accade e molto probabilmente uscita radio FM intercettazione, a condizione che ciò non è direttamente gestito dal hardware.

Naturalmente, tutto questo richiede radicamento. Si prega di commento, se si riesce a fare questo, che mi interessa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top