Anuncios Google

Dudas con el sonido

La cosa es que con las nuevas palib no ai ningun tutorial de sonido que me sirva para lo que quiero hacer. Si alguien supiera como puedo hacerlo, porfavor, que me lo diga

Lo que quiero hacer esque al pulsar con el stylus se reproduzca el sonido y al pulsar B se pare.

Este es el código:

 

// Includes
#include <PA9.h>
 
// Include the sound
#include "music.h"
 
int main(int argc, char** argv)
{
	// PALib Initialization
	PA_Init();
	PA_InitVBL();
	PA_InitText(0, 0);
 
	// Init AS_Lib for normal sound playback only
	AS_Init(AS_MODE_SURROUND | AS_MODE_16CH);
 
 
	// Display info text
	PA_OutputText(0, 1, 1, "Simple sound playback example\n\nUse A to start the sound");
 
	// Infinite loop to keep the program running
	while (1)
	{
 
if (Stylus.Newpress) PA_PlaySimpleSound(music);
 
if (Pad.Newpress.B)//Si pulsamos B...
{
PA_StopSound(//...paramos el sonido...
1); //...que se reproduce en el canal 0
}
        PA_WaitForVBL();
    }
 
	return 0;
}

 Lo he probado poniendolo en el canal 0 pero nada.

Tambien tengo otro problema. Si pongo que solo en el codigo que al pulsar stylus se reproduzca el sonido pero si pulso varias veces con el stylus se reproduce el mismo sonido varias veces y es muy incomodo

Espero que alguien sepa como poder resolver mi problema.

Gracias adelantadas.

Salu2

 

 


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Disgepia

Para empezar

parece que estas incluyendo una función de "ASlib", pero no has incluido la libreria! yo nunca me he metido en esa, pero se manejar muy bien el sonido en PAlib, tanto raw como mod, te recomiendo que te leas este tuto, y si despues de leerlo varias veces y comprenderlo sigues con problemas, solo dilo ;)


Imagen de Edunesp

Lo unico que quiero es saber

Lo unico que quiero es saber como puedo parar el sonido.

salu2

Imagen de The Dark Master

Aja...

Es facil, te dare una accion para hacer eso.

void StopSound(){

u8 canal =0;

while(canal < 15){

AS_StopSound(canal);

canal +=1;

}

}

Declaro arriba junto a las demas funciones, por si no lo sabes es void StopSound();

Luego pones la estructura donde mejor te guste xD, y para usarla solo pones StopSound();

Espero que no tengas dudas, te lo he dejado facilisimo.

Salu2


Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.