2013-10-08 118 views
10

Come forzare il sistema Android a selezionare il jack da 3,5 mm come sorgente del microfono? Sto usando la classe AudioRecord per fare la registrazione.Android: forzatura del microfono esterno (ingresso jack 3,5 mm) per rimanere

Sto usando un microfono esterno. Quando viene rilevato tutto funziona bene, ma a volte il microfono esterno non viene rilevato automaticamente. Uno splitter TRRS (economico $ 3 cosa) viene utilizzato per dividere il jack da 3,5 mm in prese separate per microfono e cuffie (ho bisogno di registrazione e riproduzione simultanee).

AudioManager.setWiredHeadsetOn() è deprecato e le istruzioni dicono di non usarlo.

1) È necessario un ulteriore hardware esterno per fornire l'impedenza del microfono corretta?

2) Posso forzare l'immissione in codice?

3) Può un controllo audio ROM di archiviazione personalizzato a questo livello - forse questa è l'opzione migliore?

Grazie

+0

Potrebbe essere il problema hardware. Si prega di provare se funziona bene e stabile con l'auricolare del telefono di scorta. Le spine TTRS si differenziano in molti casi (diversa lunghezza degli anelli) e questo porta a problemi di connessione. – Kristopher

+0

Le cuffie auricolari funzionano bene ... (il jack TRRS sembra esattamente come il jack delle cuffie). Il problema è probabilmente legato all'hardware. Devo usare un microfono esterno specifico e quindi forzare il jack indipendentemente dall'impostazione dell'hardware esterno. – user2819360

+0

A seconda della gravità del problema hardware, potrebbe essere possibile contrastare modificando il driver di rilevamento dell'auricolare. Temo di non poter fornire alcuna informazione su come faresti a farlo, dal momento che non è qualcosa che abbia mai provato da solo. – Michael

risposta

4

È molto probabile un problema hardware. I telefoni Samsung sembrano richiedere un microfono con impedenza di circa 1.0k - 1.5k Ohm. Prova a modificare la linea del microfono di ingresso aggiungendo un resistore di serie per aumentare l'impedenza. Controlla questo collegamento per i dettagli su come fare questo: xdadevelopers - External mic on Galaxy devices

+0

Buon collegamento. Ci proverò e ti farò sapere domani. Grazie. – user2819360

+2

Questo funziona. Anche se non è proprio la risposta alla domanda -forcing phone per selezionare jack - che probabilmente richiederebbe mod driver come indicato da Michael sopra. Il dispositivo rileva automaticamente un microfono con impedenza corretta. Ho saldato una resistenza da 1k5 Ohm nella linea mic e funziona benissimo. – user2819360

+0

uso un [lavalier esterno] [1] con impedenza di 1000 ohm usando l'adattatore TRRS (attenzione agli standard CTIA e OMTP). Non ho avuto problemi con samsung s2 (kitkat) e samsung duos (marshmallow, credo). Non sono riuscito a farlo funzionare su telefoni Windows e non ho testato su iPhone. [1]: http://www.audio-technica.com/cms/wired_mics/742fb06dd066b3ec/ –