Das Experimentieren, Installieren und Basteln mit neuen Anwendungen auf Ihrem PC kann eine gute Möglichkeit sein, sich mit den Grundlagen der Programmierung vertraut zu machen. Eines der unterhaltsamsten und interessantesten Projekte, mit dem man beginnen kann, ist die Erstellung eines Musikplayers von Grund auf. Dies ist auch eine gute Möglichkeit, sich mit den Grundlagen der Programmierung vertraut zu machen. Sie haben nicht nur die Möglichkeit, mit den Bibliotheken und Modulen von Python zu experimentieren, sondern auch mit den Einstellungen und Anpassungsmöglichkeiten Ihres Computers auf individueller Basis!

In diesem Tutorial zeigen wir Ihnen, wie Sie mit Hilfe der Module und Bibliotheken von Python einen eigenen Musikplayer erstellen können.

Voraussetzungen 

Diese Anleitung geht davon aus, dass Sie Python bereits auf Ihrem Computer installiert haben. Falls nicht, können Sie es hier herunterladen.

Um mit diesem Artikel fortzufahren, müssen Sie außerdem zwei Pakete installieren:

  1. Tkinter

Tkinter ist eine standardmäßige Python-Sprachbibliothek (ein so genanntes Zusatzmodul), mit der man GUI-Karten, so genannte Widgets, erstellen kann. Tkinter ist das beliebteste und sehr einfach zu benutzen. Tkinter kommt mit vielen vorprogrammierten Widget-Optionen für die Erstellung von GUI-Anwendungsoberflächen.

Sie können Tkinter mit dem Pip-Paketmanager wie folgt installieren:

pip install tk

Hinweis: Wenn Sie pip noch nicht auf Ihrem System installiert haben, können Sie hier nachlesen, wie Sie es installieren.

  1. Pygame

Pygame ist eine plattformübergreifende Python-Bibliothek, die zum Spielen und Erstellen von Multimedia-Formaten verwendet wird, insbesondere von solchen, die Audio, Video und andere interaktive Medien beinhalten. Sie ist in erster Linie für das Schreiben von Videospielen gedacht, kann aber auch für verschiedene andere Dinge verwendet werden, wie in diesem Fall das mixer()-Modul, mit dem wir unserem Musikplayer verschiedene Funktionen zur Verfügung stellen.

Pygame kann auch mit dem pup-Paketmanager installiert werden:

pip install pygame
  1. OS

Dieses Modul wird verwendet, um mit unseren Betriebssystemen zu interagieren, z. B. mit Ordnern und Verzeichnissen. Damit können wir Lieder und andere Medien in unserem Musikplayer abrufen. Es muss nicht installiert werden, da es mit jeder Python-Version mitgeliefert wird.

Wenn Sie nun alles für unser Projekt installiert haben, können wir den Code für unser Musikabspielprogramm erstellen.

Erstellen der Anwendung 

Erstellen Sie zunächst eine Datei namens main.py für unsere Anwendung und importieren Sie dann alle Pakete, die wir gerade installiert haben:

from tkinter import *

from pygame import mixer

import os 

Danach können wir die Klasse Tk() hinzufügen, die uns die Schnittstelle bietet, auf der wir unsere Anwendung erstellen werden.

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

Hier haben wir auch den Namen unserer App angegeben. Sie können dies sogar jetzt starten, um zu sehen, wie es aussieht, fügen Sie einfach mainloop() am Ende des Codes ein:

Wie Sie sehen, ist sie im Moment noch ziemlich unausgegoren. Fangen wir also jetzt an, sie zu füllen. Aber zuerst müssen wir die Funktion definieren, die wir verwenden werden:

#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()

Hier haben wir also 4 Funktionen erstellt und Befehle übergeben. Der Befehl verwendet den mixer.music, mit dem wir mit jeder Audiodatei interagieren können. Später im Prozess werden wir die Schaltflächen für jede dieser Funktionen erstellen, die beim Abspielen, Anhalten, Fortsetzen und Stoppen des Liedes helfen werden.

Als Nächstes erstellen wir eine Wiedergabelisten-Ansicht, um alle im Verzeichnis vorhandenen Lieder zu präsentieren. Dazu erstellen wir eine Variable namens playlist und listen die in der Datei vorhandenen Songs mit dem os-Modul auf.

#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)

Im letzten Schritt können wir nun endlich Schaltflächen für die Interaktion mit unserem Musikplayer erstellen:

#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()  

Hier haben wir diese Schaltflächen mit den Funktionen verknüpft, die wir zuvor mit dem Befehlsparameter erstellt haben. Sie können sehen, dass wir sie auch ein wenig angepasst haben, um sie benutzbar zu machen. Die letzte Zeile, mainloop(), ist das Tkinter-Modul, das jede Tkinter-Anwendung schließt.

Alles in allem wird der endgültige Code wie folgt aussehen:

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() 

Und schließlich können wir diese Anwendung jetzt ausführen!

Ausgabe

Um dies auszuführen, führen Sie diese Datei wie jede andere .py-Datei aus.

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

Wenn es erfolgreich war, erscheint ein neues Fenster wie dieses:

Wie Sie sehen können, funktioniert unsere Anwendung. Wir können die Schaltflächen und die Wiedergabeliste sehen, die wir definiert haben. Sie haben vielleicht bemerkt, dass die Wiedergabeliste nur den Inhalt des Verzeichnisses anzeigt, in dem sie sich befindet. Sie können das ganz einfach ändern und ein anderes Verzeichnis angeben, wenn Sie möchten.

Mit anderen Worten, wir müssen einige Lieder importieren, um damit zu spielen. Legen Sie also einige Lieder in den Ordner, in dem sich die Datei main.py befindet, und probieren Sie es aus!

Letzte Worte

In diesem Tutorial haben wir den Prozess der Erstellung eines Musik-Players von Grund auf in Python mit der Hilfe von pygame und Tkinter durchlaufen. Wir hoffen, es hat Ihnen gefallen. Wir wissen, dass unser Tutorial kurz war, aber wir wollten es kurz und leicht verdaulich halten. Wenn es Ihnen dennoch gefallen hat, würden wir uns freuen, wenn Sie es mit Ihren Freunden teilen und unseren Blog abonnieren! Wir planen, in Zukunft weitere Tutorials zu veröffentlichen, also bleiben Sie dran!

Hier finden Sie einige nützliche Anleitungen, die Sie lesen können: