Autor Tema: BUG sonidos wav  (Leído 3022 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado fulgorelizz

  • Sr. Member
  • ****
  • Mensajes: 307
  • Karma: 7
  • Sexo: Masculino
  • Pb Games (Fulgorelizz)
    • Ver Perfil
BUG sonidos wav
« en: Febrero 19, 2013, 06:51:52 am »
 ;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

Código: [Seleccionar]
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

Código: [Seleccionar]
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...

Conectado panreyes

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 1974
  • Karma: 62
  • Sexo: Masculino
    • Ver Perfil
    • panreyes.com
Re:BUG sonidos wav
« Respuesta #1 en: Febrero 19, 2013, 07:25:33 am »
¿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.



Código: [Seleccionar]
sonido=load_wav("sonido.wav");
canal=play_wav(sonido,0);
if(is_playing_wav(canal))
 stop_wav(canal);
 canal=play_wav(sonido,0);
end




Conectado FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5526
  • Karma: 125
  • Sexo: Masculino
    • Ver Perfil
    • GECA soft
Re:BUG sonidos wav
« Respuesta #2 en: Febrero 19, 2013, 07:28:10 am »
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.
 
 
 
 

Desconectado fulgorelizz

  • Sr. Member
  • ****
  • Mensajes: 307
  • Karma: 7
  • Sexo: Masculino
  • Pb Games (Fulgorelizz)
    • Ver Perfil
Re:BUG sonidos wav
« Respuesta #3 en: Febrero 19, 2013, 10:11:46 am »
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...