[PA_Libs]Una solucion que me va muy bien para el sonido...

Pues vereis, si recordais el topic que cree preguntando si las PA_Libs cargaban otros formatos de sonido aparte del .mod, ya que este era un formato de muy mala calidad, he descubierto una forma de cargar los archivos .raw (como respuesta de un usuario que me respondio en mi topic, creo que fue Yaw), que seguramente ya sepaias.

Bien, pues tenemos nuestro programa, no?... incluimos el archivo de musica (ojo, aqui usare un .raw) y todas esas cosas.

Aqui viene lo nuevo (por lo menos para mi xD):

//Iniciamos el sonido:
PA_InitSound();

//y cargamos el sonido
PA_PlaySound(0, yuffie_raw, yuffie_raw_size, 127, 11000);


Como veis el primer parametro indica el canal, luego el fichero a reproducir que incluimos, luego la longitud del sonido, el volumen, y por ultimo, la velocidad en Hz. Pues bien, yo aqui puse 11000, porque es la velocidad original de la cancion. Podeis probar otros valores, hasta ver que tal os queda.

Bien, lo que yo hacia mal, es que en vez de utilizar la funcion PA_PlaySound(...), utilizaba la funcion PA_PlaySimpleSound(...), que por defecto le agrega una velocidad de muestreo en Hz que desconozco, y por lo tanto se oia la cancion al final muy, pero que muy lenta.

Bueno pues eso es lo que he conseguido al final de 4 dias atascado por el sonido [sonrisa].

Pues esto era solo para decirlo, ya que a lo mejor hay gente que se pierde en el sonido... pues solo tienen que leerse esto xD.

Bueno, pues ahora lo que espero es a ver si algun alma caritativa me dice como hacer para que cuando la cancion se acabe, que esta se vuelva a reproducir alutomaticamente...

Bueno (otra vez xD) espero que os halla ayudado algo esto que he escrito. Venga adios!

PD: No contesto en el hilo que cree ni en el de N3TK4T, porque los ultimos mensajes que hay son mios, por lo que no puedo postear.

PD2: Anda que no me enrollo cuando escribo [poraki].
Pues eso es lo que decía yo [poraki]

De todas formas, en la documentación de las PAlib viene todo bien detallado, incluso hay más funciones para elegir el modo de reproducción (repeat) y alguna cosilla más.

[url="http://www.palib.info/Doc/PAlibDoc%20Eng/group___sound_a_r_m9.html"]Mírate esto[/url]

Para hacer que se repita la canción debes usar esta función:

PA_PlaySoundEx2 (u8 PA_Channel, const void *data, s32 length, u8 volume, int freq, s16 format, BOOL repeat, int repeatPoint)

Lo del format no me acuerdo que era, pero yo tengo puesto 0 en un programa y funciona, para que se repita por un 1 en el bool repeat y en el repeatPoint había que hacer una función para calcularlo, pero de todas formas, pongas lo que pongas creo que suena bien :)
Pues mira que fue ahi donde estuve mirando lo del sonido pero como no me quedo claro lo de format, pues la deje y me fui a la otra que no tiene ese parametro ^^

Bueno muchas gracias. Ya probare esa funcion a ver que tal. Adios!
Pero el raw, es mejor utilizarlo para sonidos pekeños, ya que utiliza mucha memoria
3 respuestas