Supposons que nous ayons le scénario suivant: quelque chose est en train de jouer sur un appareil Android (un exemple mp3 par exemple, mais il pourrait être tout ce qui utilise la partie audio d'un appareil Android). A partir d'une application (application android :)), je voudrais intercepter le flux audio pour l'analyser, l'enregistrer, etc. A partir de cette application (disons "l'analyseur") je ne veux pas démarrer un mp3 ou quelque chose , tout ce que je veux, c'est avoir accès au flux audio d'android.Comment puis-je intercepter le flux audio sur un appareil Android?
Tout conseil est apprécié, il pourrait s'agir d'une solution Java ou C++.
Je suis assez sûr que cela est impossible à moins que le dispositif a été enraciné. Les fermetures que vous pouvez obtenir est d'espérer que le microphone est suffisamment sensible pour capter la sortie, et espérer que l'utilisateur n'a pas d'écouteurs branchés! – Dave
La direction "logique" à regarder serait AudioManager.setRouting - http://developer.android.com/reference/android/media/AudioManager.html#setRouting(int, int, int)). Cela fait ressortir deux problèmes: premièrement, il est déconseillé au profit d'appels de fonctions spécifiques, et deuxièmement, il comporte déjà une liste de sorties prédéfinie et limitée. – MSalters
Ceci n'est pas autorisé sur un périphérique sécurisé (par défaut), de par sa conception, bien que vous puissiez obtenir des FFT de faible qualité et peu fréquentes afin de créer un visualiseur graphique. Pour accéder à l'audio réel d'autres applications, vous devez soit installer votre propre fourche d'Android adaptée à vos objectifs, soit "pirater" une installation existante en "l'enracinant" et en modifiant ou en interceptant les composants du système. –