Creating A Basic Command Line Music Player In Python

Playing Tunes with Python: A Command Line Music Player Tutorial

Python is a versatile programming language that allows developers to create a wide range of applications, including multimedia players. In this article, we’ll walk through the process of creating a simple music player using Python and the pygame library. pygame is well-suited for multimedia applications, making it an excellent choice for this project.

music-player_ezWeC3dG_182811642519450516.jpg

Prerequisites

Before we dive into the code, ensure you have Python installed on your system. We’ll also need the pygame library, which can be installed using pip3. Open your terminal and run the following command:

pip3 install pygame

Step-by-Step Guide to Creating the Music Player

1. Initialize Pygame Mixer

First, we need to import pygame and initialize its mixer component, which is responsible for handling audio playback:

import pygame
import time

# Initialize Pygame mixer
pygame.mixer.init()

2. Define Music Player Functions

Next, we’ll define functions to load and play music, stop playback, pause, and unpause the music:

# Function to load and play music
def play_music(file):
    try:
        pygame.mixer.music.load(file)
        pygame.mixer.music.play()
    except pygame.error as e:
        print(f"Error loading {file}: {e}")

# Function to stop music
def stop_music():
    pygame.mixer.music.stop()

# Function to pause music
def pause_music():
    pygame.mixer.music.pause()

# Function to unpause music
def unpause_music():
    pygame.mixer.music.unpause()

3. Create the Main Function

The main function will provide a simple command-line interface to interact with the music player. It will allow users to input commands to play, stop, pause, unpause, or quit the player:

def main():
    print("Simple Music Player")
    print("Commands: play <filename>, stop, pause, unpause, quit")
    
    while True:
        command = input("Enter command: ").strip().lower()
        if command.startswith("play"):
            _, file = command.split(maxsplit=1)
            play_music(file)
        elif command == "stop":
            stop_music()
        elif command == "pause":
            pause_music()
        elif command == "unpause":
            unpause_music()
        elif command == "quit":
            stop_music()
            break
        else:
            print("Unknown command")

if __name__ == "__main__":
    main()

Running the Music Player

  1. Save the script to a file, for example, music_player.py.
  2. Run the script from the terminal:
python3 music_player.py
  1. Use the following commands to control the music player:
    • play <filename>: Replace <filename> with the path to your music file.
    • stop: Stops the music.
    • pause: Pauses the music.
    • unpause: Resumes the paused music.
    • quit: Exits the music player.

Conclusion

This simple music player demonstrates how to use Python and pygame to handle basic audio playback. While this example covers fundamental functionalities, you can extend it with additional features, such as creating a graphical user interface (GUI) using libraries like tkinter or adding support for playlists. Experiment with the code and explore the capabilities of pygame to create a more robust music player.

Happy coding!

Tags
comments powered by Disqus