Sugestie interfejsu API audio dla wielu platform


20

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?


1
„dobry” jest subiektywny. Byłoby to pomocne, gdybyś miał określone wymagania, aby odpowiedzi były bardziej dostosowane do twoich konkretnych potrzeb.
Tetrad,

Odpowiedzi:


13

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/


Dziękuję za twój komentarz. Szukałem w Game Development istniejących pytań tego typu, ale nie przepełnienia stosu.
reverbb

Najwyraźniej nie można głosować na zakończenie z odniesieniem do posta na innej stronie SE, więc zatwierdzenie tej odpowiedzi jest prawdopodobnie najlepszym możliwym wynikiem pytania.

3
I niezależnie od tego nie musi być koniecznie zamknięty. Niektóre osoby mogą poprzeć wybór FMOD przez Tetrad, na przykład, o czym nie wspomniano w pytaniu SO. Zadałem tylko to pytanie, aby na nim oprzeć, a nie sugerować, że jest to dokładny duplikat, ponieważ publiczność tworząca gry nie jest dokładnym duplikatem odbiorców SO. :)
Ricket

Nie zgadzam się; należy go zamknąć i przekierować do pytania SO. W przeciwnym razie podzielimy przyszłe odpowiedzi na dwa miejsca. I to jest dokładnie to samo pytanie - jest to „Sugestie interfejsu API audio dla różnych platform [do tworzenia gier]”, a drugim jest „Interfejs API dla wielu platform dla gier?”

2
Otrzymujemy tutaj odpowiedź twórcy gry (która w tym przypadku bywa taka sama). Nikt nie przyszedł na tę stronę, aby uzyskać odpowiedzi na przepełnienie stosu, chcieli poznać opinie profesjonalistów zainteresowanych wsparciem społeczności twórców gier. Jeśli są takie same, niech tak będzie, ponieważ z pewnością nie zawsze tak będzie, a to po części powód, dla którego ta strona jest przydatna. Więcej informacji można znaleźć na stronie meta.gamedev.stackexchange.com/questions/3/ ...
Christopher Horenstein

10

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.


2
Re: „To trochę przesada w przypadku prostego wymogu„ odtwarzania tego dźwięku ”- myślę, że najwyższy czas, aby programiści wykroczyli poza„ odtwarzanie tego dźwięku ”! Niewiele osób zadowala się graficznym interfejsem API, który pozwala tylko na duszki 2D, i myślę, że musimy zacząć wymagać więcej od naszego dźwięku.
Kylotan,

1
Niestety, FMOD jest bardzo wadliwy, a programiści powoli reagują na problemy. W przypadku prostego „odtwarzania tego dźwięku” jest w porządku, ale kiedy naprawdę zaczniesz go używać, braki naprawdę zaczynają się ujawniać.
dash-tom-bang

Również, gdy mówią na wiele platform, naprawdę mają na myśli. Jedyne, co wiem o tym, działa w większej liczbie miejsc, to Jedność.
coderanger

Użyłem FMod w kilku projektach na iPhone'a i nie uważałem go za szczególnie wadliwy, dopóki trzymałem się niskiego poziomu API. FMod Designer to oczywiście inna bestia. Uważam też, że fora są całkiem dobre, a personel bardzo pomocny. Słyszałem, że wersje FMod na konsole są mniej stabilne (i znacznie droższe) niż PC / Mac / iPhone, ale nie mam z nimi doświadczenia.
martinpi,

9

OpenAL

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.



4

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.



0

Ponieważ jesteś ciekaw innych rzeczy, nie widzę tu jeszcze żadnej wzmianki o Milesie . Sam go nie używałem (chociaż używaliśmy go wiele lat temu w grze), jednak te gry go używają.


0

libsoundio ma niski poziom, ale jest wieloplatformowy i koncentruje się na niezawodności. To minimalna warstwa między grą a zapleczem audio systemu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.