Pasinaudokite Python galia ir sukurkite savo muzikos grotuvą naudodami PyGame ir Tkinter modulius.

Muzikos grotuvai laikui bėgant greitai vystėsi. Tai prasidėjo nuo gramofonų, muzikos grotuvų, CD grotuvų ir MP3 grotuvų. Šiandien muzikos galite klausytis savo mobiliajame telefone ar pačiame kompiuteryje. Tyrinėdami šią koncepciją, sukurkite muzikos grotuvo programą naudodami Python ir išjunkite.

„Tkinter“, „PyGame“ ir OS modulis

Norėdami sukurti muzikos grotuvą, jums reikia Tkinter, PyGame ir OS modulio. Tkinter yra standartinė Python GUI biblioteka, kurią galite naudoti kurdami darbalaukio programas. Jame siūlomi įvairūs valdikliai, pvz., mygtukai, etiketės ir teksto laukeliai, todėl galite greitai kurti programas. Norėdami įdiegti „Tkinter“, atidarykite terminalą ir vykdykite:

pip įdiegti tkinter

Naudodami PyGame galite kurti nuostabius vaizdo žaidimus, kurie gali veikti bet kurioje platformoje. Jį paprasta naudoti, o kartu su grafinėmis ir garso bibliotekomis pagreitina kūrimo procesą. Jūs naudosite PyGame's

instagram viewer
mikseris.muzika modulis, suteikiantis įvairias muzikos grotuvo funkcijas. Norėdami įdiegti PyGame, vykdykite:

pip įdiegti pygame

Pagaliau reikia OS modulis Norėdami įkelti dainas į savo sistemą. OS modulis yra su standartine Python biblioteka ir jo nereikia įdiegti atskirai. Naudodami šį modulį galite pasiekti konkrečiai sistemai skirtas funkcijas, skirtas operacinei sistemai valdyti.

Kaip sukurti muzikos grotuvą naudojant Python

Muzikos grotuvo programos šaltinio kodą galite rasti naudodami Python GitHub saugykla.

Pradėkite importuodami Tkinter, PyGame ir OS modulius. Apibrėžkite klasę, Muzikos grotuvas. Apibrėžkite __init__ konstruktorius, kurį programa iškviečia objekto kūrimo metu. Galite naudoti pavyzdį savarankiškai pasiekti bet kokius kintamuosius ar metodus klasėje.

Inicijuokite šakninį langą ir nustatykite muzikos grotuvo pavadinimą bei matmenis. Inicijuoti visus importuotus PyGame modulius kartu su maišytuvo moduliu. Nustatyti takelį ir būseną į StringVar tipo. Naudodami tai galite nustatyti teksto reikšmę ir prireikus ją gauti.

 tkinteris importuoti *
importuoti pygame
importuoti os

klasėMuzikos grotuvas:

def__init__(aš, šaknis):
self.root = šaknis
self.root.title("Muzikos grotuvas")
self.root.geometry("1000x200")
pygame.init()
pygame.mixer.init()
self.track = StringVar()
self.status = StringVar()

Apibrėžkite a LabelFrame kuriame bus dainų takelis etiketė ir takelio būsena etiketė. Etikečių rėmelis veikia kaip konteineris ir rodo etiketes pasienio srityje. Nustatykite pagrindinį langą, kuriame norite įdėti rėmelį, tekstą, kurį jis turi rodyti, šrifto stilius, fono spalvą, šrifto spalvą, kraštinės plotį ir 3D efektus už valdiklio ribų.

