هناك طريقتان لدمج مكتبة الأوبوا في مشروعك.
دمج Oboe مع Gradle وCMake
هذه التعليمات مخصّصة للمشاريع التي تستخدم الإصدار 4.1.0 أو الإصدارات الأحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android باستخدام التبعيات الأصلية مع CMake.
إذا كان مشروعك يستخدم الإصدار 4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android أو
ndk-build
بدلاً من CMake، ستختلف العملية قليلاً. راجِع استخدام التبعيات الأصلية.
تعديل Build.gradle
لإضافة Oboe إلى تطبيقك أثناء استخدام الإصدار 4.1.0 أو الإصدارات الأحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android، عليك إجراء الإضافات التالية إلى ملف build.gradle
الخاص بتطبيقك.
أضِف التبعية
oboe
إلى القسمdependencies
. إذا لزم الأمر، استبدِل1.5.0
بأحدث إصدار ثابت من Oboe:dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
فعِّل خيار "
prefab
" في القسم "buildFeatures
".android { buildFeatures { prefab true } }
اضبط تطبيقك لاستخدام STL المشتركة:
android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } }
تعديل CMakeLists.txt
تتطلّب إضافة Oboe إضافتَين إلى ملف "CMakeLists.txt
" الخاص بتطبيقك.
أضِف أمر
find_package
التالي:find_package (oboe REQUIRED CONFIG)
أضِف
oboe::oboe
إلى قائمة المكتبات التي يتم تمريرها إلى الأمرtarget_link_libraries
المرتبط بملفك التنفيذي الرئيسي.
الدمج مع حزمة تطوير البرامج (SDK) لألعاب Android
قم بتنزيل المكتبة وتحقق منها في نظام التحكم في المصدر.
عليك إجراء التغييرات التالية على إعدادات إصدار مشروعك.
مكتبة ثابتة
عند الدمج مع حزمة تطوير البرامج (SDK) لألعاب Android، يتم ربطك بشكل ثابت بإصدار من مكتبة Oboe تم تجميعه لتركيبة ABI وAPI وNDK وSTL:
- أضِف
gamesdk/include
إلى مسارات التضمين في برنامج التجميع. أضِف مسار النموذج التالي في مسارات مكتبة الروابط:
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
على سبيل المثال:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
أضِف
-loboe_static
إلى أمر linker.
ولست بحاجة إلى تجميع مكتبة liboboe.so
المشتركة، ما يعني أنّ الربط
الثابت يمنحك مجموعة رموز أقل بكثير.
المكتبة المشتركة
إذا كانت تركيبة ABI وواجهة برمجة التطبيقات وNDK وSTL المطلوبة لمكتبة ثابتة غير متاحة لإعداداتك، يمكنك الربط بالمكتبة المشتركة بدلاً من ذلك:
اتبع الخطوتين 1 و2 من القسم السابق (حول المكتبة الثابتة) لتحديث برنامج التحويل البرمجي الخاص بك للمسارات، واستخدم ملف الرأس المناسب.
أضِف مسار النموذج التالي في مسارات مكتبة الروابط:
gamesdk/libs/architectureAPIapiLevelNDKndkVersion_stlVersion_Release/lib/oboe
Add
-loboe -lOpenSLES
to your linker command.
Using CMake (static library only)
If you're using CMake, see the gamesdk/samples/bouncyball/app/CMakeLists.txt
file in the downloaded SDK for an example CMake configuration. It includes a
utility file called gamesdk/samples/gamesdk.cmake
, which performs final
checks, adds the proper compiler include paths, and generates a target that you
can use to link the library.
To use the gamesdk.cmake
utility:
Include this file in your
CMakeLists.txt
:// Use a relative or absolute path. For example, /home/yourusername/gamesdk // or C:\Android\gamesdk.
include("path/to/gamesdk/samples/gamesdk.cmake")
استدعِ الدالة
add_gamesdk_target
مع المجلد الذي يحتوي على gamesdk:// Use a relative or absolute path.
add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
في "
target_link_libraries
" لمكتبتك الأصلية، أضِفoboe
كعنصر تابع:// The casing of OpenSLES is important.
target_link_libraries(native-lib oboe OpenSLES ...)
للاستخدام المتقدم لـ CMake، راجِع ملف المصدر gamesdk.cmake
.
الخطوات التالية: استخدام Oboe
لتشغيل الصوت أو تسجيله باستخدام Oboe، يمكنك إنشاء بث صوتي واحد أو أكثر وتفعيله، واستخدام عمليات معاودة الاتصال لتبادل الصوت بين أجهزة إدخال/إخراج الصوت وتطبيقك. راجِع القسم استخدام Oboe.