Suggerimenti API audio multipiattaforma


20

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?


1
"buono" è soggettivo. Sarebbe utile se avessi alcuni requisiti specifici, quindi le risposte possono essere un po 'più orientate verso le tue esigenze particolari.
Tetrad,

Risposte:


13

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/


Grazie per il tuo feedback Ho cercato Game Development per domande esistenti di questo tipo ma non StackTranslate.it.
riverbero l'

Apparentemente, non puoi votare per chiudere con un riferimento a un post su un altro sito SE, quindi approvare questa risposta è probabilmente il miglior risultato possibile per la domanda.

3
E a prescindere, non deve necessariamente essere chiuso. Alcune persone potrebbero supportare la scelta di FMOD di Tetrad, per esempio, che non è stata menzionata nella domanda SO. Ho solo posto la domanda per costruirci sopra, non per suggerire che sia un duplicato esatto, poiché il pubblico di sviluppo del gioco non è un duplicato esatto del pubblico SO. :)
Ricket,

Non sono d'accordo; dovrebbe essere chiuso e reindirizzato alla domanda SO. Altrimenti dividiamo le risposte future tra due luoghi. Ed è esattamente la stessa domanda: si tratta di "Suggerimenti API audio multipiattaforma [per lo sviluppo del gioco]", e l'altro è "API audio multipiattaforma per i giochi?"

2
Stiamo ottenendo la risposta dello sviluppatore del gioco qui (che, in questo caso, sembra essere la stessa). Nessuno è venuto su questo sito per ottenere risposte Stack Overflow, volevano opinioni da professionisti specificamente interessati a supportare una comunità di sviluppatori di giochi. Se sono uguali, così sia, perché sicuramente non sarà sempre così, e questo fa parte del motivo per cui questo sito è utile. Vedi meta.gamedev.stackexchange.com/questions/3/… per ulteriori spiegazioni.
Christopher Horenstein,

10

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.


2
Ri: "È un po 'eccessivo per il semplice requisito" riprodurre questo suono "- Penso che sia giunto il momento che gli sviluppatori vadano oltre il" riprodurre questo suono "! Poche persone si accontentano di un'API grafica che consente solo sprite 2D e penso che dobbiamo iniziare a chiedere di più anche dal nostro audio.
Kylotan,

1
Purtroppo, FMOD è molto difettoso e gli sviluppatori sono lenti a rispondere ai problemi. Per un semplice "riprodurre questo suono" va bene, ma una volta che si inizia davvero a usarlo, le carenze iniziano davvero a manifestarsi.
dash-tom-bang,

Anche quando dicono multipiattaforma, lo significano davvero. L'unica cosa che so che corre in più posti è Unity.
coderanger,

Ho usato FMod in diversi progetti iPhone e non l'ho trovato particolarmente difettoso fintanto che mi sono bloccato sull'API di basso livello. FMod Designer ovviamente è una bestia diversa. Ho anche trovato i forum abbastanza buoni e il personale molto disponibile. Ho sentito che le versioni console di FMod sono meno stabili (e molto più costose) di PC / Mac / iPhone ma non ne ho esperienza.
martinpi,

9

OpenAL

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.



4

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.



0

Dato che sei solo curioso di sapere altre cose là fuori, non vedo ancora alcuna menzione di Miglia qui. Non l'ho usato da solo (anche se l'abbiamo usato molti anni fa su un gioco), tuttavia questi giochi lo usano.


0

libsoundio è di basso livello, ma è multipiattaforma e punta sulla robustezza. È un livello minimo tra il tuo gioco e il backend audio del sistema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.