আপনার প্রকল্পে Oboe লাইব্রেরি অন্তর্ভুক্ত করার দুটি উপায় আছে।
Gradle এবং CMake এর সাথে Oboe সংহত করুন
এই নির্দেশাবলী Android Gradle প্লাগইন সংস্করণ 4.1.0 বা উচ্চতর CMake-এর সাথে স্থানীয় নির্ভরতা ব্যবহার করে ব্যবহার করা প্রকল্পগুলির জন্য।
যদি আপনার প্রজেক্ট হয় Android Gradle প্লাগইন সংস্করণ 4.0 বা ndk-build
ব্যবহার করে CMake এর পরিবর্তে, প্রক্রিয়াটি কিছুটা আলাদা। নেটিভ নির্ভরতা ব্যবহার করা দেখুন।
build.gradle আপডেট করুন
Android Gradle প্লাগইন সংস্করণ 4.1.0 বা উচ্চতর ব্যবহার করার সময় আপনার অ্যাপে Oboe যোগ করতে, আপনার অ্যাপের build.gradle
ফাইলে নিম্নলিখিত সংযোজন করুন।
dependencies
বিভাগেoboe
নির্ভরতা যোগ করুন। প্রয়োজনে, Oboe এর সর্বশেষ স্থিতিশীল সংস্করণ দিয়ে1.5.0
প্রতিস্থাপন করুন:dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
buildFeatures
বিভাগেprefab
বিকল্পটি সক্ষম করুন।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)
আপনার প্রধান এক্সিকিউটেবলের সাথে যুক্ত
target_link_libraries
কমান্ডে পাস করা লাইব্রেরির তালিকায়oboe::oboe
যোগ করুন।
Android গেম SDK-এর সাথে একীভূত করুন
লাইব্রেরি ডাউনলোড করুন এবং আপনার সোর্স কন্ট্রোল সিস্টেমে চেক করুন।
আপনার প্রকল্পের বিল্ড সেটিংসে নিম্নলিখিত পরিবর্তনগুলি করুন৷
স্ট্যাটিক লাইব্রেরি
আপনি যখন অ্যান্ড্রয়েড গেম SDK-এর সাথে একীভূত হন, তখন আপনি প্রদত্ত ABI, API স্তর, NDK এবং STL সংমিশ্রণের জন্য সংকলিত Oboe লাইব্রেরির একটি সংস্করণের সাথে স্থিরভাবে লিঙ্ক করেন:
- আপনার কম্পাইলারটিতে
gamesdk/include
যোগ করুন পাথ অন্তর্ভুক্ত করুন। আপনার লিঙ্কার লাইব্রেরি পাথগুলিতে নিম্নলিখিত ফর্মের একটি পথ যোগ করুন:
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
উদাহরণস্বরূপ:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
আপনার লিঙ্কার কমান্ডে
-loboe_static
যোগ করুন।
আপনাকে liboboe.so
ভাগ করা লাইব্রেরি বান্ডিল করার দরকার নেই, যার মানে স্ট্যাটিক লিঙ্কিং আপনাকে অনেক ছোট কোড ফুটপ্রিন্ট দেয়।
শেয়ার্ড লাইব্রেরি
যদি একটি স্ট্যাটিক লাইব্রেরির জন্য প্রয়োজনীয় ABI, API স্তর, 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
ফাংশনটি গেমসডিকে ধারণকারী ফোল্ডারের সাথে কল করুন:// 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 ব্যবহার করা দেখুন।