2014-06-11 15 views
8

Sto utilizzando il codice dal seguente URL al fine di ottenere dati audio dal microfono con AudioRecord: http://www.dreamincode.net/forums/topic/303235-visualizing-sound-from-the-microphone/Impossibile accedere microfono quando un'altra applicazione sta utilizzando in Android

Il problema che sto vedendo è che se un'altra app utilizza anche il microfono, ricevo un errore (stato -3) da AudioRecord. Tutto funziona come previsto se uccido l'altra app che sta usando il microfono. C'è una soluzione elegante per consentire alla mia app di accedere al microfono anche se un'altra app lo sta già utilizzando?

Grazie.

+0

Altre informazioni: AudioRecord.read restituisce -3, che a mio avviso significa che legge zero byte. – codeman

+0

Vuoi * cambiare * quale app sta usando il microfono, o permetterli entrambi contemporaneamente? Se quest'ultimo è un duplicato di [Condividi ingresso audio?] (Http://stackoverflow.com/q/9758946/752320) In poche parole, solo un'app può utilizzarlo alla volta. – Geobits

+0

Voglio passare a quale app sta usando il microfono. Immaginavo che l'app in primo piano avrebbe ottenuto il controllo del microfono, ma sembra che prima di tutto l'app manterrà il controllo. Grazie per qualsiasi aiuto. – codeman

risposta

8

Purtroppo, una sola applicazione alla volta può accedere al microfono (proprio come la fotocamera).

Inoltre, non esiste un modo standard per informare un'altra app che si desidera accedere al microfono (in modo che rilascino le risorse e consentano di accedervi). Potresti comunque inviare una trasmissione a tutte le altre app ("richiedendo il microfono"), ma le altre app dovrebbero implementare questa funzione (e pochi o zero sviluppatori lo faranno).

vorrei Consiglieresti a semplicemente informare l'utente che il microfono non è attualmente disponibile, perché non si può fare altro.

+1

Grazie. Alla fine ho semplicemente informato l'utente che non può accedere al microfono come hai detto tu e chiudere qualsiasi altra app che lo sta usando. Ho riavviato l'accesso al microfono quando tornano alla mia app. – codeman

+0

Come faccio a diventare l'altra app qui? Se voglio implementare la funzione quando ricevo una trasmissione per abbandonare le risorse del microfono? –

2

Se si utilizza la funzione "OK Google" con l'opzione per accedervi da qualsiasi pagina, provare a disattivarla (il bit "qualsiasi pagina" dalla schermata dell'app Google MENU> IMPOSTAZIONI> VOCE> "OK RILEVAMENTO DI GOOGLE" > FROM ANY SCREEN = OFF): dirotta il microfono o può farlo.

Problemi correlati