Maak gebruik van de kracht van Python en bouw je eigen muziekspeler met behulp van de PyGame & Tkinter-modules.

Muziekspelers zijn in de loop van de tijd snel geëvolueerd. Het begon met grammofoons, jukeboxen, cd-spelers en mp3-spelers. Tegenwoordig kun je naar muziek luisteren op je mobiel of computer zelf. Onderzoek dit concept, ontwikkel een applicatie voor muziekspelers met behulp van Python en ga aan de slag.

De Tkinter-, PyGame- en OS-module

Om de muziekspeler te bouwen, hebt u de Tkinter-, PyGame- en de OS-module nodig. Tkinter is de standaard GUI-bibliotheek voor Python die u kunt gebruiken om desktop-applicaties te maken. Het biedt een verscheidenheid aan widgets zoals knoppen, labels en tekstvakken, zodat u in een mum van tijd apps kunt ontwikkelen. Om Tkinter te installeren, opent u een terminal en voert u uit:

pip installeer tkinter

Met PyGame kun je geweldige videogames ontwikkelen die op elk platform kunnen worden uitgevoerd. Het is eenvoudig te gebruiken en wordt geleverd met grafische en geluidsbibliotheken om uw ontwikkelingsproces sneller te maken. Je gebruikt PyGame's

instagram viewer
mixer.muziek module om verschillende functionaliteiten aan uw muziekspeler te bieden. Voer het volgende uit om PyGame te installeren:

pip installeer pygame

Tot slot heb je nodig de OS-module om de nummers in uw systeem te laden. De OS-module wordt geleverd met de standaardbibliotheek van Python en heeft geen aparte installatie nodig. Met deze module hebt u toegang tot systeemspecifieke functies om met uw besturingssysteem om te gaan.

Hoe een muziekspeler te bouwen met behulp van Python

Hierin vindt u de broncode van de Music Player-applicatie met behulp van Python GitHub-opslagplaats.

Begin met het importeren van de Tkinter-, PyGame- en OS-modules. Definieer een klasse, Muziekspeler. Definieer de __in het__ constructor die het programma aanroept op het moment dat het object wordt gemaakt. U kunt bijvoorbeeld gebruiken zelf om toegang te krijgen tot alle variabelen of methoden binnen de klasse.

Initialiseer het hoofdvenster en stel de titel en afmetingen van uw muziekspeler in. Initialiseer alle geïmporteerde PyGame-modules samen met de mixermodule. Stel track en status in op van StringVar type. Hiermee kunt u een tekstwaarde instellen en deze indien nodig ophalen.

van tkinter importeren *
importeren pyspel
importeren os

klasMuziekspeler:

def__in het__(zelf, wortel):
zelf.root = root
zelf.root.titel("Muziekspeler")
zelf.root.geometry("1000x200")
pygame.init()
pygame.mixer.init()
zelf.track = StringVar()
zelf.status = StringVar()

Definieer een LabelFrame dat zal de bevatten songtrack etiket en de trackstatus etiket. Labelframe fungeert als een container en geeft de labels weer binnen een randgebied. Stel het bovenliggende venster in waarin u het frame wilt plaatsen, de tekst die moet worden weergegeven, de lettertypestijlen, de achtergrondkleur, de lettertypekleur, de randbreedte en de 3D-effecten buiten de widget.

Gebruik de plaats() methode om het frame te organiseren. Definieer twee labels, songtrack En trackstatus. Pas ze aan en gebruik de rooster() manager om ze in rijen en kolommen te ordenen. U kunt de songtrack zo instellen dat deze in de eerste rij aanwezig is en wat opvulling toevoegen om overlapping te voorkomen en het ontwerp mooier te maken.

 trackframe = LabelFrame (self.root, tekst="Songtrack",lettertype=("arieel",15,"vetgedrukt"),bg="#8F00FF",fg="wit",bd=5,reliëf=GROEF)
trackframe.plaats (x=0,j=0,breedte=600, hoogte=100)
songtrack = Label (trackframe, textvariable=self.track, width=20,lettertype=("arieel",24,"vetgedrukt"),bg="#8F00FF",fg="#B0FC38").raster (rij=0,kolom=0,padx=10,pady=5)
trackstatus = Label (trackframe, textvariable=self.status, font=("arieel",24,"vetgedrukt"),bg="#8F00FF",fg="#B0FC38").raster (rij=0,kolom=1,padx=10,pady=5)

Definieer op dezelfde manier een frame dat vier knoppen zal bevatten. Pas het aan en organiseer het onder het trackframe. Definieer vier knoppen, Toneelstuk, Pauze, Onderbreken, En Stop. Stel het bovenliggende venster in waarin u de knoppen wilt plaatsen, de tekst die moet worden weergegeven, de functies moet worden uitgevoerd wanneer erop wordt geklikt, de breedte, hoogte, letterstijl, achtergrondkleur en de letterkleur ervan zou moeten hebben.

Gebruik de rooster() manager om de knoppen in een enkele rij en vier verschillende kolommen te ordenen.

 buttonframe = LabelFrame (self.root, tekst="Controlepaneel",lettertype=("arieel",15,"vetgedrukt"),bg="#8F00FF",fg="wit",bd=5,reliëf=GROEF)
