Quick answer: Pygame.mixer.music using a dedicated channel; high-priority sounds not preempting it? Music isn't on a normal channel; preemption logic differs.

UI click sound should duck music; music keeps playing.

Manage music as Sound

Load music as Sound; play on a reserved channel. Standard preemption rules apply.

Or duck via volume

Music volume lowered when UI plays; restored after. Less precise; works.

Audit music vs sound

Each audio asset: which channel system. Pick deliberately.

“Music channel is separate from Sound channels. Different rules.”

If your audio has ducking, decide whether to use the music channel. Each path has trade-offs.

Related reading