هناك طريقتان لدمج مكتبة Oboe في مشروعك.
دمج Oboe مع Gradle وCMake
هذه التعليمات مخصّصة للمشاريع التي تستخدم الإصدار 4.1.0 أو الإصدارات الأحدث من "مكوّن Android Gradle الإضافي" باستخدام التبعيات الأصلية مع CMake.
إذا كان مشروعك يستخدم الإصدار 4.0 من Android Gradle plugin أو
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 ومستوى واجهة برمجة التطبيقات وNDK وSTL المحدّدة:
- أضِف
gamesdk/include
إلى مسارات التضمين في برنامج التجميع. أضِف مسارًا بالشكل التالي في مسارات مكتبة الرابط:
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
على سبيل المثال:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
أضِف
-loboe_static
إلى أمر الربط.
لست بحاجة إلى تجميع المكتبة المشتركة 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.