Zaktualizuj ustawienia kompilacji dla oboju

Bibliotekę obojów można włączyć do projektu na 2 sposoby.

Integracja obojów z Gradle i CMake

Te instrukcje dotyczą projektów, w których wykorzystuje się wtyczkę Androida do obsługi Gradle w wersji 4.1.0 lub nowszej przy użyciu zależności natywnych w CMake.

Jeśli Twój projekt korzysta z wtyczki Androida do obsługi Gradle w wersji 4.0 lub ndk-build zamiast CMake, ten proces jest nieco inny. Zobacz Korzystanie z zależności natywnych.

Aktualizacja pliku build.gradle

Aby dodać Obój do aplikacji przy użyciu wtyczki Androida do obsługi Gradle w wersji 4.1.0 lub wyżej, dodaj te dodatki do pliku build.gradle aplikacji.

  1. Dodaj zależność oboe do sekcji dependencies. W razie potrzeby: Zastąp 1.5.0 najnowszą wersją stabilną Obój:

    dependencies {
        implementation 'com.google.oboe:oboe:1.5.0'
    }
    
  2. Włącz opcję prefab w sekcji buildFeatures.

    android {
        buildFeatures {
            prefab true
        }
    }
    
  3. Skonfiguruj aplikację do używania udostępnionego protokołu STL:

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

Zaktualizuj plik CMakeLists.txt

Dodanie oboju wymaga 2 uzupełnień do pliku CMakeLists.txt aplikacji.

  1. Dodaj to polecenie find_package:

    find_package (oboe REQUIRED CONFIG)
    
  2. Dodaj oboe::oboe do listy bibliotek przekazywanych do Polecenie target_link_libraries powiązane z głównym plikiem wykonywalnym.

Integracja z pakietem SDK gier na Androida

  1. Pobierz bibliotekę i sprawdź, do systemu kontroli źródła.

  2. Wprowadź podane niżej zmiany w ustawieniach kompilacji projektu.

.

Biblioteka statyczna

Integracja z pakietem SDK do gier na Androida tworzy statyczne linki do wersji biblioteki obojów skompilowanej dla danego interfejsu ABI, poziomu API, NDK i STL kombinacja:

  1. Dodaj ścieżkę gamesdk/include do kompilatora i dodaj ścieżki.
  2. Dodaj do ścieżek biblioteki kreatora linków ścieżkę tego formularza:

    gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
    

    Na przykład: gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release

  3. Dodaj -loboe_static do polecenia łączącego.

Nie musisz grupować zasobów wspólnych liboboe.so, co oznacza, że pliki są statyczne pozwala znacznie zmniejszyć ilość kodu.

Zasoby wspólne

Jeśli kombinacja ABI, poziomu API, NDK i STL jest wymagana w przypadku biblioteki statycznej nie jest dostępna w Twoich ustawieniach, możesz połączyć z biblioteką udostępnianą zamiast:

  1. Wykonaj kroki 1 i 2 z poprzedniej sekcji (informacje o bibliotece statycznej), aby zaktualizuj kompilator ze ścieżkami i użyj odpowiedniego pliku nagłówka.

  2. Dodaj do ścieżek biblioteki kreatora linków ścieżkę tego formularza:

    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. Wywołaj funkcję add_gamesdk_target z folderem zawierającym pakiet SDK gamesdk:

    // Use a relative or absolute path.
    add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
    
  3. W aplikacji target_link_libraries do biblioteki natywnej dodaj oboe jako zależność:

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

Zaawansowane informacje o korzystaniu z CMake znajdziesz tutaj: gamesdk.cmake pliku źródłowym.

Kolejne kroki: korzystanie z oboju

Aby odtwarzać lub nagrywać dźwięk przy użyciu oboju, utwórz i aktywuj co najmniej 1 dźwięk strumieniowania i używać wywołań zwrotnych do wymiany dźwięku między wejściem/wyjściem audio. urządzeń i aplikacji. Patrz sekcja Korzystanie z: Obój.