هناك طريقتان لدمج مكتبة الأوبوا في مشروعك.
استخدام المزمار مع Gradle وCMake
هذه التعليمات مخصّصة للمشاريع التي تستخدم الإصدار 4.1.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android أو الإصدارات الأحدث باستخدام التبعيات الأصلية باستخدام CMake.
إذا كان مشروعك يستخدم الإصدار 4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android أو
ndk-build
بدلاً من CMake، تختلف العملية قليلاً. راجع استخدام الاعتماديات الأصلية.
تعديل Build.gradle
لإضافة Oboe إلى تطبيقك أثناء استخدام الإصدار 4.1.0 أو الإصدار 4.1.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
أضِف الإضافات التالية إلى ملف build.gradle
في تطبيقك.
أضِف تبعية
oboe
إلى القسمdependencies
. إذا لزم الأمر، استبدال1.5.0
بأحدث إصدار ثابت من الأوبوا: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
يجب إضافة إضافتَين إلى ملف CMakeLists.txt
الخاص بتطبيقك.
أضِف أمر
find_package
التالي:find_package (oboe REQUIRED CONFIG)
إضافة
oboe::oboe
إلى قائمة المكتبات التي تم تمريرها إلى الأمرtarget_link_libraries
المرتبط بالعنصر الرئيسي القابل للتنفيذ.
الدمج مع "حزمة تطوير البرامج (SDK) لألعاب Android"
تنزيل المكتبة والاطّلاع على المعلومات إلى نظام التحكم في المصدر.
أدخِل التغييرات التالية على إعدادات إصدار مشروعك.
مكتبة ثابتة
عند الدمج مع حزمة SDK لألعاب Android، يتم الربط بشكل ثابت بإصدار. من مكتبة الأوبوا التي تم تجميعها لواجهة التطبيق الثنائية (ABI) وواجهة برمجة التطبيقات (API) و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
مع المجلد الذي يحتوي على the 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
ملف المصدر.
الخطوات التالية: استخدام الأوبوا
لتشغيل الصوت أو تسجيله باستخدام آلة الأوبوا، عليك إنشاء مقطع صوتي واحد أو أكثر وتفعيله. عمليات البث واستخدام عمليات الاستدعاء لتبادل الصوت بين مصادر الإدخال والإخراج الصوتي الأجهزة وتطبيقك. راجع استخدام الأوبوا