Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problemas de efectos en DirectSound con algunos WAV

Iniciado por [EX3], 02 de Noviembre de 2007, 10:17:29 AM

« anterior - próximo »

[EX3]

Wenas.

Cerrando el tema de mi libreria para sacar la ultima version (que ya va siendo hora) estaba retomando una idea que deje en el tintero por si algun dia me decidia a implementarlo. El tema es que queria implementar soporte de efectos en la clase de audio de la dx_li32, de forma sencilla sin mucha miga de configuracion de parametros, configuraciones preestablecidas por decirlo de alguna forma, que para 2D yo creo que sobran complicaciones. Hasta ahi sin problemas. Mi duda viene por pequeñas diferencias que he encontrado realizando pruebas con varios archivos de sonido. De varios archivos que usaba para las pruebas algunos no aplicaban los efectos que les configuraba. Generalmente eran archivos de baja calidad (varios WAV del Quake2 y Half-Life, 22050hz, mono, 8 bits creo). Mi pregunta pues, ¿hay requisitos concretos para poder aplicar efectos a un archivo WAV corriente, si ha de ser de 44100hz, estereo, 16 bits, etc...? De venir los tiros por aqui, DirectSound permite convertir al vuelo los WAV al cargarlos en los buffers? algo similar a cuando cargas una imagen de 16 bits como textura de 32 bits en Direct3D?

Salu2...

P.D.: Asi de primeras en una ojeada rapida, buscando por google, en sitios dedicados al desarrollo con DirectX e incluso la documentacion de la MSDN, no he visto nada sobre especificaciones del formato para aplicar efectos.
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

synchrnzr

Para aplicar efectos hay mucha letra pequeña, si te miras bien la documentación del SDK. La más inadvertida es que los buffers tienen que tener un tamaño mínimo, de lo contrario no se aplcian. La solución más fácil es rellenar con silencio el final del buffer para que tengan la longitud mínima.

sync

[EX3]

Al final lo solucione cambiando simplemente a 16 bits la calidad del sonido, respetando el canal mono y los 22050 hz y ha funcionado, ahora se aplican el resto de efectos. Antes probe como sugerias lo de asignar un tamaño al buffer de sonido y tambien a añadir silencio al archivo y no funciono :? Lo que si he visto es que tendre que añadir silencio igualmente en los archivos de sonido para que no se corte en seco y antes de tiempo algunos residuos de los efectos como los ecos o reverberencias.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.