diff --git a/sounds/rock-cinematic-161648.wav b/sounds/rock-cinematic-161648.wav new file mode 100644 index 0000000..a9d008a Binary files /dev/null and b/sounds/rock-cinematic-161648.wav differ diff --git a/src/menu.c b/src/menu.c index a80ce9e..a3f27f9 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1,5 +1,6 @@ #include "menu.h" #include "game.h" +#include void showStartScreen(){ @@ -8,7 +9,37 @@ void showStartScreen(){ } void showLeaderboard(){ + game.gameState = EXIT; + +//____________Ton abspielen_________________ + + // Lade die Audiodatei + SDL_AudioSpec wavSpec; + Uint32 wavLength; + Uint8 *wavBuffer; + + //Prüfung, ob Datei geladen wurde + if (SDL_LoadWAV("../sounds/rock-cinematic-161648.wav", &wavSpec, &wavBuffer, &wavLength) == NULL) { + printf("Die Audiodatei konnte nicht geladen werden: %s\n", SDL_GetError()); + return; + } + + // Spiel die Audiodatei ab + SDL_AudioDeviceID deviceId = SDL_OpenAudioDevice(NULL, 0, &wavSpec, NULL, 0); + SDL_QueueAudio(deviceId, wavBuffer, wavLength); + SDL_PauseAudioDevice(deviceId, 0); + printf("Audiodatei wird abgespielt"); + + // Warte, bis die Wiedergabe abgeschlossen ist + while (SDL_GetQueuedAudioSize(deviceId) > 0) { + SDL_Delay(100); + } + + // Aufräumen + SDL_CloseAudioDevice(deviceId); + SDL_FreeWAV(wavBuffer); + return; }