Dźwięk o wysokiej wydajności

Aplikacje audio o wysokiej wydajności zwykle wymagają większej funkcjonalności niż proste możliwości odtwarzania i nagrywania dźwięku. Wymagają responsywnego działania systemu w czasie rzeczywistym. Oto niektóre typowe przypadki użycia:

  • Cyfrowe stacje robocze audio
  • Syntezatory
  • Automaty perkusyjne
  • Aplikacje do nauki muzyki
  • Karaoke
  • Miksowanie DJ-a
  • Efekty dźwiękowe
  • Rozmowy wideo/audio

W tej sekcji omawiamy ogólne zasady minimalizowania opóźnienia dźwięku. Znajdziesz w nim też wskazówki dotyczące próbkowania audio, które pomogą Ci wybrać optymalną częstotliwość próbkowania, a także poznać wady i zalety używania liczb zmiennoprzecinkowych do przedstawiania danych audio.

W dalszej części sekcji omawiamy 2 biblioteki dostępne do tworzenia aplikacji audio o wysokiej wydajności:

  • OpenSL ES to implementacja specyfikacji interfejsu OpenSL ESTM API opracowanych przez Khronos Group, specyficznych dla Androida. Format OpenSL ES nie jest zalecany w przypadku nowych projektów. Deweloperzy aplikacji i dostawcy oprogramowania pośredniczącego powinni kierować reklamy na Oboe lub AAudio jako natywny interfejs audio.
  • Aplikacja AAudio została opracowana jako lekka, natywna alternatywa dla biblioteki OpenSL ES na Androida. Interfejs AAudio API jest mniejszy i łatwiejszy w użyciu niż OpenSL ES.

Dodatkowe materiały

Aby dowiedzieć się więcej, skorzystaj z tych materiałów:

Próbka

Ćwiczenia z programowania

Filmy