3 votes

Enregistrer et lire du son depuis un Android sur un ordinateur - Jack se déconnecte périodiquement / Jack non détecté - Selon la version d'Android

Je voudrais contrôler les E/S audio de mon téléphone Android avec un ordinateur. Actuellement, j'utilise une carte son audio USB avec un micro d'entrée et des ports de sortie de ligne connectés à mon ordinateur. Un téléphone est connecté à un adaptateur jack 4 broches vers 2 jacks 3 broches (référence). L'entrée micro des adaptateurs est connectée à la sortie ligne de la carte son et la sortie ligne des adaptateurs est connectée à l'entrée micro de la carte son. De cette manière, je peux théoriquement enregistrer la sortie du téléphone avec l'ordinateur et jouer un son sur l'entrée du téléphone depuis l'ordinateur.

J'ai avec moi 3 appareils téléphoniques, un Android 10 (Redmi Note Pro 8), un autre Android 9 (Samsung Galaxy A40), le dernier étant un Android 4.0.3 (LG p700)

Tout fonctionne bien sur le 4.0.3. Le téléphone peut détecter le câble et je peux enregistrer la sortie du téléphone et jouer sur l'entrée du téléphone.

Mais sur les deux autres appareils, cela ne fonctionne pas.

Sous Android 9 : le téléphone ne peut pas détecter le câble jack de l'adaptateur, mais lorsque je branche des écouteurs avec micro (jack 4 broches), ça fonctionne. Je pense que ce n'est pas un problème matériel.

Sous Android 10 : le téléphone peut détecter le câble mais change d'état toutes les secondes (détecté/non détecté). Cela signifie qu'il bascule entre la sortie écouteur et la sortie haut-parleur, ce qui est impossible à enregistrer ou à lire. Comme pour Android 9, je peux brancher des écouteurs, et ça fonctionne.

Je pense personnellement que cela pourrait être lié à l'impédance du téléphone qui est vérifiée par les versions récentes d'Android.

Que devrais-je faire pour enregistrer et lire les E/S audio d'un téléphone depuis un ordinateur?

Il m'est possible de développer une application sur Android et de créer un programme sur l'ordinateur pour initialiser la connexion. L'enregistrement stéréo n'est pas l'objectif ici, le mono suffira.

(Je ne peux pas utiliser dans mon cas d'autres protocoles comme l'USB ou le Bluetooth pour enregistrer et lire sur les téléphones)

EDIT 1 : Concernant les normes OMTP/CTIA

Pour connaître la norme utilisée par chaque appareil, j'ai réalisé cette expérimentation. Avec ma configuration précédente, j'ai pu constater qu'il s'agit d'une norme CTIA (trouvée avec un ohm-mètre, le micro et la ligne de sortie sont séparés). Je sais alors que mon Android 4.0.3 fonctionne avec une norme CTIA.

J'ai avec moi des câbles, une carte son (référence), et des adaptateurs jack 4 broches vers câbles (référence) (les adaptateurs respectent la norme OMTP mais nous nous en fichons car nous en utilisons 2).

Tout d'abord, j'ai créé une configuration DIY normale Configuration DIY normale

Cette configuration fonctionne bien pour Android 4.0.3. Alors je suppose que ma carte son est une norme CTIA. Mais incroyablement, elle fonctionne bien avec Android 9, et ne fonctionne pas avec Android 10.

Maintenant, je sais que ma carte son, Android 4 et Android 9 sont tous de la norme CTIA

Ensuite, j'ai décidé de créer une configuration de câble croisé. De cette manière, je forcerai une norme OMTP avec une carte son CTIA.

Schéma de configuration croisée

Comme prévu, cette configuration ne fonctionne pas sur Android 4 et Android 9. Mais sur Android 10, un casque sans micro est détecté. Mais je suis incapable d'écouter/jouer un son sur l'appareil. Lorsque je change de côté de câble sur Android 10, le casque se connecte/déconnecte périodiquement comme avec la première configuration (avant l'édition).

En conclusion, je pense que mon problème n'est pas lié à l'OMTP/CTIA mais au protocole utilisé par les appareils pour détecter les casques branchés. Avec Android 4, le port jack contient un petit interrupteur pour savoir quand un câble est branché. Sur les autres appareils, cet interrupteur est présent mais n'a pas d'impact direct sur la détection d'un casque. Je pense que les interrupteurs sont utilisés pour lancer un programme qui pourrait détecter le type de périphérique audio branché (casque avec micro, casque sans micro...)

0 votes

Mesurer la résistance électrique est le plus souvent réduite lors de la division

0 votes

Sujet qui pourrait être lié : reddit.com/r/Xiaomi/comments/e9lal1/…

0voto

Dams Points 31

D'accord, après de nombreuses tentatives, j'ai trouvé où se situe le problème.

TRRS respecte une norme d'impédance électrique.

Deux configurations différentes pour les casques

Cette norme n'est pas respectée par les cartes son, les impédances étaient très différentes.

J'ai essayé de simuler un casque en utilisant uniquement des résistances.

Simulation de casque

Ce jack est détecté comme un casque sur tous mes appareils (Android 4.0.3, Android 9 et Android 10).

J'ai découvert que les impédances sont utilisées ici pour déterminer le type de casque (TRRS ou TRS), lorsque le type est inconnu, chaque téléphone agit différemment. Dans les versions plus anciennes, le port audio est activé. Dans les versions plus récentes, il est désactivé.

Autre information : en fonction de la connexion usb du téléphone et de la carte son, du bruit peut apparaître dans le signal. Ce bruit peut être assez élevé pour empêcher son utilisation.

Pour conclure :

Dans mon cas, je suis incapable de créer un composant électronique qui pourrait extraire le signal et l'envoyer à un jack. J'ai créé une solution qui pourrait enregistrer le signal depuis le Bluetooth.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X