Skip to content

ManHinnn0509/mp3player.py

Repository files navigation

mp3player.py

MP3 Player with Tkinter and Pygame in Python

This is created for fun. Also because all the .mp3 players I have has the same issue, high CPU and RAM usage.

So I decided to create my own so that I can listen to music while I'm gaming without lag

P.S: I'm not professional with Tkinter / Pygame. And I'm bad at UI designing :P

Demo (Images)

Outdated images, will be updated soon

Default

dafault

Playing

playing

Setup

Create a .env file and put the path to the .mp3 files directory into it. Like this:

MP3_FOLDER_PATH=THE_PATH/TO/THE/MP3_FILES/DIRECTORY
THEME_JSON_FILE_NAME=default.json

Requirements

See requirements.txt

To start the player

Actually just run python main.py will do the job

I added .bat file for quick restart which is for debugging and developing

Functions

Songs list

Volume control

  • From 0 ~ 100
  • Located in the right bottom corner

Previous / Next button

  • Click to play previous / next song

Pause / resume button

  • Pause / resume playing

Loop enabling / disabling button

  • You can enable / disable looping anytime you want

Time position control

  • Located in the middle (bottom)
  • You can drag it to control time position
  • Displays current time position & song length

Lyrics display

Play random song

  • Click to select and play a random song from song list

Theme

Themes were added in this update, you can also create your own theme. Copy the default.json (It's basically a template) located in themes and rename it, edit the color values inside it and change the value of THEME_JSON_FILE_NAME in .env file.

To apply the updated colors, simply restart the player will do the job.

LRC Creator / Editor

I tried this editor and it's easy to use and works like a charm

Planned

Known issues

  • Might unable to load some .mp3 files (Due to encoding issue?)
  • See Issues