Comment setMicrophoneMute() de travail?

J'ai essayé d'utiliser Android AudioManager.setMicrophoneMute() sans beaucoup de succès. C'est, il refuse tout simplement de mettre le microphone en sourdine, peu importe ce que je fais.

J'ai cherché sur le web pour avoir des indices et j'ai trouvé plusieurs références de déclaration expérience similaire:

Qui pose la question: est-ce AudioManager.setMicrophoneMute() travail? Est-il seulement un talon de méthode, en attente d'être mis en œuvre dans certaines future version d'Android? Si non, comment ça fonctionne? De quoi ai-je besoin pour le faire fonctionner? Quelles sont les conditions de travail comme son nom l'indique?

EDIT: j'ai remarqué que la documentation de cette méthode dit:

Cette méthode ne doit être utilisée par des applications remplacer l'
la plate-forme de gestion de l'ensemble des paramètres audio ou la téléphonie
application.

Qu'est-ce que cela signifie? Pourquoi voudrais-je remplacer la plate-forme de gestion de l'ensemble? Ai-je vraiment besoin de faire cela? Si oui, comment dois-je faire?

EDIT: La réponse ci-dessous est grande, mais je ne comprends toujours pas:

  1. Comment est-ce drapeau (SET_MIC_MUTE dans la base de données) utilisé?
  2. Quand ce drapeau fait déconnecter le signal du microphone de
    le pré-amplificateur circuit à l'intérieur du téléphone?
  3. Si elle ne le fait pas, qui le fait?
  4. Si de rien n', comment est-ce que "mute" prévu pour travailler?

Veuillez expliquer. Merci.

  • Je suis sûr que vous devez avoir - mais avez-vous activé les autorisations testé par checkAudioSettingsPermission?
  • J'ai vérifié la "documentation" pour checkAudioSettingsPermission et à l'exception de retourner un booléen, il n'y a pas la moindre idée de ce qu'il fait et ce qu'il s'attend à recevoir dans le paramètre de la Chaîne. Je ne veux vraiment pas changer la question de setMicrophoneMute() à checkAudioSettingsPermission, mais avez-vous une idée de ce que checkAudioSettingsPermission fait et quel est le sens de cette String paramètre? +1
  • Vous pouvez décrire ce que tu voulais faire au départ. Il semble que vous en avez un peu de cours. Vous ne voulez probablement pas à remplacer la téléphonie apllication et vous non plus (et vous ne pouvez pas, par la manière, sans avoir une plate-forme cert).
  • Je ne veux vraiment pas de remplacer quoi que ce soit. 🙂 Tout ce que je cherche à faire est de désactiver le microphone. Android dispose d'une fonction (en fait, 4 d'entre eux, comme illustré ci-dessous par le seul qui a eu le courage de répondre) que prétend le faire, , mais ça ne fonctionne pas. Que dois-je faire? +1 pour essayer d'aider.
  • vérifier simplement: avez-vous le MODIFY_AUDIO_SETTINGS ou RECORD_AUDIO autorisation dans le manifeste?
  • Bien sûr, j'ai MODIFY_AUDIO_SETTINGS et RECORD_AUDIO autorisations dans le manifeste. Je pensais que c'était implicite en fournissant le 1er lien qui fait référence à ces paramètres.

InformationsquelleAutor ateiob | 2011-07-29