11
votes

Audiosource.voice_call Ne travaillez pas dans Android 4.0 mais travaillant à Android 2.3

VOICE_CALL, VOICE_DOWNLINK ,VOICE_UPLINK  
not working on android 4.0 but working on android 2.3 (Actual Device),I have uploaded a dummy project to record all outgoing call so that you can see it for your selfhttp://www.mediafire.com/?img6dg5y9ri5c7rrtcajwc5ycgpo2nfyou just have to change audioSource = MediaRecorder.AudioSource.MIC; to audioSource = MediaRecorder.AudioSource.VOICE_CALL; on line 118 in TService.javaIf you come across any error, tell me. Any suggestion related to it will be accepted. 

2 commentaires

Le fichier mediafire n'est plus disponible


Fichier multimédias invalide ou supprimé.


4 Réponses :


16
votes

Après beaucoup de recherche, j'ai constaté que certains manufactures ont fermé l'accès à une telle fonction, car l'enregistrement des appels n'est pas autorisé dans certains pays. Si quelqu'un trouve une telle question et obtenez la solution d'une autre façon, postez-la ici, il peut être utile que beaucoup de gens ont le même problème.


16 commentaires

Merci beaucoup. Votre solution fonctionne parfaite. Je gère le projet à Samsung Galaxy S2. Je suis capable d'enregistrer à la fois l'appelant et la voix de la partie. Cependant, la voix de l'autre partie est très faible, une raison particulière de ce problème?


L'enregistrement est effectué à l'aide de MIC afin que la voix des adversaires soit faible, il vous suffit de changer d'audiodiosource = mediarecorder.ausiosource.mic; à audiosource = mediarecorder.ausiosource.voice_call; sur la ligne 118 à Tservis.java


L'appel vocal ne fonctionne pas dans certains périphériques, il est donc possible de lancer et d'exception en cas d'échec d'arrêt () ou de démarrage échoué -21


Oui, vous avez raison, quand j'ai changé audiodiosource = mediarecorder.ausiosource.voice_call, je reçois une exception dès que je fais un téléphone téléphonique. Comment résoudre ce problème?


Mon frère a été un mois je cherche la solution alors j'ai posté cette question sur la pile mais personne n'a répondu


N'oubliez pas qu'il ne donnera une exception que sur ce périphérique dans lequel l'appel vocal n'est pas pris en charge, n'atteignez donc pas l'exception et démarrez l'enregistrement de MIC encore de nouveau qui vous restera plus sûr du côté non pris en charge.


Mais comment enregistrer l'appel sortant? Comment détecter l'appel sortant a été reçu et commencera à enregistrer?


Quand j'ai utilisé mediarecorder.audiosource.voice_call, il me donne une exception Null Pointer et montante de liaison montante et liaison descendante La voix n'est pas audible après l'enregistrement, mais dans la cae de micro fonctionne bien comme vous l'avez dit. Donc, il y a une solution pour cette liaison montante et liaison descendante?


Sauf si vous avez raconté votre téléphone vocal_call, montante et liaison descendante ne sera pas disponible en cas de périphérique, conformément aux manufactures de réponse ci-dessus, les fabricants ont fermé l'accès à une telle fonction, MIC est la seule source qui sera disponible pour l'enregistrement.


Dans Play Store, de nombreuses applications qui permettent d'enregistrer des appels. Comment ces applications fonctionne bien?


HI @ ADITYAVYAS-LAKHAN, j'ai également téléchargé mon application sur Play Store et qui fonctionne également et a des milliers de téléchargements actifs


Dans tout appareil, cela fonctionne bien? Pouvez-vous donner ce lien d'application?


Je l'ai fait 4 ans de retour et je ne le maintient pas jouer.google.com/store/apps/...


J'utilise Samsung Galaxy S8 + et il n'est pas capable d'enregistrer la voix à l'aide de votion_call , votion_uplink , codé_downlink sauf voix_mic et votion_recognition . Mais si je télécharge des applications de la play Store, ils sont capables de travailler dans mon téléphone. Donc, je ne pense pas que le fabricant est quelqu'un qui entre en jeu ici.


@COPSONRoad Test le même code avec d'autres périphériques pour vous assurer de fonctionner correctement, si d'autres applications fonctionnent, votre code devrait également fonctionner.


@ Auto-droid ツ J'ai essayé d'utiliser NDK et il fonctionne maintenant bien dans mon S8 + mais le problème est de qualité vocale. C'est très irrégulier et non uniforme. Si vous pouvez m'aider, nous pouvons avoir une affaire.



1
votes

Essayez d'utiliser mediarecorder.ausiosource.voice_recognition . J'ai eu le même problème - ASUS Transformer utilise un microphone près de la caméra arrière par défaut et l'audio est très silencieux dans ce cas. votion_call ne fonctionne pas sur cette tablette et j'ai essayé votion_recognition - dans ce cas, il utilise le microphone avant et le volume audio est OK.


0 commentaires

-2
votes

Vous essayez d'ajouter ceci, il peut être

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        // TODO Auto-generated method stub
        mMediaRecorder.start();
    }
}, 1000);


0 commentaires

1
votes

OK, dans mon cas Ce code (merci Eyal !) Travaillé pour Samsung Galaxy Note 6: XXX


1 commentaires

Auparavant, mon application s'écrase mais utilisait ce code, cela fonctionne mais n'a pas enregistré la voix de la deuxième extrémité.