Sfrutta la potenza di Python e crea il tuo lettore musicale utilizzando i moduli PyGame e Tkinter.
I lettori musicali si sono evoluti rapidamente nel tempo. È iniziato con grammofoni, jukebox, lettori CD e lettori MP3. Oggi puoi ascoltare la musica sul tuo cellulare o sul computer stesso. Esplorando proprio questo concetto, sviluppa un'applicazione per lettore musicale utilizzando Python e divertiti.
Il modulo Tkinter, PyGame e OS
Per creare il lettore musicale, sono necessari Tkinter, PyGame e il modulo del sistema operativo. Tkinter è la libreria GUI standard per Python che puoi utilizzare per creare applicazioni desktop. Offre una varietà di widget come pulsanti, etichette e caselle di testo in modo da poter sviluppare app in pochissimo tempo. Per installare Tkinter, apri un terminale ed esegui:
pip installa tkinter
Usando PyGame puoi sviluppare fantastici videogiochi che possono essere eseguiti su qualsiasi piattaforma. È semplice da usare e viene fornito con librerie grafiche e audio per velocizzare il processo di sviluppo. Userai PyGame
mixer.musica modulo per fornire varie funzionalità al tuo lettore musicale. Per installare PyGame, eseguire:pip installa pygame
Infine, hai bisogno il modulo del sistema operativo per caricare le canzoni nel tuo sistema. Il modulo OS viene fornito con la libreria standard di Python e non necessita di un'installazione separata. Con questo modulo, puoi accedere a funzioni specifiche del sistema per gestire il tuo sistema operativo.
Come costruire un lettore musicale usando Python
Puoi trovare il codice sorgente dell'applicazione Music Player usando Python in questo Deposito GitHub.
Inizia importando i moduli Tkinter, PyGame e OS. Definisci una classe, Lettore musicale. Definisci il __dentro__ costruttore che il programma chiama al momento della creazione dell'oggetto. Puoi usare l'istanza se stesso per accedere a qualsiasi variabile o metodo all'interno della classe.
Inizializza la finestra principale e imposta il titolo e le dimensioni del tuo lettore musicale. Inizializza tutti i moduli PyGame importati insieme al modulo mixer. Imposta la traccia e lo stato di cui essere di StringVar tipo. Usando questo, puoi impostare un valore di testo e recuperarlo quando necessario.
da tkinter importare *
importare pygame
importare osclasseLettore musicale:
def__dentro__(sé, radice):
self.root = radice
self.root.titolo("Lettore musicale")
self.radice.geometria("1000x200")
pygame.init()
pygame.mixer.init()
self.traccia = StringVar()
self.status = StringVar()
Definisci un EtichettaFrame che conterrà il songttrack etichetta e il trackstatus etichetta. Labelframe funge da contenitore e visualizza le etichette all'interno di un'area di bordo. Imposta la finestra principale in cui vuoi posizionare la cornice, il testo che dovrebbe visualizzare, gli stili del carattere, il colore di sfondo, il colore del carattere, la larghezza del bordo e gli effetti 3D all'esterno del widget.
Usa il posto() metodo per organizzare la cornice. Definisci due etichette, songtrack E trackstatus. Personalizzali e usa il griglia() manager per organizzarli in formato righe e colonne. Puoi impostare la traccia della canzone in modo che sia presente nella prima riga e aggiungere un po' di padding per evitare sovrapposizioni e rendere il design più bello.
trackframe = LabelFrame (self.root, text="Traccia della canzone",carattere=("ariale",15,"grassetto"),bg="#8F00FF",fg="bianco",bd=5,rilievo=SCANALATURA)
trackframe.place (x=0,y=0,larghezza=600,altezza=100)
songtrack = Etichetta (trackframe, textvariable=self.track, width=20,carattere=("ariale",24,"grassetto"),bg="#8F00FF",fg="#B0FC38".grid (riga=0,colonna=0,padx=10,pady=5)
trackstatus = Etichetta (trackframe, textvariable=self.status, font=("ariale",24,"grassetto"),bg="#8F00FF",fg="#B0FC38".grid (riga=0,colonna=1,padx=10,pady=5)
Allo stesso modo, definisci una cornice che conterrà quattro pulsanti. Personalizzalo e organizzalo sotto il trackframe. Definisci quattro pulsanti, Giocare, Pausa, Riattiva, E Fermare. Imposta la finestra principale in cui vuoi inserire i pulsanti, il testo che dovrebbe visualizzare, le sue funzioni dovrebbe essere eseguito quando si fa clic, la larghezza, l'altezza, lo stile del carattere, il colore di sfondo e il colore del carattere avrebbe dovuto.
Usa il griglia() manager per organizzare i pulsanti in un'unica riga e quattro diverse colonne.
buttonframe = LabelFrame (self.root, text="Pannello di controllo",carattere=("ariale",15,"grassetto"),bg="#8F00FF",fg="bianco",bd=5,rilievo=SCANALATURA)
buttonframe.place (x=0,y=100,larghezza=600,altezza=100)
playbtn = Pulsante (riquadro pulsante, testo="GIOCARE",command=self.playsong, width=6,altezza=1,carattere=("ariale",16,"grassetto"),fg="blu navy",bg="#B0FC38".grid (riga=0,colonna=0,padx=10,pady=5)
playbtn = Pulsante (riquadro pulsante, testo="PAUSA",command=self.pausesong, width=8,altezza=1,carattere=("ariale",16,"grassetto"),fg="blu navy",bg="#B0FC38".grid (riga=0,colonna=1,padx=10,pady=5)
playbtn = Pulsante (riquadro pulsante, testo="RIPRESA",command=self.unpausesong, width=10,altezza=1,carattere=("ariale",16,"grassetto"),fg="blu navy",bg="#B0FC38".grid (riga=0,colonna=2,padx=10,pady=5)
playbtn = Pulsante (riquadro pulsante, testo="FERMARE",command=self.stopsong, width=6,altezza=1,carattere=("ariale",16,"grassetto"),fg="blu navy",bg="#B0FC38".grid (riga=0,colonna=3,padx=10,pady=5)
Definire un LabelFrame, songframe. Questo conterrà i brani che desideri riprodurre sul tuo lettore musicale. Personalizza le proprietà della cornice e posizionala sul lato destro della traccia e della cornice del pulsante. Aggiungi una barra di scorrimento verticale per accedere ai brani anche quando l'elenco dei brani è lungo.
Usa il Casella di riepilogo widget per visualizzare le canzoni. Imposta il colore di sfondo da visualizzare quando selezioni il testo e la modalità. La modalità singola consente di selezionare un brano alla volta. Inoltre, inizializza lo stile del carattere, il colore di sfondo, il colore del carattere, la larghezza del bordo e lo stile 3D che desideri attorno ad esso.
songsframe = LabelFrame (self.root, text="Playlist dei brani",carattere=("ariale",15,"grassetto"),bg="#8F00FF",fg="bianco",bd=5,rilievo=SCANALATURA)
songframe.place (x=600,y=0,larghezza=400,altezza=200)
scroll_y = Barra di scorrimento (songsframe, orient=VERTICALE)
self.playlist = Listbox (songsframe, yscrollcommand=scroll_y.set, selectbackground="#B0FC38",selectmode=SINGOLA, carattere=("ariale",12,"grassetto"),bg="#CF9FFF",fg="blu navy",bd=5,rilievo=SCANALATURA)
Comprimi la barra di scorrimento sul lato destro della finestra e riempila come Y. Ciò garantisce che ogni volta che espandi la finestra, anche la barra di scorrimento si espande nella direzione Y. Configurare la casella di riepilogo per utilizzare il vista metodo della barra di scorrimento per scorrere verticalmente. Comprimi la casella di riepilogo per occupare lo spazio sia orizzontalmente che verticalmente.
Modificare la directory di lavoro corrente nel percorso specificato. Scorri le canzoni e inseriscile nella casella di riepilogo una per una. Usate FINE come primo argomento in quanto si desidera aggiungere nuove righe alla fine della casella di riepilogo.
scroll_y.pack (lato=DESTRA, riempimento=Y)
scroll_y.config (comando=self.playlist.yview)
self.playlist.pack (fill=ENTRAMBE)
os.chdir("Percorso_della_cartella_delle_canzoni")
songtracks = os.listdir()
per traccia In brani:
self.playlist.insert (FINE, traccia)
Definire una funzione, suona. Imposta la traccia per visualizzare il nome della canzone insieme allo stato come -Giocando. Usa il carico() E giocare() funzioni del modulo mixer.music di PyGame per caricare la musica per la riproduzione e avviarla.
defsuona(se stesso):
self.track.set (self.playlist.get (ACTIVE))
self.status.set("-Giocando")
pygame.mixer.music.load (self.playlist.get (ATTIVO))
pygame.mixer.music.play()
Allo stesso modo, definisci le funzioni per fermare, mettere in pausa e riattivare le canzoni che usano fermare(), pausa(), E riattiva().
defstopsong(se stesso):
self.status.set("-Fermato")
pygame.mixer.music.stop()defpausesong(se stesso):
self.status.set("-In pausa")
pygame.mixer.music.pause()
defunpausesong(se stesso):
self.status.set("-Giocando")
pygame.mixer.music.unpause()
Inizializza l'istanza Tkinter e visualizza la finestra root passandola alla classe. IL ciclo principale() La funzione dice a Python di eseguire il ciclo di eventi Tkinter e di ascoltare gli eventi finché non chiudi la finestra.
radice = Tk()
Lettore musicale (radice)
root.mainloop()
Metti insieme tutto il codice e avrai il tuo lettore musicale pronto per essere riprodotto a portata di mano. Puoi personalizzare ulteriormente il tuo lettore musicale tramite aggiungendo oggetti e forme utilizzando i moduli di disegno di PyGame.
Output dell'applicazione Music Player utilizzando Python
Durante l'esecuzione del programma, il lettore musicale avvia i brani selezionati come playlist. Scegliendo una qualsiasi delle canzoni e provando il Giocare pulsante, la musica inizia a suonare. Allo stesso modo, la musica si interrompe, si riattiva e si interrompe con il clic dei pulsanti appropriati.
Costruire giochi con il modulo PyGame
PyGame è un potente modulo che puoi utilizzare per creare giochi come Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku e altri. PyGame ha un design orientato agli oggetti, quindi puoi riutilizzare i codici e personalizzare facilmente i personaggi dei tuoi giochi.
Supporta e fornisce ottimi strumenti di grafica, suoni, input e output, così puoi concentrarti sulla progettazione del tuo gioco piuttosto che investire il tuo tempo nella codifica di ogni singolo minuto di funzionalità. In alternativa, puoi esplorare Pyglet e Kivy che sono più veloci, supportano progetti 3D, sono più intuitivi e vengono forniti con aggiornamenti regolari.