Ich bin gerade dabei, meinem Spiel Sound hinzuzufügen. Ich habe OpenAL und SDL gesehen, aber ich würde gerne wissen, was es sonst noch gibt. Kannst du gute plattformübergreifende Audio-APIs für die Spieleentwicklung empfehlen?
Ich bin gerade dabei, meinem Spiel Sound hinzuzufügen. Ich habe OpenAL und SDL gesehen, aber ich würde gerne wissen, was es sonst noch gibt. Kannst du gute plattformübergreifende Audio-APIs für die Spieleentwicklung empfehlen?
Antworten:
Stack Overflow-Frage: "Plattformübergreifende Sound-API für Spiele?"
Ich stimme der akzeptierten Antwort zu:
Ich bin ein großer Fan von SFML Library. Es bietet zusätzliche Grafik- und Netzwerkfunktionen, aber was für diese Frage relevant ist, ist, dass es auch ein ordentliches Audiopaket hat.
Audiofunktionen sind:
- Verwendet nach Möglichkeit Hardwarebeschleunigung
- Kann Standardtonformate laden und speichern: ogg, wav, flac, aiff, au, roh, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k , rf64
- Kann alle Audio-Ressourcen direkt aus Dateien im Speicher laden
- 3D Sound Spacialization
- Einfache Schnittstelle für die Aufnahme von Audio
- Verwaltet den Speicher effizient, sodass Sie sich keine Gedanken über die Lebensdauer oder den Speicher der Ressourcen machen müssen
- Unterstützt Streaming für große Dateien; Sie können sogar Ihre eigene Streaming-Klasse für jede Quelle (Netzwerk, ...) schreiben.
- Unterstützt Mehrkanalformate (Mono, Stereo, 4.0, 5.1, 6.1, 7.1)
Website: http://www.sfml-dev.org/
Die Art von De-facto-API für die Sound-Implementierung in Spielen ist FMOD .
Es ist kostenlos für nichtkommerzielle Zwecke und relativ günstig für die "Gelegenheits" -Entwicklung (sprich: Indie).
Es ist ein bisschen übertrieben für die einfache Anforderung "Diesen Sound wiedergeben", bietet aber einen riesigen Funktionsumfang, der auf allen Arten von Plattformen getestet wurde.
Ich mag OpenAL wirklich als plattformübergreifende Audiobibliothek. Die API ist ein bisschen niedrig, aber Sie können es leicht in eine schönere Engine-freundliche Oberfläche einbinden. Es ist wirklich plattformübergreifend und bietet erstklassige Unterstützung für: iPhone, Android, MacOSX, Windows und Linux.
Schauen Sie sich den Soundcode von Djinn Engine an . Zwei Dateien, vielleicht 300 Zeilen dazwischen (zähle Kommentare usw.) und du hast ein funktionsfähiges Soundsystem.
Ich habe noch nie ein audio-zentriertes Spiel entwickelt, daher passt OpenAL möglicherweise nicht in die Rechnung, wenn extreme Kontrolle erforderlich ist.
Wenn FMOD keine Option ist, ist Audiere eine gute Open-Source-Alternative. Es wurde schon lange nicht mehr aktualisiert, ist aber plattformübergreifend, einfach zu bedienen und verfügt über gute Funktionen .
Zusätzlich zu FMOD gibt es Audiokinetic Wwise , das in der Spielebranche zunehmend als professionelles plattformübergreifendes Sounddesign-Tool und API eingesetzt wird. Es verfügt über eine große Auswahl an Effekten (einschließlich Faltungshall), ein komplexes Soundlogiksystem, Sound Layering, Profiling, interaktive Musiktools usw. Es bietet eine gute Auswahl an Decodierungsalgorithmen und ist auch für nichtkommerzielle Projekte kostenlos.
Die Kowalski-Engine ist eine datengesteuerte plattformübergreifende Audiobibliothek, die unter der Lizenz zlib veröffentlicht wird.
libsoundio ist auf niedrigem Niveau, aber plattformübergreifend und auf Robustheit ausgerichtet. Es ist eine minimale Schicht zwischen Ihrem Spiel und dem Audio-Backend des Systems.