Oboe लाइब्रेरी को अपने प्रोजेक्ट में शामिल करने के दो तरीके हैं.
Oboe को Gradle और CMake के साथ इंटिग्रेट करना
ये निर्देश उन प्रोजेक्ट के लिए हैं जो CMake के साथ नेटिव डिपेंडेंसी का इस्तेमाल करके, Android Gradle प्लगिन 4.1.0 या इसके बाद के वर्शन का इस्तेमाल करते हैं.
अगर आपका प्रोजेक्ट, CMake के बजाय Android Gradle प्लगिन 4.0 या ndk-build
का इस्तेमाल कर रहा है, तो प्रोसेस थोड़ी अलग होगी. नेटिव डिपेंडेंसी का इस्तेमाल करना लेख पढ़ें.
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)
oboe::oboe
को, आपके मुख्य एक्ज़ीक्यूटेबल से जुड़ीtarget_link_libraries
कमांड को पास की गई लाइब्रेरी की सूची में जोड़ें.
Android गेम के एसडीके टूल के साथ इंटिग्रेट करना
लाइब्रेरी डाउनलोड करें और इसे अपने सोर्स कंट्रोल सिस्टम में देखें.
अपने प्रोजेक्ट की बिल्ड सेटिंग में ये बदलाव करें.
स्टैटिक लाइब्रेरी
Android Game SDK के साथ इंटिग्रेट करने पर, आपको दिए गए ABI, एपीआई लेवल, 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, एपीआई लेवल, NDK, और STL का कॉम्बिनेशन उपलब्ध नहीं है, तो इसके बजाय शेयर की गई लाइब्रेरी से लिंक किया जा सकता है:
कंपाइलर के शामिल किए गए पाथ अपडेट करने के लिए, पिछले सेक्शन (स्टैटिक लाइब्रेरी के बारे में) में दिए गए पहले और दूसरे चरण का पालन करें. साथ ही, सही हेडर फ़ाइल का इस्तेमाल करें.
लिंकर लाइब्रेरी के पाथ में, इस फ़ॉर्म का पाथ जोड़ें:
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 का इस्तेमाल करना लेख पढ़ें.