Attualmente sto cercando di aggiungere suoni al mio gioco. Ho visto OpenAL e SDL, ma vorrei sapere cos'altro c'è là fuori. Puoi consigliare qualche buona API audio multipiattaforma per lo sviluppo di giochi?
Attualmente sto cercando di aggiungere suoni al mio gioco. Ho visto OpenAL e SDL, ma vorrei sapere cos'altro c'è là fuori. Puoi consigliare qualche buona API audio multipiattaforma per lo sviluppo di giochi?
Risposte:
Stack Overflow: "API audio multipiattaforma per giochi?"
Accetto la risposta accettata:
Sono un grande fan della libreria SFML. Fornisce funzionalità grafiche e di rete aggiuntive, ma ciò che è rilevante per questa domanda è che ha anche un pacchetto audio pulito.
Le caratteristiche audio sono:
- Utilizza l'accelerazione hardware quando possibile
- Può caricare e salvare formati audio standard: ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k , rf64
- Può caricare tutte le risorse audio direttamente dai file in memoria
- Spazializzazione del suono 3D
- Interfaccia semplice per l'acquisizione di audio
- Gestisce la memoria in modo efficiente, in modo da non doverti preoccupare della durata delle risorse o dell'archiviazione
- Supporta lo streaming per file di grandi dimensioni; puoi persino scrivere la tua classe di streaming personalizzata per qualsiasi sorgente (rete, ...)
- Supporta formati multi-canale (mono, stereo, 4.0, 5.1, 6.1, 7.1)
Sito Web: http://www.sfml-dev.org/
Il tipo di API di fatto per l'implementazione del suono nei giochi in questi giorni per quanto mi riguarda è FMOD .
È gratuito per usi non commerciali e relativamente economico per lo sviluppo "casuale" (leggi: indie).
È un po 'eccessivo per il semplice requisito di "riprodurre questo suono", ma offre un enorme set di funzionalità che è ben testato su tutti i tipi di piattaforme.
Mi piace molto OpenAL come libreria audio multipiattaforma. L'API ha un livello un po 'basso ma puoi facilmente inserirlo in un'interfaccia più intuitiva per il motore. È veramente multipiattaforma con supporto di prima classe per: iPhone, Android, MacOSX, Windows e Linux.
Dai un'occhiata al codice audio di Djinn Engine . Due file, forse 300 righe tra loro (contando i commenti ecc.) E hai un sistema audio funzionante.
Non ho mai creato un gioco incentrato sull'audio, quindi OpenAL potrebbe non adattarsi al conto se è necessario un controllo estremo.
Se FMOD non è un'opzione, Audiere è una buona alternativa open source. Non è stato aggiornato da molto tempo ma è multipiattaforma, facile da usare e ha un buon set di funzionalità .
Oltre a FMOD, c'è Audiokinetic Wwise , che viene sempre più utilizzato nel settore dei giochi come strumento di progettazione audio multipiattaforma professionale e API. Ha una vasta selezione di effetti (incluso il riverbero della convoluzione), un complesso sistema di logica del suono, stratificazione del suono, creazione di profili, strumenti musicali interattivi, ecc ... Fornisce una buona selezione di algoritmi di decodifica ed è anche gratuito per progetti non commerciali.
Il motore Kowalski è una libreria audio multipiattaforma basata su dati rilasciata con licenza zlib.
libsoundio è di basso livello, ma è multipiattaforma e punta sulla robustezza. È un livello minimo tra il tuo gioco e il backend audio del sistema.