Channels can be paused, resumed, stopped...

This commit is contained in:
2021-02-04 17:01:00 +01:00
parent 55c9a0ddba
commit 0b9b2eb511
3 changed files with 109 additions and 80 deletions

View File

@@ -13,6 +13,7 @@ int main(int argc, char **argv) {
JA_Music music = JA_LoadMusic("intro2.ogg");
JA_Sound peiv = JA_LoadSound("menu_select.wav");
int channel = -1;
JA_PlayMusic(music, true);
@@ -21,12 +22,25 @@ int main(int argc, char **argv) {
while(SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT) { should_exit = true; break; }
if (event.type == SDL_KEYDOWN) {
JA_PlaySound(peiv, 2);
if (JA_IsMusicPlaying())
JA_PauseMusic();
else
{
JA_ResumeMusic();
switch (event.key.keysym.scancode) {
case SDL_SCANCODE_1: // Si pulsem la tecla '1' pausem o despausem la música
if (JA_IsMusicPlaying()) { JA_PauseMusic(); } else { JA_ResumeMusic(); }
break;
case SDL_SCANCODE_2: // Si pulsem la tecla '2' sona el wav 1 vegada
JA_PlaySound(peiv);
break;
case SDL_SCANCODE_3: // Si pulsem la tecla '3' sona el wav 3 vegades
JA_PlaySound(peiv, 2);
break;
case SDL_SCANCODE_4: // Si pulsem la tecla '4' sona el wav infinitament
channel = JA_PlaySound(peiv, -1);
break;
case SDL_SCANCODE_5: // Si pulsem la tecla '5' pausem o despausem el wav que sonaba infinitament
if (JA_IsChannelPlaying(channel)) { JA_PauseChannel(channel); } else { JA_ResumeChannel(channel); }
break;
case SDL_SCANCODE_6: // Si pulsem la tecla '6' stopem definitivament el wav infinit
JA_StopChannel(channel);
break;
}
}