Microphone Permission: Wesen, Zugriffstypen und Funktionsprinzip

Autor: IT Sectr Veröffentlicht: 2026-05-21 Lesezeit: 8 Min.

Microphone Permission ist eine Systemberechtigung, die eine Anwendung benötigt, um auf das Mikrofon des Geräts zuzugreifen. Sie ist erforderlich für Audioaufnahmen, Sprachnachrichten, Videoanrufe und Spracherkennung. Laut Apple Developer Documentation, 2024, sind alle Anwendungen, die Audioaufnahmen verwenden, verpflichtet, die ausdrückliche Zustimmung des Benutzers über einen Systemdialog einzuholen.

Wichtige Punkte

  • Microphone Permission ist eine obligatorische Berechtigung für jede Anwendung, die Audio auf einem mobilen Gerät aufnimmt.
  • Android verwendet Manifest.permission.RECORD_AUDIO mit einer Laufzeitanfrage ab API 23.
  • iOS erfordert den NSMicrophoneUsageDescription-Schlüssel in Info.plist und den Aufruf von AVAudioSession.requestRecordPermission.
  • Anfrage im Moment der Mikrofonaktivierung (Button „Sprachnachricht aufnehmen“) erhöht die Chancen auf Zustimmung.
  • Arbeit im Hintergrund mit dem Mikrofon erfordert zusätzliche Berechtigungen und eine strenge Begründung.

Was ist Microphone Permission

Microphone Permission ist ein Datenschutzmechanismus, der unbefugte Audioaufnahmen vom Mikrofon des Geräts verhindert. Mobile Plattformen betrachten das Mikrofon als eine der sensibelsten Ressourcen, da Audioaufnahmen persönliche Gespräche, die Umgebung und vertrauliche Informationen erfassen können.

Android stuft RECORD_AUDIO als gefährliche Berechtigung ein, und iOS erfordert die obligatorische Hinzufügung des NSMicrophoneUsageDescription-Schlüssels in Info.plist. Auf beiden Plattformen erfolgt die Anfrage zur Laufzeit, und der Benutzer kann die Berechtigung jederzeit über die Systemeinstellungen widerrufen. Der Systemaufnahmeindikator (orangefarbener Punkt auf iOS, grüner Indikator auf Android 12+) signalisiert dem Benutzer, dass die Anwendung gerade das Mikrofon verwendet.

Laut einer Studie des Pew Research Center (2024) haben 54% der mobilen Gerätenutzer mindestens einmal einer Anwendung den Mikrofonzugriff verweigert. Der Hauptgrund ist das Unverständnis, warum die App Audioaufnahmen benötigt. Daher muss der Entwickler den Zweck der Mikrofonnutzung so transparent wie möglich erklären.

Mikrofonberechtigung auf Android

Die Mikrofonberechtigung auf Android wird durch die Deklaration von RECORD_AUDIO im Manifest und eine Laufzeitanfrage im Anwendungscode angefordert. Ab Android 10 wird der Mikrofonzugriff zusätzlich durch Einschränkungen für Hintergrundanwendungen reguliert.

Deklaration in AndroidManifest.xml

Der erste Schritt ist die Deklaration der RECORD_AUDIO-Berechtigung in der Manifestdatei. Ohne diese Deklaration hat die Laufzeitanfrage keine Wirkung, und die Anwendung kann nicht auf das Mikrofon zugreifen.

xml
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />

CAPTURE_AUDIO_OUTPUT ist eine Systemberechtigung, die Drittanwendungen nicht zur Verfügung steht. Sie wird nur von Systemanwendungen verwendet, um Audioausgaben aufzuzeichnen. Normale Anwendungen benötigen nur RECORD_AUDIO für Mikrofonaufnahmen.

Laufzeitanfrage in Kotlin

Nach der Deklaration im Manifest muss eine Laufzeitanfrage durchgeführt werden. Betrachten Sie ein Beispiel mit AudioRecord zum Aufnehmen von Audio vom Mikrofon.

kotlin
private val recordAudioPermission =
    registerForActivityResult(ActivityResultContracts.RequestPermission()) { granted ->
    if (granted) {
        startRecording()
    } else {
        showMicrophoneExplanation()
    }
}

