2017-08-09 2 views
0

Voici ce que je veux faire dans l'application:Alterner entre casque et Oreillette

Quand je vais avoir un appel téléphonique sur mon appareil Android, je veux utiliser la prise audio pour envoyer à un circuit audio de l'appel faire un peu de traitement dessus. Dans le même temps, je veux que la voix de l'appelant passe par l'écouteur de l'appareil pour que je puisse lui parler.

Je peux basculer entre un casque filaire et le haut-parleur de l'appareil en utilisant audioManager, mais je n'ai pas eu de chance d'allumer l'écouteur jusqu'à présent.

J'ai aussi pensé à enregistrer et lire l'audio en temps réel, mais je n'ai pas pu utiliser le casque d'écoute de l'appareil.

De même, je ne pouvais rien faire pour la lecture audio à travers deux sorties en même temps.

  1. Comment puis-je basculer entre casque et écouteur (le casque de l'appareil) programme?

  2. Comment est-il possible d'envoyer de l'audio à partir d'un périphérique Android via le périphérique 2 en même temps?

Je veux utiliser cette application sur les appareils ayant l'API Android ci-dessus 15.

Répondre

0

Pour autant que je peux dire qu'il est impossible de produire de l'audio de deux ports audio en même temps. L'AudioFlinger (implémentation du serveur audio Android) est conçu pour fonctionner sur un seul thread, et il peut même ne pas être autorisé par la plupart des périphériques HAL. C'est aussi la raison pour laquelle lorsque vous écoutez de l'audio avec votre casque, la musique est interrompue par les notifications des sons diffusés par les haut-parleurs de votre téléphone. Un seul peut produire du son à la fois.

Je vous recommande de simplement envoyer l'appel par le port audio. Vous pouvez configurer ce morceau de matériel que vous avez mentionné à la fois faire son traitement et jouer le son d'un petit haut-parleur.