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

अपने प्रोजेक्ट में ओबो लाइब्रेरी को शामिल करने के दो तरीके हैं.

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 फ़ाइल में ये चीज़ें जोड़ें.

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

    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 को अपडेट करें

Omoe को जोड़ने के लिए आपके ऐप्लिकेशन की CMakeLists.txt फ़ाइल में दो बार जोड़ने की ज़रूरत है.

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

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

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

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

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

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

Android गेम के SDK टूल के साथ इंटिग्रेट करने के बाद, ऐप्लिकेशन के किसी वर्शन को स्टैटिक रूप से लिंक किया जाता है दिए गए ABI, एपीआई लेवल, NDK, और STL के लिए इकट्ठा की गई Omoe लाइब्रेरी संयोजन:

  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 शेयर की गई लाइब्रेरी को बंडल करने की ज़रूरत नहीं है, जिसका मतलब है कि स्टैटिक लिंक करने से आपके कोड फ़ुटप्रिंट काफ़ी कम हो जाता है.

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

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

  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 फ़ंक्शन को कॉल करें गेमSDK टूल:

    // 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 देखें सोर्स फ़ाइल के लिए उपलब्ध है.

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

Bloo पर ऑडियो चलाने या रिकॉर्ड करने के लिए, एक या इससे ज़्यादा ऑडियो बनाएं और उन्हें चालू करें स्ट्रीम करें और अपने ऑडियो इनपुट/आउटपुट के बीच ऑडियो का लेन-देन करने के लिए कॉलबैक का इस्तेमाल करें आपके ऐप्लिकेशन पर भी लागू होगा. इस्तेमाल करने का तरीका देखें ओबो.