web-dev-qa-db-fra.com

Est-il possible de jouer de la musique pendant les appels afin que le partenaire puisse l'entendre? Android

J'essaie de faire et app comme Call Cheater (développé à l'origine pour Symbian OS)

Est-il possible de jouer de la musique pendant une conversation téléphonique lorsque le récepteur et l'appelant doivent entendre le même son ou la même musique?

Si oui, comment puis-je implémenter cela?

10
Sai Kiran

Vous avez échoué à trouver une application qui fait cela parce que ce n'est pas possible.

La documentation indique clairement ( ici ):

Note: Vous pouvez lire les données audio uniquement sur la sortie standard dispositif. Actuellement, il s’agit du haut-parleur du périphérique mobile ou d’un Bluetooth casque. Vous ne pouvez pas lire de fichiers son dans le son de la conversation pendant un appel.

La raison derrière cette décision a probablement quelque chose à voir avec la sécurité: il existe plusieurs scénarios dans lesquels cette capacité pourrait être utilisée par contre. 

(le PO est très similaire à this , je donne donc fondamentalement la même réponse)

10
Sebastiano

Je pense que c'est possible dans un cas

1. Certains lecteurs de musique natifs dans un appareil Android où ils gèrent cela limitent la musique lorsque l'appel est dans TelephonyManager.EXTRA_STATE_OFFHOOK (OFFHOOK STATE). Il n'y a donc aucun moyen de lire la musique de fond avec des lecteurs natifs et d'autres lecteurs tels que "poweramp musique palyer "

2.En utilisant également la classe MediaPlayer, cela n’est pas possible (clairement mentionné dans la documentation)

3.Il n'est possible que dans un cas si votre lecteur de musique personnalisé en développement (sans utiliser la classe MediaPlayer) implémente

AudioManager.OnAudioFocusChangeListener en l'utilisant, vous pouvez obtenir l'état De l'audiomanager dans le code ci-dessous "focusChange = AUDIOFOCUS_LOSS_TRANSIENT" (cet état appelle lorsque la musique est en arrière-plan, tout appel entrant est arrivé), cet état est complètement dans la main des développeurs. jouer ou mettre en pause la musique. En fonction de vos besoins, vous avez demandé si vous souhaitez jouer de la musique lorsque l’appel est en OFFHOOK STATE. Ne suspendez pas la lecture de la musique en OFFHOOK STATE. Et ceci n’est possible que lorsque le casque est désactivé.

AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);

    OnAudioFocusChangeListener afChangeListener = new OnAudioFocusChangeListener() {
        public void onAudioFocusChange(int focusChange) {
            if (focusChange == AUDIOFOCUS_LOSS_TRANSIENT
                // Pause playback (during incoming call) 
            } else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
                // Resume playback (incoming call ends)
            } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
                am.unregisterMediaButtonEventReceiver(RemoteControlReceiver);
                am.abandonAudioFocus(afChangeListener);
                // Stop playback (when any other app playing music  in that situation current app stop the audio)
            }
        }
    };
2
KomalG

Deux réponses, toutes deux valides, selon votre manque d'esprit:

1) Non, il n'est actuellement pas possible d'injecter du son dans une conversation téléphonique.

2) Oui, c'est possible. C'est aussi un vilain moche moche. Activez la fonction mains libres de votre téléphone. Créez un lecteur multimédia, définissez la source multimédia, définissez le volume sur 1.0f (maximum) et appelez player.start(). Si le microphone et les haut-parleurs du téléphone sont d'une qualité raisonnable, votre correspondant entendra la musique. Il ou elle continuera également à entendre tout ce que vous dites, ainsi que les sons ambiants et autres dans votre voisinage immédiat.

2
MarsAtomic

Non ce n'est pas possible. Mais si vous voulez creuser davantage, vous pouvez visiter Utiliser le téléphone Android comme passerelle GSM pour VoIP où l'auteur a conclu que 

Il n'est pas possible d'utiliser Android comme passerelle GSM dans sa forme actuelle. Même après le clignotement personnalisé ROM car ils dépendent également des firmwares propriétaires RIL (Radio Interface Layer). Les obstacles 1 et 2 (limitation d'API) peuvent être supprimés car le code source est disponible pour que la communauté open source le rende possible. Cependant, l’obstacle 3 (RIL propriétaire) dépend des fournisseurs de matériel. Les fournisseurs de matériel ne communiquent généralement pas leur code de pilote de périphérique. 

1
Nasir Iqbal

Oui, c’est possible avec Sony Ericsson Xylophone W20. J’ai ce téléphone en 2010.Mais j’ai vu ce type de téléphone.

0
Amresh kumar

Je pense que ce n'est pas possible. Bien que j'ai trouvé une application sur Google Play appelée PHONE MUSIC qui prétend: "Ainsi, dès que quelqu'un vous met en attente, appuyez simplement sur la note musicale en survol et commencez à jouer de la musique.

0
DEADPOOL
Note: You can play back the audio data only to the standard output device.
Currently, that is the mobile device speaker or a Bluetooth headset. You 
cannot play sound files in the conversation audio during a call.

See official link 

http://developer.Android.com/guide/topics/media/mediaplayer.html

0
Akash