diff --git a/src/stribun.c b/src/stribun.c index f99c0a4..77fe1de 100644 --- a/src/stribun.c +++ b/src/stribun.c @@ -4361,8 +4361,28 @@ void renderMainMenu(void) { } void updateMainMenuMusic(void) { - if (!IsMusicStreamPlaying(mainMenuMusic)) { - PlayMusicStream(mainMenuMusic); + bool pauseMusic = false; + +#ifdef PLATFORM_DESKTOP + + if (!IsWindowFocused() || IsWindowHidden()) { + pauseMusic = true; + } + +#endif + + if (!IsCursorHidden()) { + pauseMusic = true; + } + + if (pauseMusic) { + PauseMusicStream(mainMenuMusic); + } else { + ResumeMusicStream(mainMenuMusic); + + if (!IsMusicStreamPlaying(mainMenuMusic)) { + PlayMusicStream(mainMenuMusic); + } } UpdateMusicStream(mainMenuMusic);