Audiolatenz für App-Entwickler

Für die niedrigste Audiolatenz empfehlen wir Oboe.

Oboe

Oboe verwendet natives Audio und basiert auf AAudio für Android 8.1 und höher sowie OpenSL ES für ältere Android-Versionen. Um die niedrigste Latenz für ein Gerät zu erreichen, legen Sie setPerformanceMode(oboe::PerformanceMode::LowLatency) und setSharingMode(oboe::SharingMode::Exclusive) fest. Weitere Informationen zu Oboe finden Sie im Einstiegsleitfaden, in README.md und im vollständigen Leitfaden. Eine Beispielanwendung mit Oboe finden Sie in der Soundboard App.

Hinweis:Wenn du AudioTrack zum Erstellen von Ausgabe-Audiostreams in Java für latenzempfindliche Anwendungen verwendest, verwende den Modus PERFORMANCE_MODE_LOW_LATENCY.

Checkliste für die Implementierung

So verwendest du die native Audiofunktion von Android:

  1. Laden Sie das Android NDK herunter und installieren Sie es.
  2. Folgen Sie dem Startleitfaden für Oboe.
  3. Rufen Sie setPerformanceMode(oboe::PerformanceMode::LowLatency) und setSharingMode(oboe::SharingMode::Exclusive) im Oboe-Builder auf.
  4. Verwenden Sie die empfohlene native Puffergröße und die empfohlene Abtastrate, die von android.media.AudioManager.getProperty(java.lang.String) zurückgegeben werden.

    Hinweis:Für die Eingabe sollten dieselbe Puffergröße und dieselbe Abtastrate verwendet werden.

  5. Halten Sie Ihre Callback-Handler kurz, ohne CPU-Auslastungsspitzen oder unbegrenztes Blockieren. Vermeiden Sie Prioritätsinversionen.
  6. Verwenden Sie nicht blockierende Algorithmen, um zwischen Eingabe- und Ausgabe-Callback-Handlern sowie zwischen den Callback-Handlern und dem Rest Ihrer Anwendung zu kommunizieren.

Weitere Informationen

source.android.com

Die Website source.android.com richtet sich in erster Linie an OEMs, die Android-Geräte entwickeln, und an SoC-Anbieter, die diesen OEMs Komponenten liefern.

Auf dieser Website finden Sie jedoch eine Fülle nützlicher Informationen zur Latenz. Weitere Informationen finden Sie unter Audiolatenz.

android-ndk

Wenn Sie Fragen zur Verwendung von nativem Android-Audio haben, können Sie sie in der Diskussionsgruppe android-ndk stellen.

Fehler in Oboe melden

Wenn Sie Probleme mit Oboe haben, können Sie einen Fehler melden.

Videos

Einführung in Oboe
Audio mit niedriger Latenz – weil deine Ohren es wert sind
Android Dev Summit 2018.
Erfolgreich auf Android-Geräten – Audio-Apps für Android optimieren
Android Developer Challenge 2018.
Hochleistungsaudio auf Android-Geräten (Google I/O 2013)
Im gesamten Video geht es um Latenz.
Hervorragende Multimedia-Funktionen auf Android-Geräten entwickeln (Google I/O 2014)
Die ersten 14 Minuten drehen sich um Audio im Allgemeinen und um die Eingabelatenz im Besonderen.
Audiolatenz: Puffergrößen (100 Tage Google Dev)
Beschreibt den Zusammenhang zwischen Audiolatenz, Puffergrößen und Aufgabenplanung.