Hyödynnä Pythonin tehoa ja rakenna oma musiikkisoitin PyGame- ja Tkinter-moduuleilla.

Musiikkisoittimet ovat kehittyneet nopeasti ajan myötä. Se alkoi gramofoneista, jukeboxeista, CD-soittimista ja MP3-soittimista. Nykyään voit kuunnella musiikkia mobiililaitteellasi tai itse tietokoneellasi. Tutkimalla tätä konseptia, kehitä musiikkisoitinsovellus Pythonilla ja groove off.

Tkinter-, PyGame- ja käyttöjärjestelmämoduuli

Musiikkisoittimen rakentamiseen tarvitaan Tkinter, PyGame ja käyttöjärjestelmämoduuli. Tkinter on Pythonin standardi GUI-kirjasto, jonka avulla voit luoda työpöytäsovelluksia. Se tarjoaa erilaisia ​​widgetejä, kuten painikkeita, tarroja ja tekstiruutuja, joten voit kehittää sovelluksia hetkessä. Asenna Tkinter avaamalla pääte ja suorittamalla:

pip asennus tkinter

PyGamen avulla voit kehittää upeita videopelejä, jotka toimivat millä tahansa alustalla. Se on helppokäyttöinen, ja sen mukana tulee grafiikka- ja äänikirjastot, jotka nopeuttavat kehitysprosessia. Käytät PyGamea mikseri.musiikkia

instagram viewer
moduuli tarjoaa erilaisia ​​toimintoja musiikkisoittimellesi. Asenna PyGame suorittamalla:

pip asennus pygame

Lopuksi tarvitset käyttöjärjestelmämoduuli ladataksesi kappaleet järjestelmääsi. OS-moduulin mukana tulee Pythonin vakiokirjasto, eikä se tarvitse erillistä asennusta. Tämän moduulin avulla voit käyttää järjestelmäkohtaisia ​​toimintoja käsitelläksesi käyttöjärjestelmääsi.

Kuinka rakentaa musiikkisoitin Pythonilla

Löydät Python-sovelluksen Music Player -sovelluksen lähdekoodin tästä GitHub-arkisto.

Aloita tuomalla Tkinter-, PyGame- ja OS-moduulit. Määritä luokka, Musiikinsoittaja. Määrittele __sen sisällä__ konstruktori, jota ohjelma kutsuu objektin luomisen yhteydessä. Voit käyttää esimerkkiä itse päästäksesi kaikkiin luokan muuttujiin tai menetelmiin.

Alusta juuriikkuna ja aseta musiikkisoittimesi nimi ja mitat. Alusta kaikki tuodut PyGame-moduulit yhdessä mikserimoduulin kanssa. Aseta kappale ja tila olemaan StringVar tyyppi. Tämän avulla voit asettaa tekstiarvon ja hakea sen tarvittaessa.

alkaen tkinter tuonti *
tuonti pygame
tuonti os

luokkaaMusiikinsoittaja:

def__sen sisällä__(itse, juuri):
self.root = juuri
self.root.title("Musiikinsoittaja")
self.root.geometry("1000x200")
pygame.init()
pygame.mixer.init()
self.track = StringVar()
self.status = StringVar()

Määrittele a LabelFrame joka sisältää laulukappale etiketti ja raidan tila etiketti. Labelframe toimii säiliönä ja näyttää tarrat reuna-alueen sisällä. Aseta pääikkuna, johon haluat sijoittaa kehyksen, teksti, jonka sen tulee näyttää, kirjasintyylit, taustaväri, fontin väri, reunuksen leveys ja 3D-tehosteet widgetin ulkopuolella.

Käytä paikka() tapa järjestää kehys. Määritä kaksi tunnistetta, lauluraita ja raidan tila. Mukauta niitä ja käytä grid() johtaja järjestää ne rivi- ja sarakemuotoon. Voit asettaa kappaleraidan näkyväksi ensimmäisellä rivillä ja lisätä pehmusteita päällekkäisyyksien välttämiseksi ja muotoilun kaunistamiseksi.

 trackframe = LabelFrame (self.root, text="Laulukappale",font=("arial",15,"lihavoitu"),bg="#8F00FF",fg="valkoinen",bd=5,relief=GROOVE)
