febrero 26, 2024

Cómo construir un reproductor de música usando Python

Los reproductores de música han evolucionado rápidamente con el tiempo. Comenzó con gramófonos, máquinas de discos, reproductores de CD y reproductores de MP3. Hoy puedes escuchar música en tu teléfono móvil o en la propia computadora. Explorando este mismo concepto, desarrolle una aplicación de reproductor de música usando Python y diviértase.


El módulo Tkinter, PyGame y OS

Para crear el reproductor de música, necesita Tkinter, PyGame y el módulo OS. Tkinter es la biblioteca GUI estándar para Python que puede usar para crear aplicaciones de escritorio. Ofrece una variedad de widgets como botones, etiquetas y cuadros de texto para que pueda desarrollar aplicaciones en poco tiempo. Para instalar Tkinter, abre una terminal y ejecuta:

 pip install tkinter 

Con PyGame, puede desarrollar excelentes videojuegos que se pueden ejecutar en cualquier plataforma. Es fácil de usar y viene con bibliotecas de gráficos y sonido para acelerar el proceso de desarrollo. Estarás usando PyGame musica.mixer módulo para proporcionar varias funciones a su reproductor de música. Para instalar PyGame, ejecute:

 pip install pygame 

Finalmente, necesita el módulo OS para cargar las canciones en su sistema. El módulo del sistema operativo viene con la biblioteca Python estándar y no necesita una instalación separada. Con este módulo, puede acceder a funciones específicas del sistema para administrar su sistema operativo.

Cómo construir un reproductor de música usando Python

Puede encontrar el código fuente de la aplicación Music Player usando Python en este repositorio de GitHub.

Comience importando los módulos Tkinter, PyGame y OS. Definir una clase, Reproductor de música. Definir el __adentro__ constructor al que llama el programa cuando se crea el objeto. Puedes usar la instancia él mismo para acceder a cualquier variable o método dentro de la clase.

Inicialice la ventana principal y configure el título y el tamaño de su reproductor de música. Inicialice todos los módulos PyGame importados junto con el módulo mezclador. Establecer pista y estado para ser de VarCadena chico. Con esto, puede establecer un valor de texto y recuperarlo cuando sea necesario.

 from tkinter import *
import pygame
import os

class MusicPlayer:

  def __init__(self,root):
    self.root = root
    self.root.title("Music Player")
    self.root.geometry("1000x200")
    pygame.init()
    pygame.mixer.init()
    self.track = StringVar()
    self.status = StringVar()

Definir un EtiquetaMarco que contendrá la pista de canciones etiqueta y la seguimiento del estado etiqueta. Labelframe actúa como un contenedor y muestra etiquetas dentro de un área de borde. Configure la ventana principal donde desea colocar el marco, el texto que debe mostrar, los estilos de fuente, el color de fondo, el color de fuente, el ancho del borde y los efectos 3D fuera del widget.

Utilizar el lugar() método para arreglar el marco. Defina dos etiquetas, pista de canciones Y seguimiento del estado. Personalízalos y utiliza el parrilla() administrador para organizarlos en formato de fila y columna. Puede configurar la pista de la canción para que esté en la primera línea y agregar algo de relleno para evitar la superposición y hacer que el diseño se vea mejor.

     trackframe = LabelFrame(self.root,text="Song Track",font=("arial",15,"bold"),bg="#8F00FF",fg="white",bd=5,relief=GROOVE)
    trackframe.place(x=0,y=0,width=600,height=100)
    songtrack = Label(trackframe,textvariable=self.track,width=20,font=("arial",24,"bold"),bg="#8F00FF",fg="#B0FC38").grid(row=0,column=0,padx=10,pady=5)
    trackstatus = Label(trackframe,textvariable=self.status,font=("arial",24,"bold"),bg="#8F00FF",fg="#B0FC38").grid(row=0,column=1,padx=10,pady=5)

Del mismo modo, defina un marco que contendrá cuatro botones. Personalízalo y organízalo debajo del trackframe. Definir cuatro botones, Jugar, Romper, ReactivarY Detener. Establezca la ventana principal en la que desea que aparezcan los botones, el texto que debe mostrar, las funciones que debe realizar al hacer clic, el ancho, el alto, el estilo de fuente, el color de fondo y el color de fuente que debe tener.

Utilizar el parrilla() administrador para organizar los botones en una fila y cuatro columnas diferentes.

     buttonframe = LabelFrame(self.root,text="Control Panel",font=("arial",15,"bold"),bg="#8F00FF",fg="white",bd=5,relief=GROOVE)
    buttonframe.place(x=0,y=100,width=600,height=100)
    playbtn = Button(buttonframe,text="PLAY",command=self.playsong,width=6,height=1,font=("arial",16,"bold"),fg="navyblue",bg="#B0FC38").grid(row=0,column=0,padx=10,pady=5)
    playbtn = Button(buttonframe,text="PAUSE",command=self.pausesong,width=8,height=1,font=("arial",16,"bold"),fg="navyblue",bg="#B0FC38").grid(row=0,column=1,padx=10,pady=5)
    playbtn = Button(buttonframe,text="UNPAUSE",command=self.unpausesong,width=10,height=1,font=("arial",16,"bold"),fg="navyblue",bg="#B0FC38").grid(row=0,column=2,padx=10,pady=5)
    playbtn = Button(buttonframe,text="STOP",command=self.stopsong,width=6,height=1,font=("arial",16,"bold"),fg="navyblue",bg="#B0FC38").grid(row=0,column=3,padx=10,pady=5)

