Les appareils Android peuvent fonctionner en mode USB hôte ou en mode périphérique. L'hôte est celui qui contrôle la communication USB. Les PC fonctionnent principalement en mode hôte. Le périphérique est celui qui est alimenté et contrôlé par l'hôte. La clé USB est un exemple commun de périphérique USB. Le noyau Linux/Android prend en charge le mode périphérique grâce à différents pilotes de périphérique. UMS, MTP, ADB sont différents modes de périphérique sur les appareils Android.
Audio via USB en mode périphérique
Sur les appareils Android, il est techniquement possible de diffuser de l'audio via USB à la fois en mode hôte et en mode périphérique. Depuis Android 4.1, ce dernier mode est “fourni par Accessoire Android ouvert (AOA) 2.0 et offre une capacité audio limitée”. Il utilise le pilote de périphérique audio USB dans le noyau (compilé avec l'option CONFIG_USB_AUDIO
) et les accessoires prenant en charge le protocole AOAv2 sont construits en utilisant le kit de développement d'accessoires (ADK). La page Accessoires personnalisés indique :
Le protocole AOA spécifie comment un accessoire peut établir une communication avec un appareil Android via USB. En raison de la faible puissance de sortie des appareils Android, AOA exige que l'accessoire agisse en tant qu'hôte USB, ce qui signifie que l'accessoire connecté doit alimenter le bus.
Mais selon la documentation officielle :
L'audio en mode accessoire n'a pas été largement adopté et n'est actuellement pas recommandé pour de nouveaux designs.
Et la documentation sur le protocole AOA met en garde :
Attention : le support audio AOAv2 a été abandonné dans Android 8.0.
Cela signifie que les appareils Android 9+ ne pourront pas fonctionner en mode périphérique tout en diffusant de l'audio via USB. Ainsi, l'option de configuration USB Source audio n'est plus disponible.
Audio via USB en mode hôte
Cependant, les appareils Android prennent en charge les périphériques audio en mode hôte (le noyau doit être compilé avec CONFIG_SND_USB_AUDIO
). Comme AOA est spécifique à Android, de tels accessoires ne sont pas utilisables avec d'autres hôtes tels que les PC. Ainsi, il y avait une demande des fabricants de périphériques audio, des OEM de périphériques et de la communauté des développeurs de ROM pour prendre en charge la capacité de sortie audio USB standard en mode hôte (par exemple, voir cela, cela et ceci). Le support d'un sous-ensemble des fonctionnalités de la classe audio USB 1 (UAC1) a été ajouté dans Android 5.0.
Les classes de périphériques USB spécifient les protocoles standard pour les fonctions périphériques USB afin que l'hôte puisse interagir avec eux sans avoir besoin de pilotes spécifiques au matériel (c'est-à-dire en mode sans pilote). Le stockage de masse USB (UMS) en est un exemple courant. Toutes les clés USB compatibles avec la classe de stockage de masse (MSC) fonctionnent sur tous les systèmes d'exploitation, y compris Linux, Android et Windows, quel que soit le fabricant de l'appareil. De la même manière, les périphériques audio USB qui sont conformes à la classe audio USB 1 fonctionnent avec les appareils Android comme sur tout autre hôte USB, par exemple les PC.
Ainsi, l'audio USB en mode hôte couvre un large éventail de périphériques basés sur l'USB, y compris les casques qui suivent la spécification des casques USB.
Lorsqu'un périphérique compatible UAC1 (comme un DAC) est connecté au port USB d'un appareil Android, l'audio numérique est automatiquement routé vers ce périphérique. Cependant, si une application souhaite utiliser des API USB hôte avancées pour interagir avec le périphérique (et non simplement le routage audio), il est possible de Désactiver le routage audio USB dans les Options pour les développeurs.
1 votes
Vous réalisez que le Samsung SM-A510F est de 2016 et possède une prise casque, il est donc peu probable d'avoir les pilotes pour l'audio USB. Sinon, vous devriez montrer ce que vous voyez sur votre appareil.
0 votes
Un choix est le MIDI. Prenant en moi-même, "Eh bien, c'est de l'audio...", j'ai essayé. Mon DAC USB (reference-audio-analyzer.pro/en/…) fonctionne de nouveau ! :D Très content ! Votre expérience peut varier, mais ça vaut le coup d'essayer ! :)))