Αξιοποιήστε τη δύναμη της Python και δημιουργήστε το δικό σας πρόγραμμα αναπαραγωγής μουσικής χρησιμοποιώντας τις ενότητες PyGame & Tkinter.

Οι συσκευές αναπαραγωγής μουσικής έχουν εξελιχθεί γρήγορα με τον καιρό. Ξεκίνησε με γραμμόφωνα, τζουκ μποξ, συσκευές αναπαραγωγής CD και συσκευές αναπαραγωγής MP3. Σήμερα, μπορείτε να ακούτε μουσική στο κινητό ή τον ίδιο τον υπολογιστή σας. Εξερευνώντας αυτήν ακριβώς την ιδέα, αναπτύξτε μια εφαρμογή αναπαραγωγής μουσικής χρησιμοποιώντας Python και groove off.

Η ενότητα Tkinter, PyGame και OS

Για να δημιουργήσετε το πρόγραμμα αναπαραγωγής μουσικής, χρειάζεστε το Tkinter, το PyGame και τη λειτουργική μονάδα. Το Tkinter είναι η τυπική βιβλιοθήκη GUI για την Python που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε εφαρμογές επιφάνειας εργασίας. Προσφέρει μια ποικιλία γραφικών στοιχείων, όπως κουμπιά, ετικέτες και πλαίσια κειμένου, ώστε να μπορείτε να αναπτύξετε εφαρμογές σε ελάχιστο χρόνο. Για να εγκαταστήσετε το Tkinter, ανοίξτε ένα τερματικό και εκτελέστε:

instagram viewer
pip εγκατάσταση tkinter

Χρησιμοποιώντας το PyGame μπορείτε να αναπτύξετε εκπληκτικά βιντεοπαιχνίδια που μπορούν να τρέξουν σε οποιαδήποτε πλατφόρμα. Είναι απλό στη χρήση και συνοδεύεται από βιβλιοθήκες γραφικών και ήχου για να κάνει τη διαδικασία ανάπτυξής σας πιο γρήγορη. Θα χρησιμοποιήσετε το PyGame μίξερ.μουσική μονάδα για να παρέχει διάφορες λειτουργίες στο πρόγραμμα αναπαραγωγής μουσικής σας. Για να εγκαταστήσετε το PyGame, εκτελέστε:

pip εγκατάσταση pygame

Τέλος, χρειάζεστε τη μονάδα λειτουργικού συστήματος για να φορτώσετε τα τραγούδια στο σύστημά σας. Η λειτουργική μονάδα συνοδεύεται από την τυπική βιβλιοθήκη της Python και δεν χρειάζεται ξεχωριστή εγκατάσταση. Με αυτήν την ενότητα, μπορείτε να αποκτήσετε πρόσβαση σε συγκεκριμένες λειτουργίες του συστήματος για να αντιμετωπίσετε το λειτουργικό σας σύστημα.

Πώς να δημιουργήσετε ένα πρόγραμμα αναπαραγωγής μουσικής χρησιμοποιώντας την Python

Μπορείτε να βρείτε τον πηγαίο κώδικα της εφαρμογής Music Player χρησιμοποιώντας Python σε αυτό Αποθετήριο GitHub.

Ξεκινήστε με την εισαγωγή των λειτουργικών μονάδων Tkinter, PyGame και OS. Ορίστε μια τάξη, MusicPlayer. Ορίστε το __μέσα σε αυτό__ κατασκευαστή που καλεί το πρόγραμμα τη στιγμή της δημιουργίας αντικειμένου. Μπορείτε να χρησιμοποιήσετε παράδειγμα εαυτός για πρόσβαση σε οποιεσδήποτε μεταβλητές ή μεθόδους εντός της κλάσης.

Αρχικοποιήστε το ριζικό παράθυρο και ορίστε τον τίτλο και τις διαστάσεις του προγράμματος αναπαραγωγής μουσικής σας. Αρχικοποιήστε όλες τις εισαγόμενες λειτουργικές μονάδες PyGame μαζί με τη μονάδα μίκτη. Ορίστε το κομμάτι και την κατάσταση να είναι του StringVar τύπος. Χρησιμοποιώντας αυτό, μπορείτε να ορίσετε μια τιμή κειμένου και να την ανακτήσετε όταν χρειάζεται.

