Iskoristite snagu Pythona i izgradite vlastiti glazbeni player pomoću modula PyGame & Tkinter.

Glazbeni svirači brzo su se razvijali s vremenom. Počelo je s gramofonima, džuboksima, CD playerima i MP3 playerima. Danas glazbu možete slušati na svom mobitelu ili samom računalu. Istražujući upravo ovaj koncept, razvijte aplikaciju za reprodukciju glazbe koristeći Python i groove off.

Tkinter, PyGame i OS modul

Za izradu glazbenog playera potrebni su vam Tkinter, PyGame i OS modul. Tkinter je standardna GUI biblioteka za Python koju možete koristiti za izradu desktop aplikacija. Nudi razne widgete kao što su gumbi, oznake i tekstualni okviri tako da možete razvijati aplikacije u tren oka. Da biste instalirali Tkinter, otvorite terminal i izvršite:

pip instaliraj tkinter

Koristeći PyGame možete razviti nevjerojatne video igre koje se mogu izvoditi na bilo kojoj platformi. Jednostavan je za korištenje i dolazi s grafičkim i zvučnim bibliotekama kako bi vaš proces razvoja bio brži. Koristit ćete PyGame

instagram viewer
mikser.glazba modul za pružanje raznih funkcija vašem glazbenom playeru. Da biste instalirali PyGame, izvršite:

pip instaliraj pygame

Konačno, trebate OS modul za učitavanje pjesama u vaš sustav. OS modul dolazi sa standardnom bibliotekom Pythona i ne treba posebnu instalaciju. Pomoću ovog modula možete pristupiti funkcijama specifičnim za vaš operativni sustav.

Kako izgraditi glazbeni player koristeći Python

Ovdje možete pronaći izvorni kod aplikacije Music Player koja koristi Python GitHub spremište.

Započnite s uvozom modula Tkinter, PyGame i OS. Definirajte klasu, Glazbeni player. Definirajte __u tome__ konstruktor koji program poziva u trenutku kreiranja objekta. Možete koristiti instancu sebe za pristup bilo kojim varijablama ili metodama unutar klase.

Inicijalizirajte korijenski prozor i postavite naslov i dimenzije vašeg glazbenog playera. Inicijalizirajte sve uvezene PyGame module zajedno s modulom miksera. Postavite stazu i status da bude od StringVar tip. Koristeći ovo, možete postaviti tekstualnu vrijednost i dohvatiti je kada je potrebno.

iz tkinter uvoz *
uvoz pygame
uvoz os

razredaGlazbeni player:

def__u tome__(ja, korijen):
self.root = korijen
self.root.title("Glazbeni player")
self.root.geometry("1000x200")
pygame.init()
pygame.mixer.init()
self.track = StringVar()
self.status = StringVar()

Definirajte a LabelFrame koji će sadržavati zapis pjesme oznaka i trackstatus označiti. Labelframe djeluje kao spremnik i prikazuje oznake unutar rubnog područja. Postavite nadređeni prozor u koji želite postaviti okvir, tekst koji bi trebao prikazati, stilove fonta, boju pozadine, boju fonta, širinu obruba i 3D efekte izvan widgeta.

Koristiti mjesto() način organiziranja okvira. Definirajte dvije oznake, skladba pjesme i trackstatus. Prilagodite ih i koristite rešetka() upravitelja da ih organizira u obliku redaka i stupaca. Možete postaviti da pjesma bude prisutna u prvom redu i dodati malo ispune kako biste izbjegli preklapanje i učinili dizajn ljepšim.

 trackframe = LabelFrame (self.root, text="Pjesma",font=("arial",15,"podebljano"),bg="#8F00FF",fg="bijelo",bd=5,reljef=BROD)
trackframe.place (x=0,y=0,širina=600,visina=100)
songtrack = Oznaka (trackframe, textvariable=self.track, width=20,font=("arial",24,"podebljano"),bg="#8F00FF",fg="#B0FC38").mreža (red=0,stupac=0,padx=10,pady=5)
trackstatus = Oznaka (trackframe, textvariable=self.status, font=("arial",24,"podebljano"),bg="#8F00FF",fg="#B0FC38").mreža (red=0,stupac=1,padx=10,pady=5)

Slično, definirajte okvir koji će sadržavati četiri gumba. Prilagodite ga i organizirajte ispod okvira trake. Definirajte četiri gumba, igra, Pauza, Poništavanje pauze, i Stop. Postavite nadređeni prozor u koji želite staviti gumbe, tekst koji bi trebao prikazati, njegove funkcije treba izvršiti kada se klikne, širina, visina, stil fonta, boja pozadine i boja fonta trebao je.

Koristiti rešetka() upravitelja za organiziranje gumba u jednom redu i četiri različita stupca.

 buttonframe = LabelFrame (self.root, text="Upravljačka ploča",font=("arial",15,"podebljano"),bg="#8F00FF",fg="bijelo",bd=5,reljef=BROD)