trackframe.place (x=0,y=0,leveys=600,korkeus=100)
songtrack = Nimike (raitakehys, textvariable=self.track, width=20,font=("arial",24,"lihavoitu"),bg="#8F00FF",fg="#B0FC38").grid (rivi=0,sarake=0,padx=10,pady=5)
trackstatus = Tunniste (trackframe, textvariable=self.status, font=("arial",24,"lihavoitu"),bg="#8F00FF",fg="#B0FC38").grid (rivi=0,sarake=1,padx=10,pady=5)

Samoin määritä kehys, joka sisältää neljä painiketta. Mukauta ja järjestä se raidekehyksen alle. Määritä neljä painiketta, pelata, Tauko, Peruuta, ja Lopettaa. Aseta pääikkuna, johon haluat sijoittaa painikkeet, teksti, jonka sen tulee näyttää, sen toiminnot tulee suorittaa, kun sitä napsautetaan, leveys, korkeus, kirjasintyyli, taustaväri ja fontin väri se olisi pitänyt.

Käytä grid() Manager järjestää painikkeet yhdelle riville ja neljään eri sarakkeeseen.

 buttonframe = LabelFrame (self.root, text="Ohjauspaneeli",font=("arial",15,"lihavoitu"),bg="#8F00FF",fg="valkoinen",bd=5,relief=GROOVE)
buttonframe.place (x=0,y=100,leveys=600,korkeus=100)
playbtn = Painike (painikekehys, teksti="PELATA",komento=itse.soittokappale, leveys=6,korkeus=1,font=("arial",16,"lihavoitu"),fg="laivastonsininen",bg="#B0FC38").grid (rivi=0,sarake=0,padx=10,pady=5)
playbtn = Painike (painikekehys, teksti="TAUKO",komento=itse.pysäyttää kappaleen, leveys=8,korkeus=1,font=("arial",16,"lihavoitu"),fg="laivastonsininen",bg="#B0FC38").grid (rivi=0,sarake=1,padx=10,pady=5)
playbtn = Painike (painikekehys, teksti="UNPAUSE",command=self.unpausesong, width=10,korkeus=1,font=("arial",16,"lihavoitu"),fg="laivastonsininen",bg="#B0FC38").grid (rivi=0,sarake=2,padx=10,pady=5)
playbtn = Painike (painikekehys, teksti="LOPETTAA",komento=self.stopsong, width=6,korkeus=1,font=("arial",16,"lihavoitu"),fg="laivastonsininen",bg="#B0FC38").grid (rivi=0,sarake=3,padx=10,pady=5)

Määritä LabelFrame, laulukehys. Tämä sisältää kappaleet, jotka haluat toistaa musiikkisoittimellasi. Mukauta kehyksen ominaisuuksia ja aseta se raidan ja painikekehyksen oikealle puolelle. Lisää pystysuora vierityspalkki nähdäksesi kappaleet, vaikka kappaleluettelosi olisi pitkä.

Käytä Listbox widget kappaleiden näyttämiseen. Aseta taustaväri, joka näkyy, kun valitset tekstiä, ja tila. Yksittäistilassa voit valita yhden kappaleen kerrallaan. Lisäksi alusta kirjasintyyli, taustaväri, fontin väri, reunuksen leveys ja sen ympärille haluamasi 3D-tyyli.

 songsframe = LabelFrame (self.root, text="Song Playlist",font=("arial",15,"lihavoitu"),bg="#8F00FF",fg="valkoinen",bd=5,relief=GROOVE)
songsframe.place (x=600,y=0,leveys=400,korkeus=200)
scroll_y = Vierityspalkki (kappalekehys, orientaatio=VERTICAL)
self.playlist = Listbox (songsframe, yscrollcommand=scroll_y.set, selectbackground="#B0FC38",selectmode=SINGLE, font=("arial",12,"lihavoitu"),bg="#CF9FFF",fg="laivastonsininen",bd=5,relief=GROOVE)