από tkinter εισαγωγή *
εισαγωγή pygame
εισαγωγή os

τάξηMusicPlayer:

def__μέσα σε αυτό__(εαυτός, ρίζα):
αυτο.ρίζα = ρίζα
self.root.title("Music Player")
self.root.geometry("1000x200")
pygame.init()
pygame.mixer.init()
self.track = StringVar()
self.status = StringVar()

Ορίστε α Πλαίσιο ετικέτας που θα περιέχει το τραγούδι τραγούδι ετικέτα και το trackstatus επιγραφή. Το Labelframe λειτουργεί ως κοντέινερ και εμφανίζει τις ετικέτες μέσα σε μια περιοχή συνόρων. Ορίστε το γονικό παράθυρο στο οποίο θέλετε να τοποθετήσετε το πλαίσιο, το κείμενο που πρέπει να εμφανίζεται, τα στυλ γραμματοσειράς, το χρώμα του φόντου, το χρώμα της γραμματοσειράς, το πλάτος του περιγράμματος και τα εφέ 3D εκτός του γραφικού στοιχείου.

Χρησιμοποιήστε το θέση() μέθοδος οργάνωσης του πλαισίου. Ορίστε δύο ετικέτες, τραγούδι και trackstatus. Προσαρμόστε τα και χρησιμοποιήστε το πλέγμα() διαχειριστή για να τα οργανώσει σε μορφή σειρών και στηλών. Μπορείτε να ρυθμίσετε το τραγούδι να είναι παρόν στην πρώτη σειρά και να προσθέσετε λίγη επένδυση για να αποφύγετε την επικάλυψη και να κάνετε το σχέδιο πιο όμορφο.

 trackframe = LabelFrame (self.root, text="Τραγούδι τραγουδιού", γραμματοσειρά=("arial",15,"τολμηρός"),βγ="#8F00FF",fg="άσπρο",bd=5,ανακούφιση=GROOVE)
trackframe.place (x=0,y=0,πλάτος=600,ύψος=100)
songtrack = Ετικέτα (trackframe, textvariable=self.track, width=20, γραμματοσειρά=("arial",24,"τολμηρός"),βγ="#8F00FF",fg="#B0FC38").πλέγμα (σειρά=0,στήλη=0,padx=10,pady=5)
trackstatus = Ετικέτα (trackframe, textvariable=self.status, font=("arial",24,"τολμηρός"),βγ="#8F00FF",fg="#B0FC38").πλέγμα (σειρά=0,στήλη=1,padx=10,pady=5)

Ομοίως, ορίστε ένα πλαίσιο που θα περιέχει τέσσερα κουμπιά. Προσαρμόστε και οργανώστε το κάτω από το trackframe. Ορίστε τέσσερα κουμπιά, Παίζω, Παύση, Κατάργηση παύσης, και Να σταματήσει. Ρυθμίστε το γονικό παράθυρο στο οποίο θέλετε να τοποθετήσετε τα κουμπιά, το κείμενο που πρέπει να εμφανίζεται, τις λειτουργίες του θα πρέπει να εκτελείται όταν γίνεται κλικ, το πλάτος, το ύψος, το στυλ γραμματοσειράς, το χρώμα φόντου και το χρώμα της γραμματοσειράς θα έπρεπε να.

Χρησιμοποιήστε το πλέγμα() διαχειριστής για να οργανώσει τα κουμπιά σε μία γραμμή και τέσσερις διαφορετικές στήλες.

 buttonframe = LabelFrame (self.root, text="Πίνακας Ελέγχου", γραμματοσειρά=("arial",15,"τολμηρός"),βγ="#8F00FF",fg="άσπρο",bd=5,ανακούφιση=GROOVE)
