Grabe y reproduzca sonido de Android a una computadora - Jack se desconecta periódicamente / Jack no detectado - Según la versión de Android

Me gustaría controlar el audio IO de mi teléfono Android con una computadora. Actualmente estoy usando una tarjeta de sonido de audio USB con un micrófono de entrada y puertos de salida de línea conectados a mi computadora. Un teléfono está conectado a un adaptador jack de 4 pines a 2 jack de 3 pines ( referencia ). La entrada de micrófono del adaptador está conectada a la salida de línea de la tarjeta de sonido y la salida de línea del adaptador está conectada a la entrada de micrófono de la tarjeta de sonido. De esta manera, teóricamente puedo grabar la salida de los teléfonos con la computadora y reproducir un sonido en la entrada de los teléfonos desde la computadora.

Tengo conmigo 3 dispositivos de teléfonos , uno android 10 (Redmi Note Pro 8) otro es un android 9 (Samsung Galaxy A40), el último es un android 4.0.3 (LG p700)

Todo funciona bien en el 4.0.3. El teléfono puede detectar el cable y puedo grabar la salida del teléfono y reproducir en la entrada del teléfono.

Pero en los otros dos dispositivos, no funciona.

En Android 9: el teléfono no puede detectar el cable del conector del adaptador, pero cuando conecto los auriculares con micrófono (conector de 4 pines), funciona. Creo que no es un problema de hardware.

En Android 10: el teléfono puede detectar el cable pero cambia de estado cada segundo (detectado/no detectado). Eso significa que está cambiando entre la salida de los auriculares y la salida de los altavoces, lo que es imposible de grabar o reproducir. Al igual que Android 9, puedo conectar auriculares y funciona.

Personalmente, creo que esto puede estar relacionado con la impedancia del teléfono que verifica la versión reciente de Android.

¿Qué debo hacer para grabar y reproducir en audio IO de un teléfono desde una computadora?

Me es posible desarrollar una aplicación en Android y crear un programa en la computadora para inicializar la conexión. La grabación estéreo no es el objetivo aquí, mono será suficiente.

(No puedo usar en mi caso otro protocolo como USB o Bluetooth para grabar y reproducir en teléfonos)

EDIT 1 : Con respecto a los estándares OMTP/CTIA

Para conocer el estándar utilizado por cada dispositivo, hice esta experimentación. En mi configuración anterior, puedo encontrar que es un estándar CTIA (se encuentra con un ohmímetro, el micrófono y la línea de salida están separados). Entonces sé que mi Android 4.0.3 funciona con un estándar CTIA.

Tengo conmigo cables, una tarjeta de sonido ( referencia ) y adaptadores jack de 4 pines a cables ( referencia ) (los adaptadores respetan el estándar OMTP pero no nos importa porque estamos usando 2 de ellos)

En primer lugar, creé una configuración de bricolaje normalConfiguración normal de bricolaje

Esta configuración funciona bien para Android 4.0.3. Entonces supongo que mi tarjeta de sonido es un estándar CTIA. Pero increíblemente , funciona bien con Android 9 y no funciona con Android 10.

Ahora, sé que mi tarjeta de sonido, Android 4 y Android 9 son todos estándar CTIA

En segundo lugar, decidí crear una configuración de cable cruzado. Así, forzaré un estándar OMTP con una tarjeta de sonido CTIA.

Esquema de configuración cruzada

Como era de esperar, esta configuración no funciona en Android 4 y Android 9. Pero en Android 10, se detecta un auricular sin micrófono. Pero no puedo escuchar/reproducir un sonido en el dispositivo. Cuando cambio el lado del cable en Android 10, los auriculares se conectan/desconectan periódicamente como en la primera configuración (antes de la edición).

Para concluir, supongo que mi problema no está relacionado con OMTP/CTIA sino con el protocolo utilizado por los dispositivos para encontrar auriculares conectados. Con Android 4, el puerto jack contiene un pequeño interruptor para saber cuándo está enchufado un cable. En los otros dispositivos, este interruptor está presente pero no tiene un impacto directo en la detección de auriculares. Supongo que el interruptor se usa para iniciar un programa que podría detectar el tipo de dispositivo de audio conectado (auriculares con micrófono, auriculares sin micrófono...)

mida la resistencia eléctrica que probablemente disminuya al dividirse
Tema que podría estar relacionado: reddit.com/r/Xiaomi/comments/e9lal1/…

Respuestas (1)

Bien, después de muchos intentos, he encontrado dónde está el problema.

TRRS está respetando un estándar de impedancia eléctrica.

Configuración de dos diferencias para auriculares

Este estándar no es respetado por las tarjetas de sonido, las impedancias eran muy diferentes.

Traté de simular un auricular solo usando resistencias.

Simulación de auriculares

Este conector se detecta como auricular en todos mis dispositivos (Android 4.0.3, Android 9 y Android 10).

Descubrí que las impedancias se usan aquí para encontrar el tipo de auriculares (TRRS o TRS), cuando se desconoce el tipo, cada teléfono actúa de manera diferente. En la versión anterior, el puerto de audio está habilitado. En la versión más reciente, está deshabilitado.

Otro dato: dependiendo de la conexión usb del teléfono y de la tarjeta de sonido, podría aparecer ruido en la señal. Este ruido puede ser lo suficientemente alto como para evitar su uso.

Para concluir :

En mi caso, no puedo crear un componente electrónico que extraiga la señal y la envíe a un conector. Creé una solución que podría grabar la señal de Bluetooth.