Ab dem 27. März 2025 empfehlen wir, android-latest-release anstelle von aosp-main zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Die Android 10-Version enthält die folgenden Anforderungen für die Erfassung mit VOICE_COMMUNICATION.
Bei der Aufnahme mit VOICE_COMMUNICATION sollte eine akustische Echounterdrückung (AEC) auf dem Aufnahmepfad vorhanden sein.
Wenn Sie eine AEC bereitstellen, muss sie über die AcousticEchoCanceler der SDK API auffindbar und steuerbar sein.
Die Android-Plattform bietet Audioeffekte auf unterstützten Geräten im Paket audiofx, auf das Entwickler zugreifen können.
Nexus 10 unterstützt beispielsweise die folgenden Vorverarbeitungseffekte:
Vorverarbeitungseffekte werden mit dem Anwendungsfallmodus verknüpft, in dem die Vorverarbeitung angefordert wird. Bei der Entwicklung von Android-Apps wird ein Anwendungsfall als AudioSource-Instanz bezeichnet. App-Entwickler fordern die Verwendung der AudioSource-Abstraktion anstelle des tatsächlichen Audio-Hardwaregeräts an. Der Android Audio Policy Manager ordnet eine AudioSource-Instanz gemäß produktspezifischen Regeln einer bestimmten Aufnahmepfadkonfiguration (einschließlich Gerät, Verstärkung und Vorverarbeitung) zu. Entwicklern stehen die folgenden Quellen zur Verfügung:
Die Standardvorverarbeitungseffekte, die auf jede AudioSource-Instanz angewendet werden, sind in der /vendor/etc/audio_effects.xml-Datei angegeben. Wenn du eigene Standardeffekte für jede AudioSource-Instanz festlegen möchtest, erstelle eine /vendor/etc/audio_effects.xml-Datei und gib die zu aktivierenden Effekte für die Vorverarbeitung an. Ein Beispiel ist die Implementierung für Nexus 10 in device/samsung/manta/audio_effects.xml.
AudioEffect-Instanzen binden und trennen eine Sitzung beim Erstellen und Löschen, sodass die Effekte (z. B. der Lautstärkeverstärker) während der gesamten Sitzung erhalten bleiben.
Im folgenden Beispiel wird die Vorverarbeitung für die VoIP-AudioSource- und Camcorder-AudioSource-Instanzen aktiviert. Wenn die AudioSource-Konfiguration so deklariert wird, fordert das Framework automatisch die Verwendung dieser Effekte von der HAL an.
Die AudioSource-Optimierung hat keine expliziten Anforderungen an die Audioverstärkung oder Audioverarbeitung, mit Ausnahme der Spracherkennung (VOICE_RECOGNITION). Zu den Anforderungen für die Spracherkennung gehören:
Linearer Frequenzgang (+/- 3 dB) von 100 Hz bis 4 kHz
Nahsprechkonfiguration: 90 dB SPL, RMS von 2.500 (16‑Bit-Samples)
Pegelverlauf linear von −18 dB bis +12 dB relativ zu 90 dB SPL
THD < 1% (90 dB SPL im Bereich von 100 bis 4.000 Hz)
Anforderungen an die Nahfeld-Ultraschalltechnologie (zum Testen siehe Nahfeld-Ultraschalltests):
Unterstützung für SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND wie in Abschnitt 7.8.3 der Vertriebsvereinbarung für Entwickler definiert.
Unterstützung für eine oder beide Abtastraten von 44.100 oder 48.000 Hz ohne Bandpass- oder Anti-Aliasing-Filter.
Effekte/Vorverarbeitung standardmäßig deaktiviert
Beispiele für die Anpassung verschiedener Effekte für verschiedene Quellen:
Geräuschunterdrückung
Windgeräuschunterdrückung für CAMCORDER optimiert
Für VOICE_COMMUNICATION optimierter Geräuschunterdrücker für stationäre Geräte
Automatische Verstärkungsregelung
Für die Nahfeldkommunikation für VOICE_COMMUNICATION und die Hauptmikrofone des Smartphones optimiert
Für CAMCORDER auf die Funktion „Gespräch über große Entfernungen“ eingestellt
Ressourcen
Weitere Informationen finden Sie in den folgenden Ressourcen:
/device/google/crosshatch/audio_effects.xml-Datei für Google Pixel 3
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-06-12 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-06-12 (UTC)."],[],[],null,["# Configure preprocessing effects\n\nThe Android 10 release includes the following\nrequirements for capture with `VOICE_COMMUNICATION`.\n\n- Implementations should provide an acoustic echo canceler (AEC) on the capture path when capturing with `VOICE_COMMUNICATION`.\n- If providing an AEC, it must be discoverable and controllable through the SDK API's `AcousticEchoCanceler`.\n\nThe Android platform provides audio effects on supported devices in the\n[`audiofx`](http://developer.android.com/reference/android/media/audiofx/package-summary.html) package, which is available for developers to access.\nFor example, the Nexus 10 supports the following preprocessing effects:\n\n- [Acoustic\n Echo Cancellation](http://developer.android.com/reference/android/media/audiofx/AcousticEchoCanceler.html)\n- [Automatic Gain Control](http://developer.android.com/reference/android/media/audiofx/AutomaticGainControl.html)\n- [Noise\n Suppression](http://developer.android.com/reference/android/media/audiofx/NoiseSuppressor.html)\n\nPair with AudioSource instances\n-------------------------------\n\nPreprocessing effects are paired with the use case mode in which the\npreprocessing is requested. In Android app development, a use case is referred\nto as an `AudioSource` instance; and app developers request to use the\n`AudioSource` abstraction instead of the actual audio hardware\ndevice. The Android Audio Policy Manager maps an `AudioSource` instance to a\ngiven capture path configuration (including device, gain, and pre processing) according\nto product-specific rules. The following sources are exposed to developers:\n\n- `android.media.MediaRecorder.AudioSource.CAMCORDER`\n- `android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION`\n- `android.media.MediaRecorder.AudioSource.VOICE_CALL`\n- `android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK`\n- `android.media.MediaRecorder.AudioSource.VOICE_UPLINK`\n- `android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION`\n- `android.media.MediaRecorder.AudioSource.MIC`\n- `android.media.MediaRecorder.AudioSource.DEFAULT`\n\nThe default preprocessing effects applied for each `AudioSource` instance\nare specified in the `/vendor/etc/audio_effects.xml` file. To\nspecify your own default effects for every `AudioSource` instance, create a\n`/vendor/etc/audio_effects.xml` file and specify the\npreprocessing effects to turn on. For an example, see the implementation for\nthe Nexus 10 in `device/samsung/manta/audio_effects.xml`.\n`AudioEffect` instances acquire and release a session when created and destroyed,\nenabling the effects (such as the Loudness Enhancer) to persist throughout the\nsession.\n| **Warning:** For the `VOICE_RECOGNITION` use case, don't enable the noise suppression preprocessing effect. It shouldn't be turned on by default when recording from this audio source, and you shouldn't enable it in your own `audio_effects.xml` file. Turning on the effect by default causes the device to fail the [compatibility requirement](/docs/compatibility) regardless of whether this was on by default due to the configuration file, or the audio HAL implementation's default behavior.\n\nThe following example enables preprocessing for the VoIP\n`AudioSource` and Camcorder `AudioSource` instances. By declaring\nthe `AudioSource` configuration in this manner, the framework\nautomatically requests the use of those effects from the HAL. \n\n```carbon\n\u003cpreprocess\u003e\n \u003cstream type=\"voice_communication\"\u003e\n \u003capply effect=\"aec\"/\u003e\n \u003capply effect=\"ns\"/\u003e\n \u003c/stream\u003e\n \u003cstream type=\"camcorder\"\u003e\n \u003capply effect=\"agc\"/\u003e\n \u003c/stream\u003e\n \u003c/preprocess\u003e\n```\n\nSource tuning\n-------------\n\n`AudioSource` tuning doesn't have explicit requirements on audio\ngain or audio processing with the exception of voice recognition\n(`VOICE_RECOGNITION`). Requirements for voice recognition include:\n\n- Flat frequency response (+/- 3 dB) from 100 Hz to 4 kHz\n- Close-talk config: 90 dB SPL reads RMS of 2500 (16 bit samples)\n- Level tracks linearly from -18 dB to +12 dB relative to 90 dB SPL\n- THD \\\u003c 1% (90 dB SPL in 100 to 4000 Hz range)\n- Near-ultrasound requirements (for testing, see [Near Ultrasound\n Tests](/docs/compatibility/cts/near-ultrasound)):\n - Support for `SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND` as defined in section 7.8.3 of the CDD.\n - Support for one or both of 44100 or 48000 sampling rates with no band-pass or antialiasing filters.\n- Effects/preprocessing disabled by default\n\nExamples of tuning different effects for different sources are:\n\n- Noise Suppressor\n - Tuned for wind noise suppressor for `CAMCORDER`\n - Tuned for stationary noise suppressor for `VOICE_COMMUNICATION`\n- Automatic Gain Control\n - Tuned for close-talk for `VOICE_COMMUNICATION` and main phone mic\n - Tuned for far-talk for `CAMCORDER`\n\nResources\n---------\n\nFor more information, refer to the following resources:\n\n- Android documentation for [audiofx\n package](http://developer.android.com/reference/android/media/audiofx/package-summary.html)\n- Android documentation for [Noise\n Suppression audio effect](http://developer.android.com/reference/android/media/audiofx/NoiseSuppressor.html)\n- `/device/google/crosshatch/audio_effects.xml` file for the Pixel 3"]]