buttonframe.place (x=0,y=100,širina=600,visina=100)
playbtn = Gumb (okvir gumba, tekst="IGRA",command=self.playsong, width=6,visina=1,font=("arial",16,"podebljano"),fg="mornarsko plava",bg="#B0FC38").mreža (red=0,stupac=0,padx=10,pady=5)
playbtn = Gumb (okvir gumba, tekst="PAUZA",command=self.pausesong, width=8,visina=1,font=("arial",16,"podebljano"),fg="mornarsko plava",bg="#B0FC38").mreža (red=0,stupac=1,padx=10,pady=5)
playbtn = Gumb (okvir gumba, tekst="OPOZAVI PAUZU",command=self.unpausesong, width=10,visina=1,font=("arial",16,"podebljano"),fg="mornarsko plava",bg="#B0FC38").mreža (red=0,stupac=2,padx=10,pady=5)
playbtn = Gumb (okvir gumba, tekst="STOP",command=self.stopsong, width=6,visina=1,font=("arial",16,"podebljano"),fg="mornarsko plava",bg="#B0FC38").mreža (red=0,stupac=3,padx=10,pady=5)

Definirajte LabelFrame, okvir pjesme. Ovo će sadržavati pjesme koje želite reproducirati na svom glazbenom playeru. Prilagodite svojstva okvira i postavite ga na desnu stranu okvira staze i gumba. Dodajte okomitu traku za pomicanje za pristup pjesmama čak i kada je popis pjesama dugačak.

Koristiti Popisni okvir widget za prikaz pjesama. Postavite boju pozadine za prikaz kada odaberete tekst i način. Pojedinačni način rada omogućuje odabir jedne po jedne pjesme. Osim toga, inicijalizirajte stil fonta, boju pozadine, boju fonta, širinu obruba i 3D stil koji želite oko toga.

 songsframe = LabelFrame (self.root, text="Popis pjesama",font=("arial",15,"podebljano"),bg="#8F00FF",fg="bijelo",bd=5,reljef=BROD)
okvir pjesme.mjesto (x=600,y=0,širina=400,visina=200)
scroll_y = Traka za pomicanje (okvir pjesme, orijentacija=OKIMITI)
self.playlist = Listbox (okvir pjesama, yscrollcommand=scroll_y.set, selectbackground="#B0FC38",selectmode=SINGLE, font=("arial",12,"podebljano"),bg="#CF9FFF",fg="mornarsko plava",bd=5,reljef=BROD)

Spakirajte traku za pomicanje na desnu stranu prozora i ispunite je kao Y. To osigurava da se klizna traka širi iu smjeru Y kad god proširite prozor. Konfigurirajte okvir s popisom za korištenje yview metodom trake za pomicanje za okomito pomicanje. Spakirajte okvir s popisom tako da zauzima prostor i vodoravno i okomito.

Promijenite trenutni radni direktorij u navedeni put. Iterirajte pjesme i umetnite ih u okvir s popisom jednu po jednu. Ti koristiš KRAJ kao prvi argument jer želite dodati nove retke na kraj okvira s popisom.

 scroll_y.pack (side=RIGHT, fill=Y)
scroll_y.config (naredba=self.playlist.yview)
self.playlist.pack (fill=BOTH)
os.chdir("Put_do_mape_vaših_pjesama")
pjesme = os.listdir()
za staza u pjesme:
self.playlist.insert (KRAJ, zapis)

Definirajte funkciju, igrana pjesma. Postavite pjesmu da prikazuje naziv pjesme zajedno sa statusom kao -Svirati. Koristiti opterećenje() i igra() funkcije PyGame mixer.music modula za učitavanje glazbe za reprodukciju i pokretanje.

defigrana pjesma(sebe):
self.track.set (self.playlist.get (AKTIVNO))
self.status.set("-Sviram")
pygame.mixer.music.load (self.playlist.get (AKTIVNO))
pygame.mixer.music.play()

Slično, definirajte funkcije za zaustavljanje, pauziranje i vraćanje pauziranja pjesama Stop(), pauza(), i poništi pauzu().

defzaustavna pjesma(sebe):
self.status.set("-Zaustavljeno")
pygame.mixer.music.stop()

defpauza u pjesmi(sebe):
self.status.set("-Pauzirano")
pygame.mixer.music.pause()

defunpausesong(sebe):
self.status.set("-Sviram")
pygame.mixer.music.unpause()

Inicijalizirajte Tkinter instancu i prikažite korijenski prozor prosljeđujući ga klasi. The glavna petlja() funkcija govori Pythonu da pokrene Tkinter petlju događaja i osluškuje događaje dok ne zatvorite prozor.

korijen = Tk()
MusicPlayer (root)
root.mainloop()

Sastavite sav kod i imate svoj glazbeni player spreman za reprodukciju na dohvat ruke. Svoj glazbeni player možete dodatno prilagoditi tako da dodavanje objekata i oblika pomoću PyGame modula za crtanje.

Izlaz aplikacije za reprodukciju glazbe pomoću Pythona

Prilikom pokretanja programa, glazbeni player pokreće pjesme koje ste odabrali kao popis za reprodukciju. Na odabir bilo koje od pjesama i udaranje na igra gumb, glazba počinje svirati. Slično, glazba se pauzira, ponovo pauzira i prestaje svirati klikom na odgovarajuće gumbe.

Izrada igara s PyGame modulom

PyGame je moćan modul koji možete koristiti za izradu igara kao što su Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku i više. PyGame ima objektno orijentiran dizajn, tako da možete ponovno koristiti kodove i jednostavno prilagoditi likove svojih igara.

Podržava i pruža izvrsnu grafiku, zvukove, alate za unos i izlaz, tako da se možete usredotočiti na dizajniranje svoje igre umjesto da ulažete svoje vrijeme u kodiranje svake pojedine značajke. Alternativno, možete istražiti Pyglet i Kivy koji su brži, podržavaju 3D projekte, intuitivniji su i dolaze s redovitim ažuriranjima.