PDA

Ver la versión completa : Sonido problemático con Ogg y SDL



time2sail
01/06/2006, 03:06
Hola amigos, he estado buscando por los foros, pero no sé si es el motor de búsqueda o soy yo, pero he sido incapaz de encontrar información sobre ésto por estos lares:

- Tengo problemas al reproducir un archivo .ogg con SDL en mi código (lo testeo en mi Gentoo o en Windows y no da problemas). El caso es que la música va aceleradísima en GP2X (y consume muchos recursos de la consola). He intentado hasta downsamplearla para ver si no sería un problema de aliasing (teorema de Nyquist) ... Pero el resultado ha sido el mismo.
Como ya os digo, suena perfectamente en Gentoo, o en Windows, no sé dónde debe estar el problema ... y llevo ya encallado bastante tiempo.


Estoy usando éste código para abrir y reproducir audio:




if (Mix_OpenAudio(MIX_DEFAULT_FREQUENCY,AUDIO_S16,MIX _DEFAULT_CHANNELS,4096)) {

printf("No es pot establir el mixer: %s\n",Mix_GetError() );
SDL_Quit();
exit(1);
}

atexit(Mix_CloseAudio);

// También he probado 22050 como parámetro de sample rate, pero el resultado es el mismo ...

if ( (sound = Mix_LoadMUS("music.ogg")) == NULL ) {
printf("No es pot carregar la música: %s\n",Mix_GetError());
SDL_Quit();
exit(1);
}

Mix_PlayMusic(sound,-1);



- Más información:
Estoy usando DevkitPro + SDL precompiladas por theOddBot.

¿ Tenéis alguna sugerencia ? Intuyo que es alguna parida que estoy haciendo o he pasado por alto ...

¡¡¡ Gracias por anticipado !!!

Eskema
01/06/2006, 04:13
En el poco tiempo q tuve la 2x, el sonido fue una de las cosas q mejor me funcionaba con esto



22050,MIX_DEFAULT_FORMAT,2,256))


Y con eso me iba de perlas, prueba a ver ;)

time2sail
01/06/2006, 04:34
En el poco tiempo q tuve la 2x, el sonido fue una de las cosas q mejor me funcionaba con esto



22050,MIX_DEFAULT_FORMAT,2,256))


Y con eso me iba de perlas, prueba a ver ;)

Hola !! Gracias por tu aportación, pero la verdad es que no me ha solucionado absolutamente nada ... O sea, sigue haciéndo lo mismo ... : [

¿ Recuerdas qué entorno de desarrollo estabas usando ? Quizá sea algo de las SDL_mixer y libogg precompiladas ...

Gracias!!!.

Uncanny
01/06/2006, 07:27
Bajate la librería (libmikmod.a) adjunta en este (http://www.gp32spain.com/foros/showthread.php?t=29300#4) post, sustituyela por la que tienes en tu toolchain (dentro del subdirectorio lib de tu toolchain) y prueba a recompilar tu programa, a ver si es por la librería MikMod que usas (si, ya se, no debería tener nada que ver los OGG con esta librería, pero prueba).

Respecto a las SDL, deberías actualizarte (http://www.gp32x.com/board/index.php?showtopic=23819&st=0) a las de paeryn, añaden algunas mejoras además de tener aceleración de video por hardware :)

time2sail
01/06/2006, 15:09
Bajate la librería (libmikmod.a) adjunta en este (http://www.gp32spain.com/foros/showthread.php?t=29300#4) post, sustituyela por la que tienes en tu toolchain (dentro del subdirectorio lib de tu toolchain) y prueba a recompilar tu programa, a ver si es por la librería MikMod que usas (si, ya se, no debería tener nada que ver los OGG con esta librería, pero prueba).

Respecto a las SDL, deberías actualizarte (http://www.gp32x.com/board/index.php?showtopic=23819&st=0) a las de paeryn, añaden algunas mejoras además de tener aceleración de video por hardware :)

Ésa es otra (lo del vídeo por hardware)... porque lo que es el "blitting" lo hace lentísimo ... ¿Tiene que ver con las SDL de theOddBot? Probaré en cuanto pueda de añadir estas librerias, y os cuento.

EDITADO:

P.D: ¿Alguien sería tan amable de pasarme la última versión de las SDL de paeryn precompiladas? libSDL-0225.tar.bz2 ,está el enlace en los foros de GP32X pero el archivo ya no se aloja en el servidor ...

También estaba pensando en usar algún nuevo toolchain y reconstruirlo todo, alguna sugerencia ???

¡¡¡ Muchísimas gracias !!!