Tirez parti de la puissance de Python et créez votre propre lecteur de musique à l'aide des modules PyGame et Tkinter.

Les lecteurs de musique ont évolué rapidement avec le temps. Cela a commencé avec les gramophones, les juke-box, les lecteurs de CD et les lecteurs MP3. Aujourd'hui, vous pouvez écouter de la musique sur votre mobile ou votre ordinateur lui-même. En explorant ce concept même, développez une application de lecteur de musique en utilisant Python et groove off.

Le module Tkinter, PyGame et OS

Pour construire le lecteur de musique, vous avez besoin de Tkinter, PyGame et du module OS. Tkinter est la bibliothèque graphique standard pour Python que vous pouvez utiliser pour créer des applications de bureau. Il offre une variété de widgets tels que des boutons, des étiquettes et des zones de texte afin que vous puissiez développer des applications en un rien de temps. Pour installer Tkinter, ouvrez un terminal et exécutez :

pip installer tkinter

En utilisant PyGame, vous pouvez développer des jeux vidéo incroyables qui peuvent fonctionner sur n'importe quelle plate-forme. Il est simple à utiliser et est livré avec des bibliothèques graphiques et sonores pour accélérer votre processus de développement. Vous utiliserez PyGame

mixer.music module pour fournir diverses fonctionnalités à votre lecteur de musique. Pour installer PyGame, exécutez :

pip installer pygame

Enfin, il vous faut le module du système d'exploitation pour charger les chansons dans votre système. Le module OS est livré avec la bibliothèque standard de Python et ne nécessite pas d'installation séparée. Avec ce module, vous pouvez accéder à des fonctions spécifiques au système pour gérer votre système d'exploitation.

Comment créer un lecteur de musique avec Python

Vous pouvez trouver le code source de l'application Music Player utilisant Python dans ce Référentiel GitHub.

Commencez par importer les modules Tkinter, PyGame et OS. Définir une classe, Lecteur de musique. Définir la __init__ constructeur que le programme appelle au moment de la création de l'objet. Vous pouvez utiliser l'instance soi pour accéder à toutes les variables ou méthodes de la classe.

Initialisez la fenêtre racine et définissez le titre et les dimensions de votre lecteur de musique. Initialisez tous les modules PyGame importés avec le module mélangeur. Définissez la piste et le statut sur StringVar taper. Grâce à cela, vous pouvez définir une valeur de texte et la récupérer si nécessaire.

depuis tkinter importer *
importer pygame
importer os

classeLecteur de musique:

définitivement__init__(soi, racine):
self.root = racine
self.root.title("Lecteur de musique")
self.root.geometry("1000x200")
pygame.init()
pygame.mixer.init()
self.track = StringVar()
self.status = StringVar()

Définir un LabelFrame qui contiendra le piste de chanson l'étiquette et le état de la piste étiqueter. Labelframe agit comme un conteneur et affiche les étiquettes à l'intérieur d'une zone de bordure. Définissez la fenêtre parente dans laquelle vous souhaitez placer le cadre, le texte qu'il doit afficher, les styles de police, la couleur d'arrière-plan, la couleur de police, la largeur de la bordure et les effets 3D en dehors du widget.

Utilisez le lieu() méthode pour organiser le cadre. Définissez deux libellés, piste de chanson et état de la piste. Personnalisez-les et utilisez les grille() manager pour les organiser sous forme de lignes et de colonnes. Vous pouvez définir la piste de chanson pour qu'elle soit présente dans la première rangée et ajouter un rembourrage pour éviter les chevauchements et rendre le design plus beau.

 trackframe = LabelFrame (self.root, text="Piste de chanson",police=("arial",15,"gras"),bg="#8F00FF",fg="blanc",bd=5,relief=RAINURE)
trackframe.place (x=0,y=0,largeur=600,hauteur=100)
songtrack = Label (trackframe, textvariable=self.track, width=20,police=("arial",24,"gras"),bg="#8F00FF",fg="#B0FC38").grid (ligne=0,colonne=0,padx=10,pady=5)
trackstatus = Étiquette (trackframe, textvariable=self.status, font=("arial",24,"gras"),bg="#8F00FF",fg="#B0FC38").grid (ligne=0,colonne=1,padx=10,pady=5)

De même, définissez un cadre qui contiendra quatre boutons. Personnalisez-le et organisez-le sous le trackframe. Définir quatre boutons, Jouer, Pause, Reprendre, et Arrêt. Définissez la fenêtre mère dans laquelle vous souhaitez placer les boutons, le texte qu'elle doit afficher, les fonctions qu'elle doit s'exécuter lorsque vous cliquez dessus, la largeur, la hauteur, le style de police, la couleur d'arrière-plan et la couleur de police avoir dû.

Utilisez le grille() gestionnaire d'organiser les boutons sur une seule ligne et quatre colonnes différentes.

 buttonframe = LabelFrame (self.root, text="Panneau de commande",police=("arial",15,"gras"),bg="#8F00FF",fg="blanc",bd=5,relief=RAINURE)