fun startRecording() {
    val sampleRate = 44100
    val bufferSize = AudioRecord.getMinBufferSize(sampleRate,
        AudioFormat.CHANNEL_IN_MONO,
        AudioFormat.ENCODING_PCM_16BIT)
    val recorder = AudioRecord(MediaRecorder.AudioSource.MIC,
        sampleRate, AudioFormat.CHANNEL_IN_MONO,
        AudioFormat.ENCODING_PCM_16BIT, bufferSize)
    recorder.startRecording()
    // Audiodaten in den Puffer aufnehmen
}

Behandlung des Aufnahmezustands

Es ist wichtig, den Lebenszyklus der Audioaufnahme korrekt zu behandeln. Wenn die Anwendung unter Android 9 und höher in den Hintergrund wechselt, kann die Mikrofonaufnahme vom System pausiert werden. Ab Android 10 ist der Hintergrund-Mikrofonzugriff zusätzlich eingeschränkt: Eine App im Hintergrund kann keine Aufnahme starten, und eine aktive Aufnahme wird pausiert. Für Hintergrundaufnahmen ist MediaProjection oder ein Service mit Benachrichtigung erforderlich.

Mikrofonberechtigung auf iOS

Die Mikrofonberechtigung auf iOS wird über den NSMicrophoneUsageDescription-Schlüssel in Info.plist und den Aufruf der Methode AVAudioSession.requestRecordPermission konfiguriert. Apple verlangt eine obligatorische Erklärung des Grundes für die Mikrofonnutzung im Anfragedialog.

Info.plist-Konfiguration

Der NSMicrophoneUsageDescription-Schlüssel ist für jede Anwendung obligatorisch, die Mikrofonzugriff anfordert. Ohne ihn stürzt die Anwendung beim Versuch, Audio aufzunehmen, ab.

xml
<key>NSMicrophoneUsageDescription</key>
<string>Die App benötigt Mikrofonzugriff, um Sprachnotizen aufzunehmen und Audiosprachnachrichten zu senden.</string>

Anfrage in Swift

Die Anforderung des Mikrofonzugriffs auf iOS erfolgt über AVAudioSession. Nach Erhalt der Antwort konfiguriert die Anwendung die Audiositzung und beginnt mit der Aufnahme.

swift
import AVFAudio

func requestMicrophoneAccess() {
    AVAudioSession.sharedInstance().requestRecordPermission { granted in
        DispatchQueue.main.async {
            if granted {
                self.configureAudioSession()
                self.startAudioRecording()
            } else {
                self.redirectToSettings()
            }
        }
    }
}

private func configureAudioSession() {
    let session = AVAudioSession.sharedInstance()
    do {
        try session.setCategory(.playAndRecord, mode: .default)
        try session.setActive(true)
    } catch {
        print("Audio session error: \(error)")
    }
}

Aufnahmeindikator

Unter iOS 14 und höher zeigt eine Anwendung, die das Mikrofon verwendet, einen orangefarbenen Indikator in der Statusleiste an. Der Benutzer kann sehen, welche Anwendung gerade Audio aufnimmt. Wenn die Anwendung das Mikrofon ohne triftigen Grund im Hintergrund verwendet, kann Apple das Update ablehnen. AVAudioSession ermöglicht die Konfiguration der Kategorie und des Modus der Audiositzung und bestimmt das Verhalten der Anwendung beim Wechsel in den Hintergrund.

Szenarien der Audioaufnahme

Die Nutzungsszenarien des Mikrofons in mobilen Anwendungen sind vielfältig: von der einfachen Sprachnotiz bis zur komplexen Echtzeit-Audioverarbeitung.

Sprachnachrichten und Notizen

Messenger und Notiz-Apps verwenden das Mikrofon zum Aufnehmen von Sprachnachrichten. In diesem Fall wird Microphone Permission beim Drücken der Aufnahmetaste angefordert. Nach Abschluss der Aufnahme ist es wichtig, die Audiositzung zu beenden, damit andere Anwendungen das Mikrofon verwenden können. AVAudioSession auf iOS und AudioManager auf Android verwalten den Audiofokus.

Spracherkennung

