Omoe के लिए बिल्ड की सेटिंग अपडेट करें

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 फ़ाइल में ये बदलाव करें.

  1. dependencies सेक्शन में oboe डिपेंडेंसी जोड़ें. अगर ज़रूरी हो, तो Oboe के सबसे नए स्टेबल वर्शन से 1.5.0 को बदलें:

    dependencies {
        implementation 'com.google.oboe:oboe:1.5.0'
    }
    
  2. buildFeatures सेक्शन में जाकर, prefab विकल्प को चालू करें.

    android {
        buildFeatures {
            prefab true
        }
    }
    
  3. शेयर किए गए STL का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन को कॉन्फ़िगर करें:

    android {
        defaultConfig {
            externalNativeBuild {
                cmake {
                    arguments "-DANDROID_STL=c++_shared"
                }
            }
        }
    }
    

CMakeLists.txt फ़ाइल अपडेट करना

Oboe को जोड़ने के लिए, आपको अपने ऐप्लिकेशन की CMakeLists.txt फ़ाइल में दो चीज़ें जोड़नी होंगी.

  1. यह find_package कमांड जोड़ें:

    find_package (oboe REQUIRED CONFIG)
    
  2. oboe::oboe को, आपके मुख्य एक्ज़ीक्यूटेबल से जुड़ी target_link_libraries कमांड को पास की गई लाइब्रेरी की सूची में जोड़ें.

Android गेम के एसडीके टूल के साथ इंटिग्रेट करना

  1. लाइब्रेरी डाउनलोड करें और इसे अपने सोर्स कंट्रोल सिस्टम में देखें.

  2. अपने प्रोजेक्ट की बिल्ड सेटिंग में ये बदलाव करें.

स्टैटिक लाइब्रेरी

Android Game SDK के साथ इंटिग्रेट करने पर, आपको दिए गए ABI, एपीआई लेवल, NDK, और STL कॉम्बिनेशन के लिए कंपाइल की गई Oboe लाइब्रेरी के किसी वर्शन से स्टैटिक तौर पर लिंक करना होगा:

  1. अपने कंपाइलर के शामिल किए गए पाथ में gamesdk/include जोड़ें.
  2. लिंकर लाइब्रेरी के पाथ में, इस फ़ॉर्म का पाथ जोड़ें:

    gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
    

    उदाहरण के लिए: gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release

  3. लिंकर कमांड में -loboe_static जोड़ें.

आपको liboboe.so शेयर की गई लाइब्रेरी को बंडल करने की ज़रूरत नहीं है. इसका मतलब है कि स्टैटिक लिंकिंग से, आपको बहुत छोटा कोड फ़ुटप्रिंट मिलता है.

शेयर लाइब्रेरी

अगर आपकी सेटिंग के लिए, स्टैटिक लाइब्रेरी के लिए ज़रूरी ABI, एपीआई लेवल, NDK, और STL का कॉम्बिनेशन उपलब्ध नहीं है, तो इसके बजाय शेयर की गई लाइब्रेरी से लिंक किया जा सकता है:

  1. कंपाइलर के शामिल किए गए पाथ अपडेट करने के लिए, पिछले सेक्शन (स्टैटिक लाइब्रेरी के बारे में) में दिए गए पहले और दूसरे चरण का पालन करें. साथ ही, सही हेडर फ़ाइल का इस्तेमाल करें.

  2. लिंकर लाइब्रेरी के पाथ में, इस फ़ॉर्म का पाथ जोड़ें:

    gamesdk/libs/architectureAPIapiLevelNDKndkVersion_stlVersion_Release/lib/oboe

  3. 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:

  1. 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")
    
  2. गेम एसडीके वाले फ़ोल्डर के साथ add_gamesdk_target फ़ंक्शन को कॉल करें:

    // Use a relative or absolute path.
    add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
    
  3. अपनी नेटिव लाइब्रेरी के target_link_libraries में, oboe को डिपेंडेंसी के तौर पर जोड़ें:

    // The casing of OpenSLES is important.
    target_link_libraries(native-lib oboe OpenSLES ...) 
    

CMake का ऐडवांस तरीके से इस्तेमाल करने के लिए, gamesdk.cmake सोर्स फ़ाइल देखें.

अगले चरण: Oboe का इस्तेमाल करना

Oboe की मदद से ऑडियो चलाने या रिकॉर्ड करने के लिए, एक या उससे ज़्यादा ऑडियो स्ट्रीम बनाएं और उन्हें चालू करें. साथ ही, कॉलबैक का इस्तेमाल करके, ऑडियो इनपुट/आउटपुट डिवाइसों और ऐप्लिकेशन के बीच ऑडियो ट्रांसफ़र करें. Oboe का इस्तेमाल करना लेख पढ़ें.