Využijte sílu Pythonu a vytvořte si svůj vlastní hudební přehrávač pomocí modulů PyGame & Tkinter.
Hudební přehrávače se postupem času rychle vyvíjely. Začalo to gramofony, jukeboxy, CD přehrávači a MP3 přehrávači. Hudbu dnes můžete poslouchat na mobilu nebo samotném počítači. Prozkoumejte tento koncept a vyviňte aplikaci hudebního přehrávače pomocí Pythonu a groove off.
Modul Tkinter, PyGame a OS
K sestavení hudebního přehrávače potřebujete Tkinter, PyGame a modul OS. Tkinter je standardní knihovna GUI pro Python, kterou můžete použít k vytváření desktopových aplikací. Nabízí řadu widgetů, jako jsou tlačítka, štítky a textová pole, takže můžete rychle vyvíjet aplikace. Chcete-li nainstalovat Tkinter, otevřete terminál a spusťte:
pip nainstalovat tkinter
Pomocí PyGame můžete vyvíjet úžasné videohry, které lze spustit na jakékoli platformě. Snadno se používá a je dodáván s grafickými a zvukovými knihovnami, které urychlí váš vývojový proces. Budete používat PyGame's mixer.hudba modul, který poskytuje různé funkce vašemu hudebnímu přehrávači. Chcete-li nainstalovat PyGame, spusťte:
pip nainstalovat pygame
Nakonec potřebujete modul OS k načtení skladeb do vašeho systému. Modul OS je dodáván se standardní knihovnou Pythonu a nevyžaduje samostatnou instalaci. Pomocí tohoto modulu můžete přistupovat k funkcím specifickým pro váš operační systém.
Jak vytvořit hudební přehrávač pomocí Pythonu
Zdrojový kód aplikace Music Player pomocí Pythonu najdete v tomto úložiště GitHub.
Začněte importem modulů Tkinter, PyGame a OS. Definujte třídu, Hudební přehrávač. Definujte __init__ konstruktor, který program volá v okamžiku vytvoření objektu. Můžete použít instance já pro přístup k jakýmkoli proměnným nebo metodám v rámci třídy.
Inicializujte kořenové okno a nastavte název a rozměry hudebního přehrávače. Inicializujte všechny importované moduly PyGame spolu s modulem směšovače. Nastavte dráhu a stav, který má být StringVar typ. Pomocí toho můžete nastavit textovou hodnotu a v případě potřeby ji načíst.
z tkinter import *
import pygame
import ostřídaHudební přehrávač:
def__init__(já, kořen):
self.kořen = kořen
self.root.title("Hudební přehrávač")
vlastní.kořenová.geometrie("1000x200")
pygame.init()
pygame.mixer.init()
self.track = StringVar()
self.status = StringVar()
Definujte a LabelFrame která bude obsahovat skladba štítek a stav stopy označení. Labelframe funguje jako kontejner a zobrazuje štítky uvnitř hraniční oblasti. Nastavte rodičovské okno, do kterého chcete rámeček umístit, text, který se má zobrazit, styly písma, barvu pozadí, barvu písma, šířku okraje a 3D efekty mimo widget.
Použijte místo() způsob uspořádání rámu. Definujte dva štítky, skladba a stav stopy. Přizpůsobte si je a použijte mřížka() správce, aby je uspořádal ve formátu řádků a sloupců. Můžete nastavit skladbu tak, aby byla přítomna v první řadě, a přidat nějaké vycpávky, aby se zabránilo překrývání a aby byl design krásnější.
trackframe = LabelFrame (self.root, text="Skladba písně",font=("arial",15,"tučně"),bg="#8F00FF",fg="bílý",bd=5,reliéf=GROOVE)
trackframe.place (x=0,y=0,šířka=600,výška=100)
songtrack = Label (trackframe, textvariable=self.track, width=20,font=("arial",24,"tučně"),bg="#8F00FF",fg="#B0FC38").mřížka (řádek=0,sloupec=0,padx=10,pady=5)
trackstatus = Label (trackframe, textvariable=self.status, font=("arial",24,"tučně"),bg="#8F00FF",fg="#B0FC38").mřížka (řádek=0,sloupec=1,padx=10,pady=5)
Podobně definujte rámeček, který bude obsahovat čtyři tlačítka. Přizpůsobte a uspořádejte jej pod rámem dráhy. Definujte čtyři tlačítka, Hrát si, Pauza, Zrušit pozastavení, a Stop. Nastavte rodičovské okno, do kterého chcete tlačítka umístit, text, který má zobrazovat, funkce by se měl po kliknutí spustit, šířka, výška, styl písma, barva pozadí a barva písma měl by mít.
Použijte mřížka() správce uspořádat tlačítka do jednoho řádku a čtyř různých sloupců.
buttonframe = LabelFrame (self.root, text="Kontrolní panel",font=("arial",15,"tučně"),bg="#8F00FF",fg="bílý",bd=5,reliéf=GROOVE)
buttonframe.place (x=0,y=100,šířka=600,výška=100)
playbtn = Tlačítko (rámeček tlačítka, text="HRÁT SI",command=self.playsong, width=6,výška=1,font=("arial",16,"tučně"),fg="námořnická modrá",bg="#B0FC38").mřížka (řádek=0,sloupec=0,padx=10,pady=5)
playbtn = Tlačítko (rámeček tlačítka, text="PAUZA",command=self.pausesong, width=8,výška=1,font=("arial",16,"tučně"),fg="námořnická modrá",bg="#B0FC38").mřížka (řádek=0,sloupec=1,padx=10,pady=5)
playbtn = Tlačítko (rámeček tlačítka, text="UNPAUSE",command=self.unpausesong, width=10,výška=1,font=("arial",16,"tučně"),fg="námořnická modrá",bg="#B0FC38").mřížka (řádek=0,sloupec=2,padx=10,pady=5)
playbtn = Tlačítko (rámeček tlačítka, text="STOP",command=self.stopsong, width=6,výška=1,font=("arial",16,"tučně"),fg="námořnická modrá",bg="#B0FC38").mřížka (řádek=0,sloupec=3,padx=10,pady=5)
Definujte LabelFrame, rámec písně. To bude obsahovat skladby, které chcete přehrát na vašem hudebním přehrávači. Přizpůsobte vlastnosti rámečku a umístěte jej na pravou stranu rámečku stopy a tlačítka. Přidejte svislý posuvník pro přístup ke skladbám, i když je váš seznam skladeb dlouhý.
Použijte Seznam widget pro zobrazení skladeb. Nastavte barvu pozadí, která se zobrazí při výběru textu, a režim. Jediný režim umožňuje vybrat jednu skladbu najednou. Kromě toho inicializujte styl písma, barvu pozadí, barvu písma, šířku ohraničení a 3D styl, který chcete obklopit.
Songframe = LabelFrame (self.root, text="Seznam skladeb",font=("arial",15,"tučně"),bg="#8F00FF",fg="bílý",bd=5,reliéf=GROOVE)
songframe.place (x=600,y=0,šířka=400,výška=200)
scroll_y = posuvník (rámec skladby, orient=VERTICAL)
self.playlist = Seznam (rámec skladby, yscrollcommand=scroll_y.set, selectbackground="#B0FC38",selectmode=SINGLE, font=("arial",12,"tučně"),bg="#CF9FFF",fg="námořnická modrá",bd=5,reliéf=GROOVE)
Zabalte posuvník na pravou stranu okna a vyplňte jej jako Y. To zajišťuje, že kdykoli rozbalíte okno, posuvník se roztáhne také ve směru Y. Nakonfigurujte seznam pro použití yview metoda posuvníku pro svislé posouvání. Zabalte pole se seznamem tak, aby bylo místo vodorovně i svisle.
Změňte aktuální pracovní adresář na zadanou cestu. Iterujte skladby a vkládejte je do seznamu jednu po druhé. Používáš KONEC jako první argument, protože chcete přidat nové řádky na konec seznamu.
scroll_y.pack (strana=RIGHT, fill=Y)
scroll_y.config (command=self.playlist.yview)
self.playlist.pack (fill=BOTH)
os.chdir("Cesta_to_your_songs_folder")
skladby = os.listdir()
pro dráha v skladby:
self.playlist.insert (KONEC, skladba)
Definujte funkci, hraná písnička. Nastavte skladbu tak, aby zobrazovala název skladby spolu se stavem jako -Hraje. Použijte zatížení() a hrát si() funkce modulu mixer.music PyGame pro načtení hudby pro přehrávání a její spuštění.
defhraná písnička(já):
self.track.set (self.playlist.get (ACTIVE))
self.status.set("-Hraje")
pygame.mixer.music.load (self.playlist.get (ACTIVE))
pygame.mixer.music.play()
Podobně definujte funkce pro zastavení, pozastavení a zrušení pozastavení skladeb stop(), pauza(), a zrušit pozastavení().
defstopsong(já):
self.status.set("-Zastavil")
pygame.mixer.music.stop()defpauza(já):
self.status.set("-Pozastaveno")
pygame.mixer.music.pause()
defzrušit pauzu(já):
self.status.set("-Hraje")
pygame.mixer.music.unpause()
Inicializujte instanci Tkinter a zobrazte kořenové okno jeho předáním třídě. The mainloop() Funkce říká Pythonu, aby spustil smyčku událostí Tkinter a naslouchal událostem, dokud nezavřete okno.
kořen = Tk()
MusicPlayer (root)
root.mainloop()
Dejte celý kód dohromady a máte svůj hudební přehrávač připravený k přehrávání na dosah ruky. Svůj hudební přehrávač si můžete ještě více přizpůsobit přidávání objektů a tvarů pomocí kreslicích modulů PyGame.
Výstup aplikace hudebního přehrávače pomocí Pythonu
Při spuštění programu hudební přehrávač spustí skladby, které jste vybrali jako seznam skladeb. Na výběr některé z písní a bít na Hrát si tlačítko, hudba začne hrát. Podobně se hudba pozastaví, zruší a zastaví přehrávání kliknutím na příslušná tlačítka.
Budování her s modulem PyGame
PyGame je výkonný modul, který můžete použít k vytváření her jako Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku a další. PyGame má objektově orientovaný design, takže můžete snadno znovu používat kódy a přizpůsobovat postavy svých her.
Podporuje a poskytuje skvělou grafiku, zvuky, vstupní a výstupní nástroje, takže se můžete soustředit na navrhování své hry a nemusíte investovat čas do kódování každé jednotlivé minutové funkce. Případně můžete prozkoumat Pyglet a Kivy, které jsou rychlejší, podporují 3D projekty, jsou intuitivnější a přicházejí s pravidelnými aktualizacemi.