Expérimenter, installer et bricoler de nouvelles applications sur votre PC peut être un excellent moyen de s’habituer aux bases de la programmation. L’un des projets les plus amusants et les plus intéressants pour commencer est de créer un lecteur de musique à partir de zéro. C’est aussi un excellent moyen de s’habituer aux bases de la programmation. Vous aurez non seulement la chance d’expérimenter les bibliothèques et les modules de python, mais aussi les paramètres et les options de personnalisation de votre ordinateur sur une base individuelle !

Dans ce tutoriel, nous allons vous montrer comment vous pouvez créer votre propre lecteur de musique à partir de zéro en Python à l’aide de ses modules et bibliothèques.

Conditions préalables

Ce guide suppose que Python est déjà installé sur votre ordinateur, si ce n’est pas le cas, vous pouvez le télécharger ici.

Vous devrez également installer deux packages pour continuer avec cet article, ce sont:

  1. Tkinter

Tkinter est une bibliothèque de langage Python standard (appelée module complémentaire) qui permet de créer des cartes graphiques appelées widgets. Tkinter est le plus populaire et le plus facile à utiliser. Tkinter est livré avec de nombreuses options de widgets préprogrammées pour créer des interfaces utilisateur d’application graphique.

Vous pouvez installer Tkinter avec le gestionnaire de paquets pip comme ceci :

pip install tk

Remarque : Si pip n’est pas déjà installé sur votre système, vous pouvez voir comment l’installer ici.

  1. Pygame

Pygame est une bibliothèque Python multiplateforme utilisée pour jouer avec et créer des formats multimédias, en particulier ceux qui impliquent de l’audio, de la vidéo et d’autres médias interactifs. Il est principalement conçu pour écrire des jeux vidéo mais peut également être utilisé pour faire diverses autres choses comme dans ce cas, nous utiliserons son module mixer () pour fournir différentes fonctionnalités à notre lecteur de musique.

Pygame peut également être installé avec le gestionnaire de paquets pup :

pip install pygame
  1. OS

Ce module est utilisé pour interagir avec nos systèmes d’exploitation, comme les dossiers et les répertoires. Cela nous permettra de récupérer des chansons et d’autres médias dans notre lecteur de musique. Il n’est pas nécessaire de l’installer car il est préemballé avec chaque version de Python.

Maintenant, une fois que vous avez tout installé pour notre projet, nous sommes prêts à créer le code de notre programme de lecteur de musique.

Création de l’application

Tout d’abord, créez un fichier appelé main.py pour notre application puis importez tous les packages que nous venons d’installer :

from tkinter import *

from pygame import mixer

import os 

Après cela, nous pouvons ajouter la classe Tk() qui nous donnerait notre interface sur laquelle nous allons créer notre application.

root = Tk()
root.title('Music player')

Ici, nous avons également intitulé le nom de notre application, vous pouvez même commencer maintenant pour voir à quoi cela ressemble, mettez simplement mainloop() à la fin du code :

Comme vous le voyez, c’est assez rudimentaire en ce moment. Alors commençons à le remplir maintenant. Mais d’abord, nous allons devoir définir la fonction que nous allons utiliser :

#Defining the function of the music player
def playsong():  #Play
    currentsong = playlist.get(ACTIVE)
    print(currentsong)
    mixer.music.load(currentsong)
    mixer.music.play()

def pausesong():  #Pause
    mixer.music.pause()

def stopsong():  #stop
    mixer.music.stop()

def resumesong():  #Resume
    mixer.music.unpause()

Nous avons donc ici créé 4 fonctions et passé des commandes. La commande utilise le mixer.music qui nous permet d’interagir avec n’importe quel fichier audio. Plus tard dans le processus, nous créerons les boutons pour chacune de ces fonctions qui aideront à jouer, arrêter, reprendre et arrêter la chanson.

Ensuite, créons une vue de liste de lecture pour présenter toutes les chansons présentes dans le répertoire. Pour ce faire, créez une variable appelée playlist et listez les chansons présentes dans le fichier avec le module os.

