diff --git a/scripts/Music Player/README.md b/scripts/Music Player/README.md new file mode 100644 index 0000000..21f3790 --- /dev/null +++ b/scripts/Music Player/README.md @@ -0,0 +1,8 @@ +This is a music player GUI where two GUI libraries are used: + +- Pygame +- Tkinter + +It has functions such as play, stop, pause and resume in order to control the music player. + +To create a music player with Python, we will be using the **Pygame** sound component and _askdirectory()_ method of Tkinter diff --git a/scripts/Music Player/music-player.py b/scripts/Music Player/music-player.py new file mode 100644 index 0000000..3eb6fa2 --- /dev/null +++ b/scripts/Music Player/music-player.py @@ -0,0 +1,45 @@ +import pygame +import tkinter as tkr +from tkinter.filedialog import askdirectory +import os + +music_player = tkr.Tk() +music_player.title("My Music Player") +music_player.geometry("450x350") +directory = askdirectory() +os.chdir(directory) +song_list = os.listdir() + +play_list = tkr.Listbox(music_player, font="Helvetica 12 bold", bg='yellow', selectmode=tkr.SINGLE) +for item in song_list: + pos = 0 + play_list.insert(pos, item) + pos += 1 +pygame.init() +pygame.mixer.init() + +def play(): + pygame.mixer.music.load(play_list.get(tkr.ACTIVE)) + var.set(play_list.get(tkr.ACTIVE)) + pygame.mixer.music.play() +def stop(): + pygame.mixer.music.stop() +def pause(): + pygame.mixer.music.pause() +def unpause(): + pygame.mixer.music.unpause() +Button1 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="PLAY", command=play, bg="blue", fg="white") +Button2 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="STOP", command=stop, bg="red", fg="white") +Button3 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="PAUSE", command=pause, bg="purple", fg="white") +Button4 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="UNPAUSE", command=unpause, bg="orange", fg="white") + +var = tkr.StringVar() +song_title = tkr.Label(music_player, font="Helvetica 12 bold", textvariable=var) + +song_title.pack() +Button1.pack(fill="x") +Button2.pack(fill="x") +Button3.pack(fill="x") +Button4.pack(fill="x") +play_list.pack(fill="both", expand="yes") +music_player.mainloop() diff --git a/scripts/Music Player/requirements.txt b/scripts/Music Player/requirements.txt new file mode 100644 index 0000000..d6ffd30 --- /dev/null +++ b/scripts/Music Player/requirements.txt @@ -0,0 +1,2 @@ +pygame +tkinter \ No newline at end of file