Udnyt kraften i Python og byg din egen musikafspiller ved hjælp af PyGame & Tkinter-modulerne.

Musikafspillere har udviklet sig hurtigt med tiden. Det begyndte med grammofoner, jukebokse, cd-afspillere og mp3-afspillere. I dag kan du lytte til musik på din mobil eller selve computeren. Udforsk netop dette koncept, udvikle en musikafspillerapplikation ved hjælp af Python og groove off.

Tkinter-, PyGame- og OS-modulet

For at bygge musikafspilleren skal du bruge Tkinter, PyGame og OS-modulet. Tkinter er standard GUI-biblioteket til Python, du kan bruge til at oprette desktop-applikationer. Det tilbyder en række widgets som knapper, etiketter og tekstbokse, så du kan udvikle apps på ingen tid. For at installere Tkinter skal du åbne en terminal og udføre:

pip installer tkinter

Ved at bruge PyGame kan du udvikle fantastiske videospil, der kan køre på enhver platform. Det er nemt at bruge og leveres med grafik- og lydbiblioteker for at gøre din udviklingsproces hurtigere. Du vil bruge PyGame's mixer.musik

instagram viewer
modul til at levere forskellige funktioner til din musikafspiller. For at installere PyGame skal du udføre:

pip installer pygame

Endelig har du brug for OS-modulet for at indlæse sangene i dit system. OS-modulet leveres med Pythons standardbibliotek og behøver ikke en separat installation. Med dette modul kan du få adgang til systemspecifikke funktioner til at håndtere dit operativsystem.

Sådan bygger du en musikafspiller ved hjælp af Python

Du kan finde kildekoden til Music Player-applikationen ved hjælp af Python i denne GitHub-depot.

Begynd med at importere Tkinter-, PyGame- og OS-modulerne. Definer en klasse, Musik afspiller. Definer __i det__ konstruktør, som programmet kalder på tidspunktet for objektoprettelse. Du kan bruge eksempel selv for at få adgang til variabler eller metoder i klassen.

Initialiser rodvinduet, og indstil titlen og dimensionerne på din musikafspiller. Initialiser alle de importerede PyGame-moduler sammen med mixermodulet. Indstil spor og status til at være af StringVar type. Ved hjælp af dette kan du indstille en tekstværdi og hente den, når det er nødvendigt.

fra tkinter importere *
importere pygame
importere os

klasseMusik afspiller:

def__i det__(selv, rod):
self.root = rod
self.root.title("Musik afspiller")
self.root.geometry("1000x200")
pygame.init()
pygame.mixer.init()
self.track = StringVar()
self.status = StringVar()

Definer en LabelFrame der vil indeholde sangnummer etiketten og sporstatus etiket. Labelframe fungerer som en beholder og viser etiketterne inden for et kantområde. Indstil det overordnede vindue, du vil placere rammen i, den tekst, den skal vise, skrifttypestilene, baggrundsfarven, skrifttypefarven, kantbredden og 3D-effekterne uden for widgetten.

Brug placere() metode til at organisere rammen. Definer to etiketter, sangnummer og sporstatus. Tilpas dem og brug gitter() manager til at organisere dem i rækker og kolonner. Du kan indstille sangsporet til at være til stede i første række og tilføje noget polstring for at undgå overlapning og gøre designet smukkere.

 trackframe = LabelFrame (self.root, text="Sangspor",font=("arial",15,"fremhævet"),bg="#8F00FF",fg="hvid",bd=5,relief=GROOVE)
trackframe.place (x=0,y=0,bredde=600,højde=100)
sangspor = Label (trackframe, textvariable=self.track, width=20,font=("arial",24,"fremhævet"),bg="#8F00FF",fg="#B0FC38").gitter (række=0,kolonne=0,padx=10,pady=5)
trackstatus = Etiket (trackframe, textvariable=self.status, font=("arial",24,"fremhævet"),bg="#8F00FF",fg="#B0FC38").gitter (række=0,kolonne=1,padx=10,pady=5)

På samme måde skal du definere en ramme, der vil indeholde fire knapper. Tilpas og organiser det under sporrammen. Definer fire knapper, Spil, Pause, Sæt pause, og Hold op. Indstil det overordnede vindue, du vil placere knapperne i, teksten det skal vise, funktionerne det skal udføres, når der klikkes, bredden, højden, skrifttypestil, baggrundsfarve og skriftfarve den skulle have.

Brug gitter() manager til at organisere knapperne i en enkelt række og fire forskellige kolonner.

 buttonframe = LabelFrame (self.root, text="Kontrolpanel",font=("arial",15,"fremhævet"),bg="#8F00FF",fg="hvid",bd=5,relief=GROOVE)
