Használja ki a Python erejét, és készítse el saját zenelejátszóját a PyGame és Tkinter modulok segítségével.
A zenelejátszók az idő múlásával gyorsan fejlődtek. Gramofonokkal, Jukeboxokkal, CD-lejátszókkal és MP3-lejátszókkal kezdődött. Ma már mobiltelefonon vagy magán számítógépen is hallgathat zenét. Éppen ezt a koncepciót kutatva fejlesszen ki egy zenelejátszó alkalmazást Python segítségével, és bontsa ki.
A Tkinter, PyGame és OS modul
A zenelejátszó felépítéséhez szükség van a Tkinterre, a PyGame-re és az operációs rendszer modulra. A Tkinter a Python szabványos grafikus felhasználói felületének könyvtára, amelyet asztali alkalmazások létrehozására használhat. Számos widgetet kínál, például gombokat, címkéket és szövegdobozokat, így pillanatok alatt fejleszthet alkalmazásokat. A Tkinter telepítéséhez nyisson meg egy terminált, és futtassa:
pip install tkinter
A PyGame segítségével csodálatos videojátékokat fejleszthetsz, amelyek bármilyen platformon futhatnak. Használata egyszerű, és grafikus és hangkönyvtárak is találhatók a fejlesztési folyamat felgyorsítása érdekében. A PyGame-t fogod használni
mixer.zene modult, hogy különféle funkciókat biztosítson zenelejátszójának. A PyGame telepítéséhez hajtsa végre:pip install pygame
Végül is kell az OS modult hogy betöltse a dalokat a rendszerébe. Az operációs rendszer modul a Python szabványos könyvtárával érkezik, és nincs szükség külön telepítésre. Ezzel a modullal rendszerspecifikus funkciókat érhet el az operációs rendszer kezeléséhez.
Hogyan készítsünk zenelejátszót Python használatával
A Python-t használó Music Player alkalmazás forráskódját ebben találja meg GitHub adattár.
Kezdje a Tkinter, PyGame és OS modulok importálásával. Határozzon meg egy osztályt, Zenelejátszó. Határozza meg a __benne__ konstruktort, amelyet a program meghív az objektum létrehozásakor. Használhat példányt maga az osztályon belüli változók vagy metódusok eléréséhez.
Inicializálja a gyökérablakot, és állítsa be a zenelejátszó címét és méreteit. Inicializálja az összes importált PyGame modult a keverőmodullal együtt. Állítsa be a sávot és az állapotot a következőre StringVar típus. Ennek segítségével beállíthat egy szöveges értéket, és szükség esetén visszakeresheti.
tól től tkinter import *
import pygame
import ososztályZenelejátszó:
def__benne__(én, gyökér):
self.root = gyökér
self.root.title("Zenelejátszó")
self.root.geometry("1000x200")
pygame.init()
pygame.mixer.init()
self.track = StringVar()
self.status = StringVar()
Határozza meg a Címke keret amely tartalmazni fogja a dalt címke és a trackstátusz címke. A Labelframe tárolóként működik, és a címkéket egy határterületen belül jeleníti meg. Állítsa be a szülőablakot, amelybe a keretet el szeretné helyezni, a megjelenítendő szöveget, a betűstílusokat, a háttérszínt, a betűtípus színét, a keret szélességét és a widgeten kívüli 3D effektusokat.
Használja a hely() módszer a keret rendszerezésére. Határozzon meg két címkét, dalszám és trackstátusz. Szabja testre őket, és használja a rács() kezelője, hogy sorok és oszlopok formátumba rendezze őket. Beállíthatja, hogy a dalszám az első sorban jelenjen meg, és néhány párnázást hozzáadhat az átfedés elkerülése és a design szebbé tétele érdekében.
trackframe = LabelFrame (self.root, text="Song Track",font=("arial",15,"bátor"),bg="#8F00FF",fg="fehér",bd=5,relief=GROOVE)
trackframe.place (x=0,y=0,szélesség=600,magasság=100)
songtrack = Címke (trackframe, textvariable=self.track, width=20,font=("arial",24,"bátor"),bg="#8F00FF",fg="#B0FC38").grid (sor=0,oszlop=0,padx=10,pady=5)
trackstatus = Címke (trackframe, textvariable=self.status, font=("arial",24,"bátor"),bg="#8F00FF",fg="#B0FC38").grid (sor=0,oszlop=1,padx=10,pady=5)
Hasonlóképpen határozzon meg egy keretet, amely négy gombot tartalmaz. Testreszabhatja és rendszerezheti a trackframe alatt. Határozzon meg négy gombot, Játék, Szünet, Szünet feloldása, és Állj meg. Állítsa be a szülőablakot, amelybe a gombokat szeretné helyezni, a megjelenítendő szöveget, a funkciókat kattintáskor végre kell hajtania, a szélesség, magasság, betűstílus, háttérszín és a betűszín színe kellett volna.
Használja a rács() kezelője, hogy a gombokat egyetlen sorban és négy különböző oszlopban rendezze.
buttonframe = LabelFrame (self.root, text="Kezelőpanel",font=("arial",15,"bátor"),bg="#8F00FF",fg="fehér",bd=5,relief=GROOVE)
gombkeret.hely (x=0,y=100,szélesség=600,magasság=100)
playbtn = Gomb (gombkeret, szöveg="JÁTÉK",command=self.playsong, width=6,magasság=1,font=("arial",16,"bátor"),fg="sötétkék",bg="#B0FC38").grid (sor=0,oszlop=0,padx=10,pady=5)
playbtn = Gomb (gombkeret, szöveg="SZÜNET",command=self.pauses song, width=8,magasság=1,font=("arial",16,"bátor"),fg="sötétkék",bg="#B0FC38").grid (sor=0,oszlop=1,padx=10,pady=5)
playbtn = Gomb (gombkeret, szöveg="SZÜNETELÉS",command=self.unpausesong, width=10,magasság=1,font=("arial",16,"bátor"),fg="sötétkék",bg="#B0FC38").grid (sor=0,oszlop=2,padx=10,pady=5)
playbtn = Gomb (gombkeret, szöveg="ÁLLJ MEG",command=self.stopsong, width=6,magasság=1,font=("arial",16,"bátor"),fg="sötétkék",bg="#B0FC38").grid (sor=0,oszlop=3,padx=10,pady=5)
Határozzon meg egy LabelFrame-et, dalkeret. Ez tartalmazza a zenelejátszón lejátszani kívánt dalokat. Szabja testre a keret tulajdonságait, és helyezze a sáv és gombkeret jobb oldalára. Függőleges görgetősáv hozzáadásával akkor is elérheti a dalokat, ha a dallista hosszú.
Használja a Listbox widget a dalok megjelenítéséhez. Állítsa be a szöveg kiválasztásakor megjelenő háttérszínt és a módot. A single módban egyszerre csak egy dalt választhat ki. Ezenkívül inicializálja a betűtípus stílusát, a háttérszínt, a betűszín színét, a keret szélességét és a körülötte kívánt 3D stílust.
songsframe = LabelFrame (self.root, text="Song Playlist",font=("arial",15,"bátor"),bg="#8F00FF",fg="fehér",bd=5,relief=GROOVE)
songsframe.place (x=600,y=0,szélesség=400,magasság=200)
scroll_y = Görgetősáv (songsframe, orient=VERTICAL)
self.playlist = Listbox (songsframe, yscrollcommand=scroll_y.set, selectbackground="#B0FC38",selectmode=SINGLE, font=("arial",12,"bátor"),bg="#CF9FFF",fg="sötétkék",bd=5,relief=GROOVE)
Csomagolja be a görgetősávot az ablak jobb oldalára, és töltse ki Y betűvel. Ez biztosítja, hogy valahányszor kibontja az ablakot, a görgetősáv Y irányban is kinyílik. Állítsa be a listamezőt a yview a görgetősáv módszere a függőleges görgetéshez. Csomagolja be a listamezőt, hogy vízszintesen és függőlegesen is elfoglalja a helyet.
Módosítsa az aktuális munkakönyvtárat a megadott elérési útra. Ismételje meg a dalokat, és egyenként illessze be őket a listamezőbe. Használod VÉGE az első argumentumként, amikor új sorokat szeretne hozzáadni a listamező végéhez.
scroll_y.pack (oldal=JOBB, fill=Y)
scroll_y.config (command=self.playlist.yview)
self.playlist.pack (fill=BOTH)
os.chdir("A_songs_mappa_útvonala")
dalszámok = os.listdir()
számára nyomon követni ban ben dalszámok:
self.playlist.insert (END, track)
Határozzon meg egy függvényt, játékdal. Állítsa be a számot úgy, hogy a dal neve és az állapota jelenjen meg - Játszani. Használja a Betöltés() és játék() a PyGame mixer.music moduljának funkciói a zene betöltéséhez és elindításához.
defjátékdal(maga):
self.track.set (self.playlist.get (ACTIVE))
self.status.set("-játszik")
pygame.mixer.music.load (self.playlist.get (ACTIVE))
pygame.mixer.music.play()
Hasonlóképpen határozzon meg funkciókat a zeneszámok leállításához, szüneteltetéséhez és szüneteltetésének feloldásához állj meg(), szünet(), és szüneteltetés ().
defstopsong(maga):
self.status.set("-megállt")
pygame.mixer.music.stop()defszünetelteti a dalt(maga):
self.status.set("-Szüneteltetve")
pygame.mixer.music.pause()
defszüneteltetése(maga):
self.status.set("-játszik")
pygame.mixer.music.unpause()
Inicializálja a Tkinter-példányt, és jelenítse meg a gyökérablakot az osztálynak való átadással. A mainloop() függvény azt mondja a Pythonnak, hogy futtassa a Tkinter eseményhurkot, és figyelje az eseményeket, amíg be nem zárja az ablakot.
gyökér = Tk()
MusicPlayer (root)
root.mainloop()
Helyezze össze az összes kódot, és a zenelejátszó készen áll a lejátszásra. Zenelejátszóját még tovább szabhatja objektumok és alakzatok hozzáadása a PyGame rajzmoduljaival.
A zenelejátszó alkalmazás kimenete Python használatával
A program futtatásakor a zenelejátszó elindítja a lejátszási listaként kiválasztott dalokat. Bármelyik dal kiválasztásánál és rányomásakor a Játék gombot, elindul a zene lejátszása. Hasonlóképpen, a zene szünetel, feloldja és leállítja a lejátszást a megfelelő gombok kattintásával.
Játékok építése PyGame modullal
A PyGame egy hatékony modul, amellyel olyan játékokat építhetsz, mint a Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku és még sok más. A PyGame objektum-orientált kialakítású, így könnyen újra felhasználhatja a kódokat és testreszabhatja játékai karaktereit.
Támogatja és nagyszerű grafikát, hangokat, beviteli és kimeneti eszközöket biztosít, így a játék megtervezésére összpontosíthat ahelyett, hogy minden percben a kódolásba fektessen időt. Alternatív megoldásként felfedezheti a Pyglet és Kivy alkalmazásokat, amelyek gyorsabbak, támogatják a 3D-s projekteket, intuitívabbak és rendszeres frissítésekkel rendelkeznek.