buttonframe.plaats (x=0,j=100,breedte=600, hoogte=100)
playbtn = knop (knopframe, tekst="TONEELSTUK",command=self.playsong, width=6, hoogte=1,lettertype=("arieel",16,"vetgedrukt"),fg="marineblauw",bg="#B0FC38").raster (rij=0,kolom=0,padx=10,pady=5)
playbtn = knop (knopframe, tekst="PAUZE",command=self.pausesong, width=8, hoogte=1,lettertype=("arieel",16,"vetgedrukt"),fg="marineblauw",bg="#B0FC38").raster (rij=0,kolom=1,padx=10,pady=5)
playbtn = knop (knopframe, tekst="ONDERBREKEN",command=self.unpauzesong, width=10, hoogte=1,lettertype=("arieel",16,"vetgedrukt"),fg="marineblauw",bg="#B0FC38").raster (rij=0,kolom=2,padx=10,pady=5)
playbtn = knop (knopframe, tekst="STOP",commando=self.stopsong, width=6, hoogte=1,lettertype=("arieel",16,"vetgedrukt"),fg="marineblauw",bg="#B0FC38").raster (rij=0,kolom=3,padx=10,pady=5)

Definieer een LabelFrame, songframe. Dit bevat de nummers die u op uw muziekspeler wilt afspelen. Pas de eigenschappen van het frame aan en plaats het aan de rechterkant van het track- en knopframe. Voeg een verticale schuifbalk toe om toegang te krijgen tot de nummers, zelfs als je lijst met nummers lang is.

Gebruik de Keuzelijst widget om de nummers weer te geven. Stel de achtergrondkleur in die moet worden weergegeven wanneer u de tekst en de modus selecteert. Met de enkele modus kunt u één nummer tegelijk selecteren. Initialiseer bovendien de lettertypestijl, de achtergrondkleur, de lettertypekleur, de randbreedte en de 3D-stijl die u eromheen wilt.

 songsframe = LabelFrame (zelf.root, tekst="Song-afspeellijst",lettertype=("arieel",15,"vetgedrukt"),bg="#8F00FF",fg="wit",bd=5,reliëf=GROEF)
liedjesframe.plaats (x=600,j=0,breedte=400, hoogte=200)
scroll_y = Scrollbar (songsframe, orient=VERTICAL)
self.playlist = Listbox (songsframe, yscrollcommand=scroll_y.set, selectbackground="#B0FC38",selectmode=ENKEL, lettertype=("arieel",12,"vetgedrukt"),bg="#CF9FFF",fg="marineblauw",bd=5,reliëf=GROEF)

Plaats de schuifbalk aan de rechterkant van het venster en vul deze als Y. Dit zorgt ervoor dat wanneer u het venster uitvouwt, de schuifbalk ook in de Y-richting uitbreidt. Configureer de keuzelijst om de uitzicht methode van de schuifbalk om verticaal te scrollen. Pak de keuzelijst in om de ruimte zowel horizontaal als verticaal in te nemen.

Wijzig de huidige werkmap naar het opgegeven pad. Herhaal de nummers en plaats ze een voor een in de keuzelijst. Je gebruikt EINDE als het eerste argument als u nieuwe regels wilt toevoegen aan het einde van de keuzelijst.

 scroll_y.pack (zijde=RECHTS, vulling=Y)
scroll_y.config (opdracht=self.playlist.yview)
self.playlist.pack (fill=BEIDE)
os.chdir("Path_to_your_songs_folder")
songtracks = os.listdir()
voor spoor in songtracks:
self.playlist.insert (END, nummer)

Definieer een functie, speel liedje. Stel de track in om de naam van het nummer weer te geven samen met de status als -Spelen. Gebruik de laden() En toneelstuk() functies van PyGame's mixer.music module om muziek te laden voor afspelen en starten.

defspeel liedje(zelf):
self.track.set (self.playlist.get (ACTIEF))
zelf.status.set("-Spelen")
pygame.mixer.music.load (self.playlist.get (ACTIEF))
pygame.mixer.muziek.spelen()

Definieer op dezelfde manier functies om de nummers te stoppen, te pauzeren en te hervatten stop(), pauze(), En hervatten().

defstoplied(zelf):
zelf.status.set("-Gestopt")
pygame.mixer.muziek.stop()

defpauzelied(zelf):
zelf.status.set("-Gepauzeerd")
pygame.mixer.muziek.pauze()

defhervatten van het nummer(zelf):
zelf.status.set("-Spelen")
pygame.mixer.music.unpause()

Initialiseer de Tkinter-instantie en geef het hoofdvenster weer door het door te geven aan de klasse. De Hoofdlus() functie vertelt Python om de Tkinter-gebeurtenislus uit te voeren en te luisteren naar gebeurtenissen totdat u het venster sluit.

wortel = Tk()
Muziekspeler (root)
root.mainloop()

Zet alle code bij elkaar en je hebt je muziekspeler klaar om te spelen binnen handbereik. U kunt uw muziekspeler nog verder aanpassen door objecten en vormen toevoegen met behulp van de tekenmodules van PyGame.

Uitvoer van muziekspelertoepassing met behulp van Python

Bij het uitvoeren van het programma start de muziekspeler de nummers die u als afspeellijst hebt geselecteerd. Over het kiezen van een van de nummers en het raken van de Toneelstuk knop, de muziek begint te spelen. Evenzo pauzeert, hervat en stopt de muziek met spelen met de klik op de juiste knoppen.

Games bouwen met de PyGame-module

PyGame is een krachtige module die je kunt gebruiken om spellen te bouwen zoals Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku en meer. PyGame heeft een objectgeoriënteerd ontwerp, dus je kunt codes hergebruiken en de karakters van je games gemakkelijk aanpassen.

Het ondersteunt en biedt geweldige grafische weergaven, geluiden, invoer- en uitvoertools, zodat u zich kunt concentreren op het ontwerpen van uw game in plaats van uw tijd te investeren in het coderen van elke minuutfunctie. Als alternatief kunt u Pyglet en Kivy verkennen, die sneller zijn, 3D-projecten ondersteunen, intuïtiever zijn en regelmatig worden bijgewerkt.