Actualmente estoy buscando agregar sonido a mi juego. He visto OpenAL y SDL, pero me gustaría saber qué más hay disponible. ¿Me puede recomendar alguna buena API de audio multiplataforma para el desarrollo de juegos?
Actualmente estoy buscando agregar sonido a mi juego. He visto OpenAL y SDL, pero me gustaría saber qué más hay disponible. ¿Me puede recomendar alguna buena API de audio multiplataforma para el desarrollo de juegos?
Respuestas:
Pregunta de desbordamiento de pila: "¿API de sonido multiplataforma para juegos?"
Estoy de acuerdo con la respuesta aceptada:
Soy un gran admirador de SFML Library. Proporciona funciones gráficas y de red adicionales, pero lo que es relevante para esta pregunta es que también tiene un paquete de audio ordenado.
Las características de audio son:
- Utiliza aceleración de hardware siempre que sea posible
- Puede cargar y guardar formatos de sonido estándar: ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k , rf64
- Puede cargar todos los recursos de audio directamente desde archivos en la memoria
- Espacialización de sonido 3D
- Interfaz fácil para capturar audio
- Administra la memoria de manera eficiente, para que no tenga que preocuparse por la vida útil de los recursos o el almacenamiento
- Admite la transmisión de archivos grandes; incluso puedes escribir tu clase de transmisión personalizada para cualquier fuente (red, ...)
- Admite formatos multicanal (mono, estéreo, 4.0, 5.1, 6.1, 7.1)
Sitio web: http://www.sfml-dev.org/
El tipo de API de facto para la implementación de sonido en los juegos en estos días en lo que a mí respecta es FMOD .
Es gratis para usos no comerciales y relativamente económico para el desarrollo "casual" (léase: indie).
Es un poco excesivo para el simple requisito de "reproducir este sonido", pero proporciona un gran conjunto de características que está bien probado en todo tipo de plataformas.
Realmente me gusta OpenAL como una biblioteca de audio multiplataforma. La API tiene un nivel un poco bajo, pero puede incluirla fácilmente en una interfaz más amigable para el motor. Es verdaderamente multiplataforma con soporte de primera clase para: iPhone, Android, MacOSX, Windows y Linux.
Echa un vistazo al código de sonido de Djinn Engine . Dos archivos, quizás 300 líneas entre ellos (contando comentarios, etc.) y obtendrá un sistema de sonido viable.
Nunca he creado un juego centrado en audio, por lo que OpenAL podría no cumplir con los requisitos si se necesita un control extremo.
Si FMOD no es una opción, entonces Audiere es una buena alternativa de código abierto. No se ha actualizado en mucho tiempo, pero es multiplataforma, fácil de usar y tiene un buen conjunto de características .
Además de FMOD, hay Audiokinetic Wwise , que se usa cada vez más en la industria de los juegos como una herramienta profesional de diseño de sonido multiplataforma y API. Tiene una gran selección de efectos (incluida la reverb de convolución), sistema de lógica de sonido complejo, capas de sonido, creación de perfiles, herramientas de música interactivas, etc. Proporciona una buena selección de algoritmos de decodificación y también es gratuito para proyectos no comerciales.
El motor Kowalski es una biblioteca de audio multiplataforma basada en datos lanzada bajo la licencia zlib.
libsoundio es de bajo nivel, pero es multiplataforma y se centra en la robustez. Es una capa mínima entre su juego y el backend de audio del sistema.