Obecnie szukam możliwości dodania dźwięku do mojej gry. Widziałem OpenAL i SDL, ale chciałbym wiedzieć, co jeszcze tam jest. Czy możesz polecić jakieś dobre wieloplatformowe interfejsy API audio do tworzenia gier?
Obecnie szukam możliwości dodania dźwięku do mojej gry. Widziałem OpenAL i SDL, ale chciałbym wiedzieć, co jeszcze tam jest. Czy możesz polecić jakieś dobre wieloplatformowe interfejsy API audio do tworzenia gier?
Odpowiedzi:
Pytanie przepełnienia stosu: „Interfejs API dźwięku dla różnych platform?”
Zgadzam się z przyjętą odpowiedzią:
Jestem wielkim fanem Biblioteki SFML. Zapewnia dodatkowe funkcje graficzne i sieciowe, ale istotne dla tego pytania jest to, że ma także zgrabny pakiet audio.
Funkcje audio to:
- Wykorzystuje przyspieszenie sprzętowe, gdy tylko jest to możliwe
- Może ładować i zapisywać standardowe formaty dźwięku: ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, s2, caf, wve, mpc2k , rf64
- Może załadować wszystkie zasoby audio bezpośrednio z plików w pamięci
- Przestrzenizacja dźwięku 3D
- Łatwy interfejs do przechwytywania dźwięku
- Wydajnie zarządza pamięcią, dzięki czemu nie musisz martwić się o żywotność zasobów lub pamięć
- Obsługuje przesyłanie strumieniowe dużych plików; możesz nawet napisać własną klasę przesyłania strumieniowego dla dowolnego źródła (sieć, ...)
- Obsługuje formaty wielokanałowe (mono, stereo, 4.0, 5.1, 6.1, 7.1)
Strona internetowa: http://www.sfml-dev.org/
Moim zdaniem de facto API do implementacji dźwięku w grach to FMOD .
Jest bezpłatny dla niekomercyjnych zastosowań i stosunkowo niedrogi dla „swobodnego” (czytaj: indie) rozwoju.
Jest to trochę przesada w stosunku do prostego wymogu „odtwarzaj ten dźwięk”, ale zapewnia ogromny zestaw funkcji, który jest dobrze przetestowany na wszelkiego rodzaju platformach.
Bardzo podoba mi się OpenAL jako wieloplatformowa biblioteka audio. Interfejs API jest nieco niski, ale można go łatwo zawinąć w ładniejszy interfejs przyjazny dla silnika. To prawdziwie wieloplatformowe wsparcie pierwszej klasy: iPhone, Android, MacOSX, Windows i Linux.
Spójrz na kod dźwiękowy silnika Djinn . Dwa pliki, może 300 linii między nimi (licząc komentarze itp.) I masz sprawny system dźwiękowy.
Nigdy nie budowałem gry zorientowanej na audio, więc OpenAL może nie sprostać wymaganiom, jeśli potrzebna jest ekstremalna kontrola.
Jeśli FMOD nie jest opcją, Audiere jest dobrą alternatywą typu open source. Nie był aktualizowany od dawna, ale jest wieloplatformowy, łatwy w użyciu i ma dobry zestaw funkcji .
Oprócz FMOD istnieje Audiokinetic Wwise , który jest coraz częściej wykorzystywany w branży gier jako profesjonalne narzędzie do projektowania dźwięku i interfejs API. Ma duży wybór efektów (w tym pogłos splotowy), złożony system logiki dźwięku, warstwowanie dźwięku, profilowanie, interaktywne narzędzia muzyczne itp. Zapewnia dobry wybór algorytmów dekodowania i jest również bezpłatny dla projektów niekomercyjnych.
Silnik Kowalskiego to oparta na danych międzyplatformowa biblioteka audio wydana na licencji Zlib.
libsoundio ma niski poziom, ale jest wieloplatformowy i koncentruje się na niezawodności. To minimalna warstwa między grą a zapleczem audio systemu.