अपने प्रोजेक्ट में ओबो लाइब्रेरी को शामिल करने के दो तरीके हैं.
Omoe को Gradle और CMake के साथ इंटिग्रेट करना
ये निर्देश Android Gradle प्लग इन वर्शन 4.1.0 या इसके बाद वाले वर्शन का इस्तेमाल करने वाले प्रोजेक्ट के लिए हैं नेटिव डिपेंडेंसी का इस्तेमाल करना CMake के साथ मिलकर काम करता है.
अगर आपका प्रोजेक्ट 'Android Gradle प्लग इन' 4.0 या
CMake की जगह ndk-build
पर यह प्रोसेस थोड़ी अलग है. नेटिव डिपेंडेंसी इस्तेमाल करना देखें.
Build.gradle को अपडेट करना
'Android Gradle प्लग इन' के 4.1.0 वर्शन या
तो अपने ऐप्लिकेशन की build.gradle
फ़ाइल में ये चीज़ें जोड़ें.
dependencies
सेक्शन मेंoboe
डिपेंडेंसी जोड़ें. अगर ज़रूरी हो,1.5.0
को नए स्टेबल वर्शन से बदलें Omie का कुल: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 को अपडेट करें
Omoe को जोड़ने के लिए आपके ऐप्लिकेशन की CMakeLists.txt
फ़ाइल में दो बार जोड़ने की ज़रूरत है.
यह
find_package
कमांड जोड़ें:find_package (oboe REQUIRED CONFIG)
oboe::oboe
को उस लाइब्रेरी की सूची में जोड़ें जिसेtarget_link_libraries
निर्देश, आपके मुख्य एक्ज़ीक्यूटेबल से जुड़ा है.
Android गेम SDK टूल के साथ इंटिग्रेट करना
लाइब्रेरी डाउनलोड करें और देखें उसे अपने सोर्स कंट्रोल सिस्टम में जोड़ दें.
अपने प्रोजेक्ट की बिल्ड सेटिंग में ये बदलाव करें.
स्टैटिक लाइब्रेरी
Android गेम के SDK टूल के साथ इंटिग्रेट करने के बाद, ऐप्लिकेशन के किसी वर्शन को स्टैटिक रूप से लिंक किया जाता है दिए गए ABI, एपीआई लेवल, NDK, और STL के लिए इकट्ठा की गई Omoe लाइब्रेरी संयोजन:
gamesdk/include
को अपने कंपाइलर में पाथ शामिल करें.अपने लिंकर लाइब्रेरी पाथ में, नीचे दिए गए फ़ॉर्म का पाथ जोड़ें:
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
उदाहरण के लिए:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
-loboe_static
को अपने लिंकर कमांड में जोड़ें.
आपको liboboe.so
शेयर की गई लाइब्रेरी को बंडल करने की ज़रूरत नहीं है, जिसका मतलब है कि स्टैटिक
लिंक करने से आपके कोड फ़ुटप्रिंट काफ़ी कम हो जाता है.
शेयर लाइब्रेरी
अगर स्टैटिक लाइब्रेरी के लिए एबीआई, एपीआई लेवल, एनडीके, और एसटीएल का कॉम्बिनेशन ज़रूरी है आपकी सेटिंग के लिए उपलब्ध नहीं है, आप शेयर की गई लाइब्रेरी से लिंक कर सकते हैं इसके बजाय:
पिछले सेक्शन (स्टैटिक लाइब्रेरी के बारे में) के पहले और दूसरे चरण का पालन करके अपने कंपाइलर में पाथ को अपडेट करें और सही हेडर फ़ाइल का इस्तेमाल करें.
अपने लिंकर लाइब्रेरी पाथ में, नीचे दिए गए फ़ॉर्म का पाथ जोड़ें:
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
फ़ंक्शन को कॉल करें गेमSDK टूल:// 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
देखें
सोर्स फ़ाइल के लिए उपलब्ध है.
अगले चरण: Omoe का इस्तेमाल करना
Bloo पर ऑडियो चलाने या रिकॉर्ड करने के लिए, एक या इससे ज़्यादा ऑडियो बनाएं और उन्हें चालू करें स्ट्रीम करें और अपने ऑडियो इनपुट/आउटपुट के बीच ऑडियो का लेन-देन करने के लिए कॉलबैक का इस्तेमाल करें आपके ऐप्लिकेशन पर भी लागू होगा. इस्तेमाल करने का तरीका देखें ओबो.