buttonframe.place (x=0,y=100,bredde=600,højde=100)
playbtn = Knap (knapramme, tekst="SPIL",command=self.playsong, width=6,højde=1,font=("arial",16,"fremhævet"),fg="Marine blå",bg="#B0FC38").gitter (række=0,kolonne=0,padx=10,pady=5)
playbtn = Knap (knapramme, tekst="PAUSE",command=self.pausesong, width=8,højde=1,font=("arial",16,"fremhævet"),fg="Marine blå",bg="#B0FC38").gitter (række=0,kolonne=1,padx=10,pady=5)
playbtn = Knap (knapramme, tekst="UNPAUSE",command=self.unpausesong, width=10,højde=1,font=("arial",16,"fremhævet"),fg="Marine blå",bg="#B0FC38").gitter (række=0,kolonne=2,padx=10,pady=5)
playbtn = Knap (knapramme, tekst="HOLD OP",command=self.stopsong, width=6,højde=1,font=("arial",16,"fremhævet"),fg="Marine blå",bg="#B0FC38").gitter (række=0,kolonne=3,padx=10,pady=5)

Definer en LabelFrame, sangramme. Dette vil indeholde de sange, du vil afspille på din musikafspiller. Tilpas rammens egenskaber og placer den på højre side af sporet og knaprammen. Tilføj en lodret rullepanel for at få adgang til sangene, selv når din sangliste er lang.

Brug Listeboks widget til at vise sangene. Indstil den baggrundsfarve, der skal vises, når du vælger teksten, og indstillingen. Single-tilstanden giver dig mulighed for at vælge én sang ad gangen. Derudover skal du initialisere skrifttypestilen, baggrundsfarven, skrifttypefarven, kantbredden og den 3D-stil, du ønsker omkring den.

 songsframe = LabelFrame (self.root, text="Sangafspilningsliste",font=("arial",15,"fremhævet"),bg="#8F00FF",fg="hvid",bd=5,relief=GROOVE)
songsframe.place (x=600,y=0,bredde=400,højde=200)
scroll_y = Scrollbar (sangramme, orient=LODRET)
self.playlist = Listbox (songsframe, yscrollcommand=scroll_y.set, selectbackground="#B0FC38",selectmode=SINGLE, font=("arial",12,"fremhævet"),bg="#CF9FFF",fg="Marine blå",bd=5,relief=GROOVE)

Pak rullepanelet til højre i vinduet, og udfyld det som Y. Dette sikrer, at når du udvider vinduet, udvides rullebjælken også i Y-retningen. Konfigurer listeboksen til at bruge yview metode på rullepanelet til at rulle lodret. Pak listeboksen for at tage pladsen både vandret og lodret.

Skift den aktuelle arbejdsmappe til den angivne sti. Gentag sangene og indsæt dem i listeboksen én efter én. Du bruger ENDE som det første argument, da du vil tilføje nye linjer til slutningen af ​​listeboksen.

 scroll_y.pack (side=HØJRE, fill=Y)
scroll_y.config (command=self.playlist.yview)
self.playlist.pack (fill=BOTH)
os.chdir("Sti_til_dine_sange_mappe")
sangnumre = os.listdir()
til spore i sangnumre:
self.playlist.insert (SLUT, spor)

Definer en funktion, spillesang. Indstil sporet til at vise navnet på sangen sammen med status som - Spiller. Brug belastning() og Spil() funktioner i PyGames mixer.music-modul til at indlæse musik til afspilning og starte den.

defspillesang(selv):
self.track.set (self.playlist.get (ACTIVE))
self.status.set("-Spiller")
pygame.mixer.music.load (self.playlist.get (AKTIV))
pygame.mixer.music.play()

På samme måde definerer du funktioner til at stoppe, pause og genoptage sange ved hjælp af hold op(), pause(), og unpause().

defstopsang(selv):
self.status.set("-Holdt op")
pygame.mixer.music.stop()

defpausesang(selv):
self.status.set("-pause")
pygame.mixer.music.pause()

defpausesang(selv):
self.status.set("-Spiller")
pygame.mixer.music.unpause()

Initialiser Tkinter-forekomsten og vis rodvinduet ved at sende det til klassen. Det mainloop() funktion fortæller Python at køre Tkinter-hændelsesløkken og lytte efter hændelser, indtil du lukker vinduet.

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

Sæt al koden sammen, og du har din musikafspiller klar til at spille lige ved hånden. Du kan tilpasse din musikafspiller endnu mere ved tilføje objekter og former ved hjælp af PyGames tegnemoduler.

Output af musikafspillerapplikation ved hjælp af Python

Når programmet kører, starter musikafspilleren de sange, du har valgt som afspilningsliste. Ved at vælge en af ​​sangene og trykke på Spil knappen, begynder musikken at spille. På samme måde stopper musikken, genoptager pausen og stopper med at spille med et klik på de relevante knapper.

Byg spil med PyGame-modulet

PyGame er et kraftfuldt modul, som du kan bruge til at bygge spil som Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku og mere. PyGame har et objektorienteret design, så du nemt kan genbruge koder og tilpasse karaktererne i dine spil.

Det understøtter og giver fantastisk grafik, lyde, input- og outputværktøjer, så du kan fokusere på at designe dit spil i stedet for at investere din tid i at kode hver eneste minuts funktion. Alternativt kan du udforske Pyglet og Kivy, som er hurtigere, understøtter 3D-projekter, er mere intuitive og kommer med regelmæssige opdateringer.