Pakkaa vierityspalkki ikkunan oikealle puolelle ja täytä se kirjaimella Y. Tämä varmistaa, että aina kun laajennat ikkunaa, vierityspalkki laajenee myös Y-suunnassa. Määritä luetteloruutu käyttämään yview vierityspalkin tapa vierittää pystysuunnassa. Pakkaa luetteloruutu ottaaksesi tilaa sekä vaaka- että pystysuunnassa.

Muuta nykyinen työhakemisto määritettyyn polkuun. Toista kappaleita ja lisää ne luetteloruutuun yksitellen. Sinä käytät LOPPU ensimmäisenä argumenttina, kun haluat lisätä uusia rivejä luetteloruudun loppuun.

 scroll_y.pack (sivu = OIKEA, täyttö = Y)
scroll_y.config (komento=self.playlist.yview)
self.playlist.pack (fill=BOTH)
os.chdir("Polku_kappaleesi_kansioon")
kappaleraidat = os.listdir()
varten seurata sisään laulukappaleet:
self.playlist.insert (END, raita)

Määritä funktio, soittolaulu. Aseta raita näyttämään kappaleen nimi yhdessä tilan kanssa - Pelaaminen. Käytä ladata() ja pelata() PyGamen mixer.music-moduulin toimintoja musiikin lataamiseen toistoa varten ja sen käynnistämiseen.

defsoittolaulu(itse):
self.track.set (self.playlist.get (ACTIVE))
self.status.set("-leikkiä")
pygame.mixer.music.load (self.playlist.get (ACTIVE))
pygame.mixer.music.play()

Samoin määritä toiminnot kappaleiden pysäyttämiseksi, keskeyttämiseksi ja tauon poistamiseksi lopettaa(), tauko(), ja unpause ().

deflopetuslaulu(itse):
self.status.set("- pysähtynyt")
pygame.mixer.music.stop()

defkeskeyttää kappaleen(itse):
self.status.set("-Keskeytetty")
pygame.mixer.music.pause()

defkeskeyttää kappaleen(itse):
self.status.set("-leikkiä")
pygame.mixer.music.unpause()

Alusta Tkinter-ilmentymä ja näytä juuriikkuna välittämällä se luokalle. The mainloop() -toiminto käskee Pythonia suorittamaan Tkinterin tapahtumasilmukan ja kuuntelemaan tapahtumia, kunnes suljet ikkunan.

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

Yhdistä kaikki koodi, niin musiikkisoitin on valmis soittamaan käden ulottuvilla. Voit mukauttaa musiikkisoitintasi entisestään objektien ja muotojen lisääminen PyGamen piirustusmoduuleilla.

Musiikkisoitinsovelluksen ulostulo Pythonilla

Ohjelmaa suoritettaessa musiikkisoitin käynnistää soittolistaksi valitsemasi kappaleet. Kun valitset minkä tahansa kappaleen ja painat sitä pelata -painiketta, musiikki alkaa soida. Samoin musiikki keskeyttää, keskeyttää ja lopettaa toiston napsauttamalla asianmukaisia ​​painikkeita.

Pelien rakentaminen PyGame-moduulilla

PyGame on tehokas moduuli, jonka avulla voit rakentaa pelejä, kuten Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku ja paljon muuta. PyGame on oliopohjainen, joten voit käyttää koodeja uudelleen ja muokata peliesi hahmoja helposti.

Se tukee ja tarjoaa upeita grafiikka-, ääni-, syöttö- ja tulostustyökaluja, joten voit keskittyä pelisi suunnitteluun sen sijaan, että sijoitat aikaasi koodaamiseen joka ikinen minuutti. Vaihtoehtoisesti voit tutustua Pygletiin ja Kivyyn, jotka ovat nopeampia, tukevat 3D-projekteja, ovat intuitiivisempia ja sisältävät säännöllisiä päivityksiä.