#Playlist to see the songs inside the application
mixer.init()  #Initializing pygame mixer
playlist = Listbox(root, selectmode=SINGLE, bg="black", fg="white", font=('arial', 15), width=40)  #Creating listbox customizing the looks of it
playlist.grid(columnspan=5)
os.chdir = os.listdir()
songs = os.listdir()  #Loading Music File

for s in songs:  #Displaying the songs
    playlist.insert(END, s)

Maintenant pour la dernière étape, nous pouvons enfin créer des boutons pour interagir avec notre lecteur de musique :

#Adding interactive buttons
playbtn = Button(root, text="play", command=mixer.music.play()
)
playbtn.grid(row=1, column=0)

pausebtn = Button(root, text="Pause", command=pausesong)
pausebtn.grid(row=1, column=1)

stopbtn = Button(root, text="Stop", command=stopsong)
stopbtn.grid(row=1, column=2)

Resumebtn = Button(root, text="Resume", command=resumesong)
Resumebtn.grid(row=1, column=3)

#And finally run the loop start the application
mainloop()  

Ici, nous avons lié ces boutons aux fonctions que nous avons créées précédemment à l’aide du paramètre de commande. Vous pouvez voir que nous l’avons également personnalisé un peu juste pour le rendre utilisable et la dernière ligne qui est mainloop() est le module Tkinter qui ferme essentiellement toute application Tkinter.

Dans l’ensemble, le code final ressemblera à ceci :

from pygame import mixer
from tkinter import *
import os


root = Tk() 
root.title('Music player')

def playsong():
    currentsong = playlist.get(ACTIVE)
    print(currentsong)
    mixer.music.load(currentsong)
    mixer.music.play()

def pausesong():
    mixer.music.pause()

def stopsong():
    mixer.music.stop()

def resumesong():
    mixer.music.unpause()

mixer.init() 
playlist = Listbox(root, selectmode=SINGLE, bg="black", fg="white", font=('arial', 15), width=40) 
playlist.grid(columnspan=5)
os.chdir = os.listdir()
songs = os.listdir() 

for s in songs: 
    playlist.insert(END, s)

playbtn = Button(root, text="play", command=playsong)
playbtn.grid(row=1, column=0)

pausebtn = Button(root, text="Pause", command=pausesong)
pausebtn.grid(row=1, column=1)

stopbtn = Button(root, text="Stop", command=stopsong)
stopbtn.grid(row=1, column=2)

Resumebtn = Button(root, text="Resume", command=resumesong)
Resumebtn.grid(row=1, column=3)

mainloop() 

Et enfin, nous pouvons maintenant lancer cette application !

Résultats

Pour l’exécuter, exécutez ce fichier comme vous le feriez pour tout autre fichier .py.

python main.py  #Windows
Or
python3 main.py  #Linux/Mac

Si cela a fonctionné avec succès, une nouvelle fenêtre pop-up comme celle-ci s’affiche :

Comme vous pouvez le constater, notre application fonctionne. Nous pouvons voir les boutons et la liste de lecture que nous définissons. Vous avez peut-être remarqué que la liste de lecture n’affiche que le contenu du répertoire dans lequel elle se trouve. Vous pouvez la modifier et mettre l’emplacement d’un répertoire différent si vous le souhaitez assez facilement.

En d’autres termes, nous devrons importer certaines chansons pour jouer réellement avec cela. Mettez donc quelques chansons dans le dossier où se trouve le fichier main.py et testez-le !

Conclusion

Dans ce didacticiel, nous avons parcouru le processus de création d’un lecteur de musique à partir de zéro en Python à l’aide de son pygame et de Tkinter. Nous espérons que vous l’avez apprécié. Nous savons que notre tutoriel était bref, mais nous voulions qu’il soit court et facile à digérer. Si vous l’avez aimé, cependant, nous serions ravis si vous pouviez le partager avec vos amis et vous abonner à notre blog ! Nous prévoyons de publier plus de tutoriels à l’avenir, alors restez à l’écoute !