Profitați de puterea Python și construiți-vă propriul player de muzică folosind modulele PyGame și Tkinter.
Playerele muzicale au evoluat rapid cu timpul. A început cu gramofoane, tonomate, CD playere și MP3 playere. Astăzi, puteți asculta muzică pe mobil sau pe computer. Explorând chiar acest concept, dezvoltați o aplicație de redare muzicală folosind Python și dezactivați-o.
Modulul Tkinter, PyGame și OS
Pentru a construi playerul muzical, aveți nevoie de Tkinter, PyGame și modulul OS. Tkinter este biblioteca standard GUI pentru Python pe care o puteți folosi pentru a crea aplicații desktop. Oferă o varietate de widget-uri, cum ar fi butoane, etichete și casete de text, astfel încât să puteți dezvolta aplicații în cel mai scurt timp. Pentru a instala Tkinter, deschideți un terminal și executați:
pip install tkinter
Folosind PyGame, puteți dezvolta jocuri video uimitoare care pot rula pe orice platformă. Este simplu de utilizat și vine cu biblioteci grafice și de sunet pentru a accelera procesul de dezvoltare. Veți folosi PyGame's
mixer.muzică modul pentru a oferi diverse funcționalități playerului dvs. de muzică. Pentru a instala PyGame, executați:pip install pygame
În sfârșit, ai nevoie modulul OS pentru a încărca melodiile în sistemul dvs. Modulul OS vine cu biblioteca standard de Python și nu are nevoie de o instalare separată. Cu acest modul, puteți accesa funcții specifice sistemului pentru a vă ocupa de sistemul dvs. de operare.
Cum să construiți un player muzical folosind Python
Puteți găsi codul sursă al aplicației Music Player folosind Python aici Depozitul GitHub.
Începeți prin a importa modulele Tkinter, PyGame și OS. Definiți o clasă, MusicPlayer. Definiți __init__ constructor pe care programul îl apelează în momentul creării obiectului. Puteți folosi instanța de sine pentru a accesa orice variabile sau metode din cadrul clasei.
Inițializați fereastra rădăcină și setați titlul și dimensiunile playerului dvs. muzical. Inițializați toate modulele PyGame importate împreună cu modulul mixer. Setați urmărirea și starea să fie de StringVar tip. Folosind aceasta, puteți seta o valoare de text și o puteți prelua atunci când este necesar.
din tkinter import *
import pygame
import osclasăMusicPlayer:
def__init__(sine, rădăcină):
self.root = rădăcină
self.root.title(„Player de muzică”)
self.root.geometry(„1000x200”)
pygame.init()
pygame.mixer.init()
self.track = StringVar()
self.status = StringVar()
Definiți a LabelFrame care va contine melodie eticheta si trackstatus eticheta. Labelframe acționează ca un container și afișează etichetele în interiorul unei zone de margine. Setați fereastra părinte în care doriți să plasați cadrul, textul pe care ar trebui să-l afișeze, stilurile de font, culoarea de fundal, culoarea fontului, lățimea chenarului și efectele 3D în afara widgetului.
Folosește loc() metoda de organizare a cadrului. Definiți două etichete, piesa cântecului și trackstatus. Personalizați-le și utilizați grilă() manager pentru a le organiza în format de rânduri și coloane. Puteți seta melodia să fie prezentă în primul rând și să adăugați niște umplutură pentru a evita suprapunerea și pentru a face designul mai frumos.
trackframe = LabelFrame (self.root, text=„Piesă cântec”,font=("arial",15,"îndrăzneţ"),bg=„#8F00FF”,fg="alb",bd=5,relief=GROOVE)
trackframe.loc (x=0,y=0,latime=600,inaltime=100)
songtrack = Etichetă (trackframe, textvariable=self.track, width=20,font=("arial",24,"îndrăzneţ"),bg=„#8F00FF”,fg=„#B0FC38”).grilă (rând=0,coloană=0,padx=10,pady=5)
trackstatus = Etichetă (trackframe, textvariable=self.status, font=("arial",24,"îndrăzneţ"),bg=„#8F00FF”,fg=„#B0FC38”).grilă (rând=0,coloană=1,padx=10,pady=5)
În mod similar, definiți un cadru care va conține patru butoane. Personalizați-l și organizați-l sub cadrul de urmărire. Definiți patru butoane, Joaca, Pauză, Întrerupeți, și Stop. Setați fereastra părinte în care doriți să puneți butoanele, textul pe care ar trebui să-l afișeze, funcțiile acestuia ar trebui să se execute atunci când se dă clic, lățimea, înălțimea, stilul fontului, culoarea de fundal și culoarea fontului ar trebui sa aiba.
Folosește grilă() manager pentru a organiza butoanele pe un singur rând și patru coloane diferite.
buttonframe = LabelFrame (self.root, text="Panou de control",font=("arial",15,"îndrăzneţ"),bg=„#8F00FF”,fg="alb",bd=5,relief=GROOVE)
buton cadru.loc (x=0,y=100,latime=600,inaltime=100)
playbtn = Buton (buttonframe, text="JOACA",command=self.playsong, width=6,inaltime=1,font=("arial",16,"îndrăzneţ"),fg="albastru marin",bg=„#B0FC38”).grilă (rând=0,coloană=0,padx=10,pady=5)
playbtn = Buton (buttonframe, text="PAUZĂ",command=self.pausesong, width=8,inaltime=1,font=("arial",16,"îndrăzneţ"),fg="albastru marin",bg=„#B0FC38”).grilă (rând=0,coloană=1,padx=10,pady=5)
playbtn = Buton (buttonframe, text="INPAUZĂ",command=self.unpausesong, width=10,inaltime=1,font=("arial",16,"îndrăzneţ"),fg="albastru marin",bg=„#B0FC38”).grilă (rând=0,coloană=2,padx=10,pady=5)
playbtn = Buton (buttonframe, text="STOP",command=self.stopsong, width=6,inaltime=1,font=("arial",16,"îndrăzneţ"),fg="albastru marin",bg=„#B0FC38”).grilă (rând=0,coloană=3,padx=10,pady=5)
Definiți un LabelFrame, cadru cântec. Acesta va conține melodiile pe care doriți să le redați pe playerul dvs. de muzică. Personalizați proprietățile cadrului și plasați-l în partea dreaptă a pistei și a cadrului butonului. Adăugați o bară de defilare verticală pentru a accesa melodiile chiar și atunci când lista de melodii este lungă.
Folosește Listbox widget pentru a afișa melodiile. Setați culoarea de fundal pentru afișare atunci când selectați textul și modul. Modul unic vă permite să selectați o melodie la un moment dat. În plus, inițializați stilul fontului, culoarea de fundal, culoarea fontului, lățimea chenarului și stilul 3D pe care îl doriți în jurul acestuia.
songsframe = LabelFrame (self.root, text=„Lista de redare melodii”,font=("arial",15,"îndrăzneţ"),bg=„#8F00FF”,fg="alb",bd=5,relief=GROOVE)
songsframe.loc (x=600,y=0,latime=400,inaltime=200)
scroll_y = Scrollbar (songsframe, orient=VERTICAL)
self.playlist = Listbox (songsframe, yscrollcommand=scroll_y.set, selectbackground=„#B0FC38”,selectmode=SINGUL, font=("arial",12,"îndrăzneţ"),bg=„#CF9FFF”,fg="albastru marin",bd=5,relief=GROOVE)
Împachetați bara de derulare în partea dreaptă a ferestrei și completați-o ca Y. Acest lucru vă asigură că ori de câte ori extindeți fereastra, bara de derulare se extinde și în direcția Y. Configurați caseta listă pentru a utiliza yview metoda barei de derulare pentru a derula vertical. Împachetați caseta cu listă pentru a ocupa spațiul atât pe orizontală, cât și pe verticală.
Schimbați directorul de lucru curent la calea specificată. Repetați melodiile și introduceți-le în caseta de listă unul câte unul. Să utilizați Sfârşit ca prim argument pe măsură ce doriți să adăugați linii noi la sfârșitul casetei de listă.
scroll_y.pack (partea=dreapta, umplere=Y)
scroll_y.config (comandă=self.playlist.yview)
self.playlist.pack (fill=BOTH)
os.chdir(„Cale_spre_dosarul_melodiilor_voastre”)
melodii = os.listdir()
pentru urmări în melodii:
self.playlist.insert (END, piesa)
Definiți o funcție, cântec de joc. Setați piesa pentru a afișa numele melodiei împreună cu starea ca -Joc. Folosește sarcină() și Joaca() funcțiile modulului mixer.music de la PyGame pentru a încărca muzică pentru redare și a o porni.
defcântec de joc(de sine):
self.track.set (self.playlist.get (ACTIVE))
self.status.set("-Joc")
pygame.mixer.music.load (self.playlist.get (ACTIV))
pygame.mixer.music.play()
În mod similar, definiți funcții pentru a opri, întrerupe și reactiva melodiile utilizate Stop(), pauză(), și reîncepe ().
defoprește cântecul(de sine):
self.status.set("-Oprit")
pygame.mixer.music.stop()defpauză cântec(de sine):
self.status.set(„-Întrerupt”)
pygame.mixer.music.pause()
defreface cântecul(de sine):
self.status.set("-Joc")
pygame.mixer.music.unpause()
Inițializați instanța Tkinter și afișați fereastra rădăcină pasând-o clasei. The mainloop() funcția îi spune lui Python să ruleze bucla de evenimente Tkinter și să asculte evenimente până când închideți fereastra.
rădăcină = Tk()
MusicPlayer (rădăcină)
root.mainloop()
Puneți tot codul împreună și aveți playerul dvs. muzical gata de redat la îndemână. Vă puteți personaliza și mai mult playerul de muzică prin adăugarea de obiecte și forme folosind modulele de desen PyGame.
Ieșirea aplicației Music Player folosind Python
La rularea programului, playerul muzical lansează melodiile pe care le-ați selectat ca listă de redare. La alegerea oricăreia dintre melodii și lovirea pe Joaca butonul, muzica începe să fie redată. În mod similar, muzica întrerupe, întrerupe pauza și se oprește redarea cu un clic pe butoanele corespunzătoare.
Construire jocuri cu modulul PyGame
PyGame este un modul puternic pe care îl puteți folosi pentru a crea jocuri precum Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku și multe altele. PyGame are un design orientat pe obiecte, astfel încât să puteți reutiliza codurile și să personalizați cu ușurință personajele jocurilor dvs.
Suportă și oferă instrumente excelente de grafică, sunete, intrare și ieșire, astfel încât să vă puteți concentra pe proiectarea jocului, mai degrabă decât să vă investiți timpul în codificarea fiecărui minut. Alternativ, puteți explora Pyglet și Kivy, care sunt mai rapide, acceptă proiecte 3D, sunt mai intuitive și vine cu actualizări regulate.