Definir un marco de etiqueta, marco de la canción. Esto contendrá las canciones que desea reproducir en su reproductor de música. Personalice las propiedades del marco y colóquelo en el lado derecho del marco de la pista y el botón. Agregue una barra de desplazamiento vertical para acceder a las canciones incluso cuando la lista de canciones es larga.

Utilizar el Cuadro de lista widget para ver canciones. Configure el color de fondo para mostrar al seleccionar texto y modo. El modo único le permite seleccionar una canción a la vez. Además, inicialice el estilo de fuente, el color de fondo, el color de fuente, el ancho del borde y el estilo 3D que desea alrededor.

     songsframe = LabelFrame(self.root,text="Song Playlist",font=("arial",15,"bold"),bg="#8F00FF",fg="white",bd=5,relief=GROOVE)
    songsframe.place(x=600,y=0,width=400,height=200)
    scroll_y = Scrollbar(songsframe,orient=VERTICAL)
    self.playlist = Listbox(songsframe,yscrollcommand=scroll_y.set,selectbackground="#B0FC38",selectmode=SINGLE,font=("arial",12,"bold"),bg="#CF9FFF",fg="navyblue",bd=5,relief=GROOVE)

Contraiga la barra de desplazamiento en el lado derecho de la ventana y llénela como Y. Esto asegura que cada vez que expanda la ventana, la barra de desplazamiento también se expande en la dirección Y. Configure el cuadro de lista para usar el vista método de barra de desplazamiento para desplazarse verticalmente. Contraiga el cuadro de lista para ocupar espacio tanto horizontal como verticalmente.

Cambie el directorio de trabajo actual a la ruta especificada. Desplácese por las canciones e introdúzcalas en el cuadro de lista una por una. Usado FIN como primer argumento, ya que desea agregar nuevas líneas al final del cuadro de lista.

     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")
    songtracks = os.listdir()
    for track in songtracks:
      self.playlist.insert(END,track)

Definir una función, suena. Configure la pista para mostrar el nombre de la canción junto con el estado similar -Jugando. Utilizar el carga() Y jugar() funciones del módulo mixer.music de PyGame para cargar música para reproducirla e iniciarla.

   def playsong(self):
    self.track.set(self.playlist.get(ACTIVE))
    self.status.set("-Playing")
    pygame.mixer.music.load(self.playlist.get(ACTIVE))
    pygame.mixer.music.play()

Del mismo modo, defina funciones para detener, pausar y reactivar las canciones que usan detener(), romper()Y reactivar().

   def stopsong(self):
    self.status.set("-Stopped")
    pygame.mixer.music.stop()

  def pausesong(self):
    self.status.set("-Paused")
    pygame.mixer.music.pause()

  def unpausesong(self):
    self.status.set("-Playing")
    pygame.mixer.music.unpause()

Inicialice la instancia de Tkinter y muestre la ventana raíz pasándola a la clase. EL bucle principal() La función le dice a Python que recorra los eventos de Tkinter y escuche los eventos hasta que cierre la ventana.

 root = Tk()
MusicPlayer(root)
root.mainloop()

Reúna todo el código y tendrá su propio reproductor de música listo para tocar al alcance de su mano. Puede personalizar aún más su reproductor de música agregando objetos y formas utilizando los módulos de dibujo de PyGame.

Salida de la aplicación Music Player usando Python

Mientras ejecuta el programa, el reproductor de música inicia las canciones seleccionadas como una lista de reproducción. Eligiendo cualquiera de las canciones y probando las Jugar botón, la música comienza a reproducirse. La música también se detiene, activa y pausa con el clic de los botones correspondientes.

Aplicación de reproductor de música usando Python

Construcción de juegos con el módulo PyGame

PyGame es un módulo poderoso que puedes usar para crear juegos como Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku y más. PyGame tiene un diseño orientado a objetos, por lo que puedes reutilizar códigos y personalizar fácilmente los personajes de tus juegos.

Admite y proporciona excelentes herramientas de gráficos, sonido, entrada y salida, para que pueda concentrarse en diseñar su juego en lugar de invertir su tiempo codificando cada minuto de funciones. Alternativamente, puede explorar Pyglet y Kivy, que son más rápidos, admiten proyectos 3D, son más fáciles de usar y vienen con actualizaciones periódicas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *