هشدار: OpenSL ES منسوخ شده است. توسعه دهندگان باید از کتابخانه منبع باز Oboe استفاده کنند که در GitHub در دسترس است. Oboe یک بسته بندی C++ است که یک API ارائه می دهد که بسیار شبیه به AAudio است. زمانی که AAudio در دسترس باشد Oboe با AAudio تماس می گیرد و اگر AAudio در دسترس نباشد به OpenSL ES برمی گردد.
بسته NDK شامل یک پیاده سازی مختص اندروید از مشخصات API OpenSL ES™ 1.0.1 از گروه Khronos است. این کتابخانه به شما امکان می دهد از C یا C++ برای اجرای صدای با کارایی بالا و با تأخیر کم استفاده کنید، چه در حال نوشتن یک سینت سایزر، ایستگاه کاری صوتی دیجیتال، کارائوکه، بازی یا سایر برنامه های زمان واقعی باشید.
استاندارد OpenSL ES™ ویژگیهای صوتی شبیه به آنهایی که در MediaPlayer
و MediaRecorder
API در چارچوب Android Java ارائه میکند. OpenSL ES یک رابط زبان C و همچنین پیوندهای C++ را فراهم می کند که به شما امکان می دهد API را از کدهای نوشته شده به هر یک از زبان ها فراخوانی کنید.
APIهای OpenSL ES برای کمک به توسعه و بهبود عملکرد صوتی برنامه در دسترس هستند.
سرصفحههای استاندارد OpenSL ES <SLES/OpenSLES.h> و <SLES/OpenSLES_Platform.h> اجازه ورودی و خروجی صدا را میدهند. عملکرد اضافی مخصوص Android در <SLES/OpenSLES_Android.h> و <SLES/OpenSLES_AndroidConfiguration.h> است.
این بخش با توضیح نحوه ادغام OpenSL ES در برنامه شما آغاز می شود. سپس، آنچه را که باید در مورد پیاده سازی اندروید OpenSL ES بدانید، توضیح می دهد، ابتدا بر روی تفاوت های بین این پیاده سازی و مشخصات مرجع و سپس افزونه های اضافی برای سازگاری اندروید تمرکز می کند. این بخش با برخی نکات برنامه نویسی تکمیلی برای اطمینان از اجرای صحیح OpenSL ES به پایان می رسد.