Anwendungen mit Spracheingabe (Suche, Diktat, Sprachassistenten) verwenden das Mikrofon in Verbindung mit Spracherkennungs-APIs. Auf Android ist dies SpeechRecognizer aus android.speech, auf iOS — SFSpeechRecognizer aus dem Speech-Framework. Die Spracherkennung kann eine zusätzliche Berechtigung für Erkennungsdienste erfordern (SPEECH auf Android, SFSpeechRecognizer.requestAuthorization auf iOS).

Videoanrufe und Streaming

Videoanrufanwendungen (WebRTC, Zoom, Telegram) fordern Microphone Permission zusammen mit Camera Permission an. In diesem Kontext ist es wichtig, beide Berechtigungen nacheinander und nicht gleichzeitig anzufordern, um den Benutzer nicht mit Dialogen zu überlasten. WebRTC verwendet getUserMedia für Audio- und Videoaufnahmen, aber auf mobilen Plattformen sind zuerst Systemberechtigungen erforderlich.

Audiositzungskonfiguration

Für eine qualitativ hochwertige Aufnahme müssen die Parameter der Audiositzung korrekt konfiguriert werden. Auf iOS ermöglicht die Kategorie .playAndRecord die gleichzeitige Wiedergabe und Aufnahme von Ton. Auf Android bietet die Wahl von AudioSource.MIC die Aufnahme vom Hauptmikrofon, während AudioSource.VOICE_COMMUNICATION die Aufnahme für Sprachkommunikation optimiert. Zusätzlich können Sie eine Abtastrate von 44100 Hz und das PCM-16-Bit-Format für CD-Standardqualität einstellen.

Behandlung von Aufnahmeunterbrechungen

Während der Audioaufnahme können Systemunterbrechungen auftreten: eingehender Anruf, Alarmauslösung, Benachrichtigung von einer anderen Anwendung. Auf iOS behandelt AVAudioSessionDelegate beginInterruption und endInterruption. Auf Android benachrichtigt AudioManager.OnAudioFocusChangeListener die Anwendung über den Verlust oder die Rückkehr des Audiofokus. Die korrekte Behandlung von Unterbrechungen ermöglicht es, die Aufnahme bei unerwarteten Ereignissen zu speichern und Datenverlust zu vermeiden. Es wird empfohlen, die Aufnahme bei Fokusverlust zu pausieren und nach der Rückkehr mit einer Benachrichtigung an den Benutzer fortzusetzen.

Optimierung der Audioaufnahme

Die Optimierung der Audioaufnahme umfasst die Konfiguration der Abtastrate, der Puffergröße und des Codierungsformats. Für Sprachnachrichten sind eine Frequenz von 44100 Hz und ein Monokanal ausreichend. Für die Spracherkennung kann eine Frequenz von 16000 Hz erforderlich sein.

Verwenden Sie auf iOS AVAudioSession.setPreferredIOBufferDuration, um die Aufnahmelatenz zu konfigurieren. Ein kleinerer Puffer reduziert die Latenz, erhöht aber die CPU-Last. Auf Android gibt AudioRecord.getMinBufferSize die minimale Puffergröße für die angegebenen Parameter zurück. Es wird empfohlen, einen Puffer zu verwenden, der nicht kleiner als dieses Minimum ist, um Datenverlust bei Aufnahmen unter hoher Systemlast zu vermeiden.

Bewährte Praktiken mit dem Mikrofon

Bewährte Praktiken für Microphone Permission zielen darauf ab, das Benutzervertrauen zu stärken und die Plattformanforderungen zu erfüllen.

Erklären Sie den Zweck vor der Aufnahme

Zeigen Sie vor der Anforderung von Microphone Permission einen Bildschirm, der erklärt, warum die App das Mikrofon benötigt und wie die Aufnahme verwendet wird. Geben Sie an, ob das Audio an den Server gesendet oder lokal verarbeitet wird. Benutzer stimmen deutlich häufiger zu, wenn sie verstehen, dass die Aufnahme das Gerät nicht verlässt. Lokale Verarbeitung (On-Device-ASR) ist ein starkes Argument für Vertrauen.

Stoppen Sie die Aufnahme im Hintergrund