buttonframe.place (x=0,y=100,πλάτος=600,ύψος=100)
playbtn = Κουμπί (κουμπί πλαίσιο, κείμενο="ΠΑΙΖΩ",command=self.playsong, width=6,ύψος=1, γραμματοσειρά=("arial",16,"τολμηρός"), fg="ναυτικό μπλε",bg="#B0FC38").πλέγμα (σειρά=0,στήλη=0,padx=10,pady=5)
playbtn = Κουμπί (κουμπί πλαίσιο, κείμενο="ΠΑΥΣΗ",command=self.pausesong, width=8,ύψος=1, γραμματοσειρά=("arial",16,"τολμηρός"), fg="ναυτικό μπλε",bg="#B0FC38").πλέγμα (σειρά=0,στήλη=1,padx=10,pady=5)
playbtn = Κουμπί (κουμπί πλαίσιο, κείμενο="ΚΑΤΑΡΓΗΣΗ ΠΑΥΣΗΣ",command=self.unpausesong, width=10,ύψος=1, γραμματοσειρά=("arial",16,"τολμηρός"), fg="ναυτικό μπλε",bg="#B0FC38").πλέγμα (σειρά=0,στήλη=2,padx=10,pady=5)
playbtn = Κουμπί (κουμπί πλαίσιο, κείμενο="ΝΑ ΣΤΑΜΑΤΗΣΕΙ",command=self.stopsong, πλάτος=6,ύψος=1, γραμματοσειρά=("arial",16,"τολμηρός"), fg="ναυτικό μπλε",bg="#B0FC38").πλέγμα (σειρά=0,στήλη=3,padx=10,pady=5)

Ορίστε ένα πλαίσιο ετικέτας, κορνίζα τραγουδιού. Αυτό θα περιέχει τα τραγούδια που θέλετε να παίξετε στο πρόγραμμα αναπαραγωγής μουσικής σας. Προσαρμόστε τις ιδιότητες του πλαισίου και τοποθετήστε το στη δεξιά πλευρά του πλαισίου κομματιού και κουμπιών. Προσθέστε μια κάθετη γραμμή κύλισης για πρόσβαση στα τραγούδια ακόμα και όταν η λίστα τραγουδιών σας είναι μεγάλη.

Χρησιμοποιήστε το Πλαίσιο λίστας widget για την εμφάνιση των τραγουδιών. Ρυθμίστε το χρώμα φόντου που θα εμφανίζεται όταν επιλέγετε το κείμενο και τη λειτουργία. Η λειτουργία single σάς επιτρέπει να επιλέξετε ένα τραγούδι τη φορά. Επιπλέον, αρχικοποιήστε το στυλ γραμματοσειράς, το χρώμα φόντου, το χρώμα γραμματοσειράς, το πλάτος του περιγράμματος και το στυλ 3D που θέλετε γύρω από αυτό.

 songsframe = LabelFrame (self.root, text="Λίστα αναπαραγωγής τραγουδιών", γραμματοσειρά=("arial",15,"τολμηρός"),βγ="#8F00FF",fg="άσπρο",bd=5,ανακούφιση=GROOVE)
songsframe.place (x=600,y=0,πλάτος=400,ύψος=200)
scroll_y = Γραμμή κύλισης (πλαίσιο τραγουδιών, orient=VERTICAL)
self.playlist = πλαίσιο λίστας (πλαίσιο τραγουδιών, yscrollcommand=scroll_y.set, selectbackground="#B0FC38",selectmode=SINGLE, font=("arial",12,"τολμηρός"),βγ="#CF9FFF",fg="ναυτικό μπλε",bd=5,ανακούφιση=GROOVE)

Συσκευάστε τη γραμμή κύλισης στη δεξιά πλευρά του παραθύρου και γεμίστε την ως Y. Αυτό διασφαλίζει ότι κάθε φορά που επεκτείνετε το παράθυρο, η γραμμή κύλισης επεκτείνεται επίσης προς την κατεύθυνση Y. Διαμορφώστε το πλαίσιο λίστας για να το χρησιμοποιήσετε yview μέθοδος της γραμμής κύλισης για κάθετη κύλιση. Συσκευάστε το πλαίσιο λίστας για να καταλάβετε το χώρο τόσο οριζόντια όσο και κάθετα.

Αλλάξτε τον τρέχοντα κατάλογο εργασίας στην καθορισμένη διαδρομή. Επαναλάβετε τα τραγούδια και τοποθετήστε τα στο πλαίσιο λίστας ένα προς ένα. Εσυ χρησιμοποιεις ΤΕΛΟΣ ως το πρώτο όρισμα καθώς θέλετε να προσθέσετε νέες γραμμές στο τέλος του πλαισίου λίστας.

 scroll_y.pack (side=RIGHT, fill=Y)
