Last modified: Jan 08, 2025 By Alexander Williams

Python Pygame Mixer Music Play Guide

Pygame is a popular library for game development in Python. It includes a module called pygame.mixer for handling audio. This guide focuses on playing music using Pygame Mixer.

Setting Up Pygame Mixer

Before playing music, you need to initialize the Pygame mixer. Use the pygame.mixer.init() function to set it up. This prepares the audio system for playback.


import pygame

# Initialize Pygame and the mixer
pygame.init()
pygame.mixer.init()
    

Loading Music Files

To play music, you must first load a music file. Use the pygame.mixer.music.load() function. Supported formats include MP3, WAV, and OGG. For more details, check our Python Pygame Mixer Music Load Guide.


# Load a music file
pygame.mixer.music.load('background_music.mp3')
    

Playing Music

Once the music is loaded, use the pygame.mixer.music.play() function to start playback. You can specify the number of loops or set it to play indefinitely.


# Play the music
pygame.mixer.music.play(loops=-1)  # -1 means loop indefinitely
    

Controlling Music Playback

Pygame Mixer provides functions to control playback. Use pygame.mixer.music.pause() to pause and pygame.mixer.music.unpause() to resume. You can also stop playback with pygame.mixer.music.stop().


# Pause the music
pygame.mixer.music.pause()

# Unpause the music
pygame.mixer.music.unpause()

# Stop the music
pygame.mixer.music.stop()
    

Adjusting Volume

You can control the volume of the music using pygame.mixer.music.set_volume(). The volume ranges from 0.0 (silent) to 1.0 (full volume).


# Set volume to 50%
pygame.mixer.music.set_volume(0.5)
    

Example: Playing Background Music

Here’s a complete example of loading and playing background music in a Pygame application.


import pygame

# Initialize Pygame and the mixer
pygame.init()
pygame.mixer.init()

# Load and play background music
pygame.mixer.music.load('background_music.mp3')
pygame.mixer.music.play(loops=-1)

# Main game loop
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

# Quit Pygame
pygame.quit()
    

Conclusion

Playing music in Pygame is straightforward with the pygame.mixer.music module. You can load, play, pause, and control volume easily. For more advanced audio handling, explore our Python Pygame Mixer Sound Guide.