Naudoti vieta () rėmo organizavimo būdas. Apibrėžkite dvi etiketes, dainų takelis ir takelio būsena. Tinkinkite juos ir naudokite tinklelis () tvarkyklę, kad galėtumėte juos tvarkyti eilučių ir stulpelių formatu. Galite nustatyti, kad dainų takelis būtų pirmoje eilutėje, ir pridėti šiek tiek užpildo, kad išvengtumėte persidengimo ir kad dizainas būtų gražesnis.

 trackframe = LabelFrame (self.root, text="Dainų takelis",šriftas=("arialas",15,"drąsus"),bg=„#8F00FF“,fg="balta",bd=5,reljefas=GROOVE)
trackframe.place (x=0,y=0,plotis=600,aukštis=100)
songtrack = Etiketė (trackframe, textvariable=self.track, width=20,šriftas=("arialas",24,"drąsus"),bg=„#8F00FF“,fg="#B0FC38").grid (row=0,stulpelis=0,padx=10,pady=5)
trackstatus = Etiketė (trackframe, textvariable=self.status, font=("arialas",24,"drąsus"),bg=„#8F00FF“,fg="#B0FC38").grid (row=0,stulpelis=1,padx=10,pady=5)

Panašiai apibrėžkite rėmelį, kuriame bus keturi mygtukai. Tinkinkite ir tvarkykite jį po takelio rėmeliu. Apibrėžkite keturis mygtukus, žaisti, Pauzė, Atšaukti pristabdymą, ir Sustabdyti. Nustatykite pagrindinį langą, kuriame norite įdėti mygtukus, tekstą, kurį jis turi rodyti, jo funkcijas turėtų būti vykdomas spustelėjus, plotis, aukštis, šrifto stilius, fono spalva ir šrifto spalva turėtum turėti.

Naudoti tinklelis () tvarkyklę, kad mygtukai būtų suskirstyti į vieną eilutę ir keturis skirtingus stulpelius.

 buttonframe = LabelFrame (self.root, text="Kontrolės skydelis",šriftas=("arialas",15,"drąsus"),bg=„#8F00FF“,fg="balta",bd=5,reljefas=GROOVE)
mygtuko rėmelis.vieta (x=0,y=100,plotis=600,aukštis=100)
playbtn = Mygtukas (mygtuko rėmelis, tekstas ="ŽAISTI",command=self.playsong, width=6,aukštis=1,šriftas=("arialas",16,"drąsus"),fg="tamsiai mėlyna",bg="#B0FC38").grid (row=0,stulpelis=0,padx=10,pady=5)
playbtn = Mygtukas (mygtuko rėmelis, tekstas ="PAUZĖ",command=self.pauses song, width=8,aukštis=1,šriftas=("arialas",16,"drąsus"),fg="tamsiai mėlyna",bg="#B0FC38").grid (row=0,stulpelis=1,padx=10,pady=5)
playbtn = Mygtukas (mygtuko rėmelis, tekstas ="ATŠAUKTI PAUSE",command=self.unpauses song, width=10,aukštis=1,šriftas=("arialas",16,"drąsus"),fg="tamsiai mėlyna",bg="#B0FC38").grid (row=0,stulpelis=2,padx=10,pady=5)
playbtn = Mygtukas (mygtuko rėmelis, tekstas ="SUSTABDYTI",command=self.stopsong, width=6,aukštis=1,šriftas=("arialas",16,"drąsus"),fg="tamsiai mėlyna",bg="#B0FC38").grid (row=0,stulpelis=3,padx=10,pady=5)

Apibrėžkite LabelFrame, dainos kadras. Čia bus dainos, kurias norite leisti muzikos grotuve. Tinkinkite rėmelio savybes ir padėkite jį dešinėje takelio ir mygtuko rėmelio pusėje. Pridėkite vertikalią slinkties juostą, kad galėtumėte pasiekti dainas net tada, kai dainų sąrašas yra ilgas.

Naudoti Sąrašo laukelis valdiklis dainoms rodyti. Nustatykite fono spalvą, kuri bus rodoma pasirenkant tekstą, ir režimą. Vieno režimo režimas leidžia pasirinkti vieną dainą vienu metu. Be to, inicijuokite šrifto stilių, fono spalvą, šrifto spalvą, kraštinės plotį ir norimą 3D stilių.

 songsframe = LabelFrame (self.root, text="Dainų grojaraštis",šriftas=("arialas",15,"drąsus"),bg=„#8F00FF“,fg="balta",bd=5,reljefas=GROOVE)
songsframe.place (x=600,y=0,plotis=400,aukštis=200)
scroll_y = Slinkties juosta (dainų rėmelis, orientacija = VERTIKA)
self.playlist = Sąrašo laukelis (songsframe, yscrollcommand=scroll_y.set, selectbackground="#B0FC38",selectmode=SINGLE, šriftas=("arialas",12,"drąsus"),bg="#CF9FFF",fg="tamsiai mėlyna",bd=5,reljefas=GROOVE)

Įdėkite slinkties juostą į dešinę lango pusę ir užpildykite ją kaip Y. Taip užtikrinama, kad kaskart išplečiant langą, slinkties juosta išsiplės ir Y kryptimi. Sukonfigūruokite sąrašo laukelį, kad galėtumėte naudoti yview slinkties juostos metodas slinkti vertikaliai. Supakuokite sąrašo laukelį, kad vietos būtų tiek horizontaliai, tiek vertikaliai.

Pakeiskite esamą darbo katalogą į nurodytą kelią. Pakartokite dainas ir po vieną įdėkite jas į sąrašo laukelį. Tu naudoji GALAS kaip pirmąjį argumentą, nes norite įtraukti naujų eilučių sąrašo laukelio pabaigoje.

 scroll_y.pack (side = RIGHT, fill = Y)
scroll_y.config (command=self.playlist.yview)
self.playlist.pack (užpildyti = ABI)
os.chdir(„Kelias į_jūsų_dainų_aplanką“)
dainų takeliai = os.listdir()
dėl takelis in dainų takeliai:
self.playlist.insert (END, takelis)

Apibrėžkite funkciją, grojama daina. Nustatykite takelį, kad būtų rodomas dainos pavadinimas kartu su būsena kaip -Žaidžia. Naudoti įkelti () ir žaisti() PyGame mixer.music modulio funkcijas, kad būtų galima įkelti muziką ir paleisti ją.

defgrojama daina(savarankiškai):
self.track.set (self.playlist.get (ACTIVE))
self.status.set("-žaidžia")
pygame.mixer.music.load (self.playlist.get (ACTIVE))
pygame.mixer.music.play()

Panašiai apibrėžkite funkcijas, skirtas dainoms sustabdyti, pristabdyti ir atšaukti sustabdyti(), Pauzė(), ir unpause ().

defstabdymo daina(savarankiškai):
self.status.set("-Sustabdė")
pygame.mixer.music.stop()

defpauzė daina(savarankiškai):
self.status.set("-Pristabdyta")
pygame.mixer.music.pause()

defnepertraukiama daina(savarankiškai):
self.status.set("-žaidžia")
pygame.mixer.music.unpause()

Inicijuokite „Tkinter“ egzempliorių ir parodykite šakninį langą, perduodami jį klasei. The mainloop () funkcija liepia Python paleisti Tkinter įvykių kilpą ir klausytis įvykių, kol uždarysite langą.

šaknis = Tk()
Muzikos grotuvas (root)
root.mainloop()

Sudėkite visą kodą ir muzikos grotuvas bus paruoštas groti po ranka. Galite dar labiau pritaikyti savo muzikos grotuvą objektų ir formų pridėjimas naudojant PyGame piešimo modulius.

Muzikos grotuvo programos išvestis naudojant Python

Paleidus programą, muzikos grotuvas paleidžia dainas, kurias pasirinkote kaip grojaraštį. Pasirinkus bet kurią iš dainų ir paspaudus ant žaisti mygtuką, muzika pradeda groti. Panašiai, paspaudus atitinkamus mygtukus, muzika pristabdoma, išjungiama ir nustoja groti.

Žaidimų kūrimas naudojant PyGame modulį

PyGame yra galingas modulis, kurį galite naudoti kurdami tokius žaidimus kaip Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku ir kt. „PyGame“ turi į objektą orientuotą dizainą, todėl galite pakartotinai naudoti kodus ir lengvai tinkinti savo žaidimų simbolius.

Jis palaiko ir suteikia puikių grafikos, garsų, įvesties ir išvesties įrankius, todėl galite sutelkti dėmesį į žaidimo kūrimą, o ne investuoti savo laiką į kodavimo kiekvieną minutę funkciją. Arba galite naršyti Pyglet ir Kivy, kurie yra greitesni, palaiko 3D projektus, yra intuityvesni ir reguliariai atnaujinami.