scroll_y.config (command=self.playlist.yview)
self.playlist.pack (fill=BOTH)
os.chdir("Path_to_your_songs_folder")
τραγούδια = os.listdir()
Για πίστα σε τραγούδια:
self.playlist.insert (ΤΕΛΟΣ, κομμάτι)

Ορίστε μια συνάρτηση, playsong. Ρυθμίστε το κομμάτι ώστε να εμφανίζει το όνομα του τραγουδιού μαζί με την κατάσταση ως -Παιχνίδι. Χρησιμοποιήστε το φορτώνω() και παίζω() λειτουργίες της μονάδας mixer.music του PyGame για να φορτώσετε μουσική για αναπαραγωγή και να την ξεκινήσετε.

defplaysong(εαυτός):
self.track.set (self.playlist.get (ACTIVE))
self.status.set("-Παιχνίδι")
pygame.mixer.music.load (self.playlist.get (ACTIVE))
pygame.mixer.music.play()

Παρομοίως, ορίστε λειτουργίες για διακοπή, παύση και κατάργηση παύσης των τραγουδιών που χρησιμοποιείτε να σταματήσει(), παύση(), και κατάργηση παύσης ().

defστοπ τραγούδι(εαυτός):
self.status.set("-Σταμάτησε")
pygame.mixer.music.stop()

defπαύση τραγουδιού(εαυτός):
self.status.set("-Σε παύση")
pygame.mixer.music.pause()

defχωρίς παύση(εαυτός):
self.status.set("-Παιχνίδι")
pygame.mixer.music.unpause()

Αρχικοποιήστε την παρουσία Tkinter και εμφανίστε το ριζικό παράθυρο περνώντας το στην κλάση. ο mainloop() Η συνάρτηση λέει στην Python να εκτελέσει τον βρόχο συμβάντων Tkinter και να ακούει συμβάντα μέχρι να κλείσει το παράθυρο.

ρίζα = Tk()
MusicPlayer (root)
root.mainloop()

Συνδυάστε όλο τον κώδικα και έχετε το πρόγραμμα αναπαραγωγής μουσικής έτοιμο για αναπαραγωγή στα χέρια σας. Μπορείτε να προσαρμόσετε το πρόγραμμα αναπαραγωγής μουσικής σας ακόμη περισσότερο προσθήκη αντικειμένων και σχημάτων χρησιμοποιώντας τις ενότητες σχεδίασης του PyGame.

Έξοδος εφαρμογής Music Player με χρήση Python

Κατά την εκτέλεση του προγράμματος, το πρόγραμμα αναπαραγωγής μουσικής εκκινεί τα τραγούδια που επιλέξατε ως λίστα αναπαραγωγής. Επιλέγοντας κάποιο από τα τραγούδια και πατώντας το Παίζω κουμπί, η μουσική αρχίζει να παίζει. Ομοίως, η μουσική σταματά, διακόπτει την παύση και σταματά την αναπαραγωγή με το πάτημα των κατάλληλων κουμπιών.

Δημιουργία παιχνιδιών με τη μονάδα PyGame

Το PyGame είναι μια ισχυρή ενότητα που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε παιχνίδια όπως Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku και άλλα. Το PyGame έχει αντικειμενοστραφή σχεδιασμό, ώστε να μπορείτε να επαναχρησιμοποιείτε κωδικούς και να προσαρμόζετε εύκολα τους χαρακτήρες των παιχνιδιών σας.

Υποστηρίζει και παρέχει εξαιρετικά εργαλεία γραφικών, ήχους, εισόδου και εξόδου, ώστε να μπορείτε να εστιάσετε στο σχεδιασμό του παιχνιδιού σας αντί να επενδύετε τον χρόνο σας στην κωδικοποίηση κάθε μεμονωμένης λειτουργίας. Εναλλακτικά, μπορείτε να εξερευνήσετε τα Pyglet και Kivy που είναι πιο γρήγορα, υποστηρίζουν τρισδιάστατα έργα, είναι πιο διαισθητικά και συνοδεύονται από τακτικές ενημερώσεις.