OpenSL ES

Uwaga: deweloperzy powinni korzystać z biblioteki open source Oboe, która jest dostępna na GitHubie. Oboe to opakowanie C++ zapewniające interfejs API, który bardzo przypomina interfejs AAudio. Obój wywołuje AAudio, gdy jest dostępny, i wraca do OpenSL ES, jeśli AAudio jest niedostępny.

Pakiet NDK zawiera specyfikację interfejsu API OpenSL ESTM 1.0.1 z grupy Khronos, która jest specyficzna dla Androida. Ta biblioteka umożliwia korzystanie z C lub C++ w celu zaimplementowania dźwięku o wysokiej wydajności przy niewielkich opóźnieniach podczas pisania syntezatora, cyfrowej stacji roboczej, karaoke, gry lub innej aplikacji obsługującej dane w czasie rzeczywistym.

Standard OpenSL ESTM udostępnia funkcje audio podobne do tych w interfejsach API MediaPlayer i MediaRecorder w środowisku Android Java. OpenSL ES udostępnia interfejs w języku C oraz powiązania C++, które umożliwiają wywoływanie interfejsu API z kodu napisanego w dowolnym języku.

Interfejsy API OpenSL ES pomogą Ci w rozwijaniu i poprawianiu wydajności dźwięku w aplikacji.

Standardowe nagłówki OpenSL ES <SLES/OpenSLES.h> i <SLES/OpenSLES_Platform.h> umożliwiają wejście i wyjście audio. Dodatkowa funkcja dostępna na urządzeniach z Androidem jest dostępna w środowiskach <SLES/OpenSLES_Android.h> i <SLES/OpenSLES_AndroidConfiguration.h>.

Na początek objaśniamy, jak wdrożyć OpenSL ES w swojej aplikacji. Następnie wyjaśniamy, co musisz wiedzieć o implementacji OpenSL ES na Androida. Skup się najpierw na różnicach między tą implementacją a specyfikacją referencyjną, a potem dodatkowymi rozszerzeniami zapewniającymi zgodność z Androidem. Ta sekcja kończy się dodatkowymi uwagami na temat programowania, które pomogą Ci prawidłowo wdrożyć OpenSL ES.