BUG sonidos wav

Started by fulgorelizz, February 19, 2013, 02:51:52 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

fulgorelizz

 ;D saludos, soy yo otra vez!!! chicos, tengo un problemilla, usa win 7 64 bits, hasta ahora todo bien con bennu, pero en win xp y 7 64bits he presentado una falla con dos funciones de la mod_sound, is_playing_wav y stop_wav, a lo que he tenido que sustituir por una rutina que parece inadecuada pero que por ahora solventa!! ... resulta que mi programa se paraliza cuando se ejecutan dichas funciones, EL PROGRAMA deja de funcionar o se cae la ejecucion, uso las siguientes lineas


if( is_playing_wav(misonido) )
stop_wav(misonido);
play_wav(misonido,0);
end


he probado por separado is_playing_wav y stop_wav y el resultado es el mismo!! se cae la ejecucion o el programa del juego deja de funcionar, esta rutina normalmente la uso para no sobrecargar los canales de sonido del juego, para el caso de explosiones, disparos, etc, pero ha dejado de funcionar hace ya bastante tiempo, queria saber si habia alguna modificacion sobre estas funciones o como solventar el problema!! de ante mano muchisimas gracias!!

la rutina reciente es esta


global int sonido1=0; //esta linea obviamente va en el programa principal

//el codigo generico al anterior
if(sonido1==0)
sonido1 = load_wav("archivo.wav");
else
unload_wav(sonido1);//detengo el sonido
sonido1 = load_wav("archivo.wav");
end

play_wav(sonido1,0);

Compiling code -- generating exe...

panreyes

¿Por qué asumes que es un bug y no un problema de tu programación?


Estás confundiendo el identificador del recurso previamente cargado en memoria con el canal de sonido.




sonido=load_wav("sonido.wav");
canal=play_wav(sonido,0);
if(is_playing_wav(canal))
stop_wav(canal);
canal=play_wav(sonido,0);
end





FreeYourMind

creo que estas usando mal las funciones, el primer trozo de codigo lo metes en un loop ?

el play_wav, load y unload no pueden estar dentro de loops para empezar, tampoco entiendo muy bien que pretendes,

en tu primer codigo estas parando el sonido si este esta tocando y despues lo pones de nuevo tocando...

para parar un sonido no hagas unload_wav y de seguida load_wav...

haces stop_wav o stop_sound (no me acuerdo xD), porque estas descargando algo que esta en uso. sólo descargas sonidos cuando ya no lo vas a poner a tocar de nuevo durante el juego, o si necesitas memoria para ejecutar el juego, cosa que en pc dudo mucho que necesites descargar lo que sea hasta que termine el juego.




fulgorelizz

excelente!! tengop claro ahora como usarlo!!  8) siento que los amo!! jajajaja super gracias, bueno la logica no estaba del todo mal!! pero tengo claro que es un canal en bennugd y que un identificador de sonido!! de verdad muchiiiiiisimas gracias!! depurare el codigo, porque de verdad eso de cargar y descargar no me estaba funcionando xD KARMA++
Compiling code -- generating exe...