boutonframe.place (x=0,y=100,largeur=600,hauteur=100)
playbtn = Bouton (cadre de bouton, texte ="JOUER",command=self.playsong, largeur=6,hauteur=1,police=("arial",16,"gras"),fg="bleu marine",bg="#B0FC38").grid (ligne=0,colonne=0,padx=10,pady=5)
playbtn = Bouton (cadre de bouton, texte ="PAUSE",command=self.pausesong, width=8,hauteur=1,police=("arial",16,"gras"),fg="bleu marine",bg="#B0FC38").grid (ligne=0,colonne=1,padx=10,pady=5)
playbtn = Bouton (cadre de bouton, texte ="NON PAUSE",command=self.unpausesong, width=10,hauteur=1,police=("arial",16,"gras"),fg="bleu marine",bg="#B0FC38").grid (ligne=0,colonne=2,padx=10,pady=5)
playbtn = Bouton (cadre de bouton, texte ="ARRÊT",command=self.stopsong, largeur=6,hauteur=1,police=("arial",16,"gras"),fg="bleu marine",bg="#B0FC38").grid (ligne=0,colonne=3,padx=10,pady=5)

Définir un LabelFrame, cadre de chanson. Celui-ci contiendra les chansons que vous souhaitez écouter sur votre lecteur de musique. Personnalisez les propriétés du cadre et placez-le sur le côté droit du cadre de la piste et du bouton. Ajoutez une barre de défilement verticale pour accéder aux chansons même lorsque votre liste de chansons est longue.

Utilisez le Zone de liste widget pour afficher les chansons. Définissez la couleur d'arrière-plan à afficher lorsque vous sélectionnez le texte et le mode. Le mode simple vous permet de sélectionner une chanson à la fois. De plus, initialisez le style de police, la couleur d'arrière-plan, la couleur de police, la largeur de la bordure et le style 3D que vous souhaitez autour.

 chansonsframe = LabelFrame (self.root, text="Liste de lecture de chansons",police=("arial",15,"gras"),bg="#8F00FF",fg="blanc",bd=5,relief=RAINURE)
chansonsframe.place (x=600,y=0,largeur=400,hauteur=200)
scroll_y = Barre de défilement (songsframe, orient=VERTICAL)
self.playlist = Listbox (songsframe, yscrollcommand=scroll_y.set, selectbackground="#B0FC38",selectmode=SINGLE, font=("arial",12,"gras"),bg="#CF9FFF",fg="bleu marine",bd=5,relief=RAINURE)

Emballez la barre de défilement sur le côté droit de la fenêtre et remplissez-la en Y. Cela garantit que chaque fois que vous développez la fenêtre, la barre de défilement se développe également dans la direction Y. Configurez la zone de liste pour utiliser le yvoir méthode de la barre de défilement pour faire défiler verticalement. Emballez la zone de liste pour prendre l'espace à la fois horizontalement et verticalement.

Remplacez le répertoire de travail actuel par le chemin spécifié. Parcourez les chansons et insérez-les une par une dans la zone de liste. Tu utilises FIN comme premier argument car vous souhaitez ajouter de nouvelles lignes à la fin de la liste déroulante.

 scroll_y.pack (côté=DROITE, remplissage=Y)
scroll_y.config (commande=self.playlist.yview)
self.playlist.pack (fill=BOTH)
os.chdir("Chemin_vers_votre_dossier_de_chansons")
pistes de chansons = os.listdir()
pour piste dans pistes de chansons :
self.playlist.insert (FIN, piste)

Définir une fonction, joue la chanson. Réglez la piste pour afficher le nom de la chanson avec le statut comme -Jouant. Utilisez le charger() et jouer() fonctions du module mixer.music de PyGame pour charger de la musique à lire et la démarrer.

définitivementjoue la chanson(soi):
self.track.set (self.playlist.get (ACTIVE))
self.status.set("-Jouant")
pygame.mixer.music.load (self.playlist.get (ACTIVE))
pygame.mixer.music.play()

De même, définissez des fonctions pour arrêter, mettre en pause et reprendre les chansons à l'aide de arrêt(), pause(), et reprendre().

définitivementchanson d'arrêt(soi):
self.status.set("-Arrêté")
pygame.mixer.music.stop()

définitivementpause chanson(soi):
self.status.set("-En pause")
pygame.mixer.music.pause()

définitivementreprendre la chanson(soi):
self.status.set("-Jouant")
pygame.mixer.music.unpause()

Initialisez l'instance de Tkinter et affichez la fenêtre racine en la passant à la classe. Le boucle principale() La fonction indique à Python d'exécuter la boucle d'événements Tkinter et d'écouter les événements jusqu'à ce que vous fermiez la fenêtre.

racine = Tk()
Lecteur de musique (racine)
root.mainloop()

Rassemblez tout le code et vous avez votre lecteur de musique prêt à jouer à portée de main. Vous pouvez encore plus personnaliser votre lecteur de musique en ajouter des objets et des formes à l'aide des modules de dessin de PyGame.

Sortie de l'application Music Player à l'aide de Python

Lors de l'exécution du programme, le lecteur de musique lance les chansons que vous avez sélectionnées en tant que liste de lecture. En choisissant l'une des chansons et en appuyant sur le Jouer bouton, la musique commence à jouer. De même, la musique se met en pause, reprend et s'arrête en cliquant sur les boutons appropriés.

Construire des jeux avec le module PyGame

PyGame est un module puissant que vous pouvez utiliser pour créer des jeux comme Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku, etc. PyGame a une conception orientée objet, ce qui vous permet de réutiliser les codes et de personnaliser facilement les personnages de vos jeux.

Il prend en charge et fournit d'excellents graphiques, sons, outils d'entrée et de sortie, afin que vous puissiez vous concentrer sur la conception de votre jeu plutôt que d'investir votre temps dans le codage de chaque minute. Alternativement, vous pouvez explorer Pyglet et Kivy qui sont plus rapides, prennent en charge les projets 3D, sont plus intuitifs et sont livrés avec des mises à jour régulières.