Wenn die Anwendung keine Hintergrundaudioaufnahme benötigt, stoppen Sie das Mikrofon unbedingt beim Wechsel in den Hintergrund. Dies spart nicht nur Akku, sondern verhindert auch negative Reaktionen des Benutzers, der den Aufnahmeindikator sieht. Verwenden Sie auf iOS die UIApplicationDelegate-Methoden applicationDidEnterBackground zum Pausieren der Aufnahme. Auf Android behandeln Sie onPause und onStop in der Activity oder dem Service.

Verwenden Sie Aufnahmeindikatoren

Zeigen Sie während der Audioaufnahme einen eigenen Aufnahmeindikator (animiertes Mikrofonsymbol oder Wellenform) an. Dies informiert den Benutzer darüber, dass das Mikrofon aktiv ist, und reduziert das Risiko negativer Reaktionen. Apple und Google empfehlen, den Systemindikator für maximale Transparenz mit einem eigenen UI-Element zu duplizieren.

Häufig gestellte Fragen

Wird Microphone Permission für die Audiowiedergabe benötigt?

Nein, die Mikrofonberechtigung wird nur für die Audioaufnahme vom Mikrofon benötigt. Die Wiedergabe von Ton über Lautsprecher oder Kopfhörer erfordert keine Microphone Permission. Für die Wiedergabe reicht es aus, die Audiositzung auf iOS oder AudioTrack auf Android zu konfigurieren.

Wie überprüfe ich den Status von Microphone Permission auf Android?

Verwenden Sie ContextCompat.checkSelfPermission(context, Manifest.permission.RECORD_AUDIO). Die Methode gibt PackageManager.PERMISSION_GRANTED oder PERMISSION_DENIED zurück. Überprüfen Sie zusätzlich, ob das Mikrofon auf dem Gerät verfügbar ist, mit PackageManager.hasSystemFeature.

Was tun, wenn der Benutzer Microphone Permission verweigert hat?

Bieten Sie ein alternatives Szenario an: Texteingabe statt Sprache, Senden einer Nachricht ohne Audio, Ansehen eines Videos ohne Ton. Wenn die Spracheingabe kritisch ist, zeigen Sie einen Bildschirm mit Anweisungen zum Aktivieren der Berechtigung in den Systemeinstellungen und einen Button zum Navigieren dorthin.

Wie funktioniert Microphone Permission auf Android 12+?

Ab Android 12 kann eine Anwendung im Hintergrund nicht auf das Mikrofon zugreifen. Die aktive Aufnahme wird beim Wechsel in den Hintergrund pausiert. Darüber hinaus ist der Privacy Chip erschienen — ein grünes Symbol in der Statusleiste, das anzeigt, dass eine Anwendung das Mikrofon verwendet.

Warum hat der App Store eine Anwendung mit Microphone Permission abgelehnt?

Die häufigsten Gründe: Fehlen des NSMicrophoneUsageDescription-Schlüssels, unspezifische Grundbeschreibung (“zur Verbesserung des Dienstes“ statt “zum Aufnehmen von Sprachnachrichten“), Anfordern der Berechtigung ohne explizite Benutzeraktion oder Verwendung des Mikrofons im Hintergrund ohne gerechtfertigte Funktionalität.

Zusammenfassung

  • Microphone Permission ist eine Systemberechtigung für Audioaufnahmen, die auf beiden mobilen Plattformen obligatorisch ist.
  • Android verwendet RECORD_AUDIO mit Laufzeitanfrage und Hintergrundzugriffsbeschränkungen ab Android 10.
  • iOS erfordert NSMicrophoneUsageDescription in Info.plist und den Aufruf von AVAudioSession.requestRecordPermission mit obligatorischer Grundbeschreibung.
  • Systemindikatoren (orangefarbener Punkt auf iOS, Privacy Chip auf Android) informieren den Benutzer über die Mikrofonaktivität.
  • Nutzungsszenarien umfassen Sprachnachrichten, Spracherkennung, Videoanrufe und Audioaufnahmen.
  • Hintergrundaufnahmen sind auf beiden Plattformen streng eingeschränkt und erfordern zusätzliche Berechtigungen und Begründung.
  • Alternative Szenarien bei Verweigerung (Texteingabe, Senden ohne Audio) sind für den korrekten Betrieb der Anwendung obligatorisch.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch