Como construir um reprodutor de música usando Python

Como construir um reprodutor de música usando Python? Os players de música evoluíram rapidamente com o tempo.

Começou com gramofones, jukeboxes, CD players e MP3 players. Hoje, você pode ouvir música no seu celular ou no próprio computador.

Explorando esse conceito, desenvolva um aplicativo de tocador de música usando Python e divirta-se.

O Módulo Tkinter, PyGame e SO

Para construir o reprodutor de música, você precisa do Tkinter, PyGame e do módulo OS. Tkinter é a biblioteca GUI padrão para Python que você pode usar para criar aplicativos de desktop. Ele oferece uma variedade de widgets como botões, rótulos e caixas de texto para que você possa desenvolver aplicativos rapidamente. Para instalar o Tkinter, abra um terminal e execute:

pip install tkinter

Usando o PyGame, você pode desenvolver videogames incríveis que podem ser executados em qualquer plataforma. É simples de usar e vem com bibliotecas gráficas e de som para agilizar seu processo de desenvolvimento. Você usará o PyGame mixer.music módulo para fornecer várias funcionalidades ao seu reprodutor de música. Para instalar o PyGame, execute:

pip install pygame

Finalmente, você precisa do módulo OS para carregar as músicas em seu sistema. O módulo OS vem com a biblioteca padrão do Python e não precisa de uma instalação separada. Com este módulo, você pode acessar funções específicas do sistema para lidar com seu sistema operacional.

Como construir um reprodutor de música usando Python

Você pode encontrar o código-fonte do aplicativo Music Player usando Python neste repositório GitHub.

Comece importando os módulos Tkinter, PyGame e OS. Definir uma classe, Reprodutor de música. Defina a __iniciar__ construtor que o programa chama no momento da criação do objeto. Você pode usar a instância auto para acessar quaisquer variáveis ​​ou métodos dentro da classe.

Inicialize a janela raiz e defina o título e as dimensões do seu reprodutor de música. Inicialize todos os módulos PyGame importados junto com o módulo do mixer. Defina a faixa e o status como StringVar tipo. Usando isso, você pode definir um valor de texto e recuperá-lo quando necessário.

from tkinter import *
import pygame
import os

class MusicPlayer:

  def __init__(self,root):
    self.root = root
    self.root.title(“Music Player”)
    self.root.geometry(“1000×200”)
    pygame.init()
    pygame.mixer.init()
    self.track = StringVar()
    self.status = StringVar()

Definir um LabelFrame que conterá o trilha sonora etiqueta e o trackstatus rótulo. Labelframe atua como um contêiner e exibe os rótulos dentro de uma área de borda. Defina a janela pai na qual deseja colocar o quadro, o texto que deve ser exibido, os estilos de fonte, a cor de fundo, a cor da fonte, a largura da borda e os efeitos 3D fora do widget.

Use o lugar() método para organizar o quadro. Defina dois rótulos, trilha sonora e trackstatus. Personalize-os e use o grade() gerente para organizá-los em formato de linhas e colunas.

Você pode definir a música para estar presente na primeira linha e adicionar algum preenchimento para evitar sobreposições e tornar o design mais bonito.

    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)

Da mesma forma, defina um quadro que conterá quatro botões. Personalize e organize-o abaixo do trackframe. Definir quatro botões, Jogar, Pausa, Retomare Parar.

Defina a janela pai na qual você deseja colocar os botões, o texto que deve ser exibido, as funções que deve executar quando clicado, a largura, a altura, o estilo da fonte, a cor do plano de fundo e a cor da fonte que deve ter.

Use o grade() gerenciador para organizar os botões em uma única linha e quatro colunas 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 um LabelFrame, frame de música. Isso conterá as músicas que você deseja reproduzir no seu reprodutor de música.

Personalize as propriedades do quadro e coloque-o no lado direito da faixa e do quadro do botão.

Adicione uma barra de rolagem vertical para acessar as músicas mesmo quando sua lista de músicas for longa.

Use o Caixa de listagem widget para exibir as músicas. Defina a cor de fundo a ser exibida ao selecionar o texto e o modo.

O modo único permite selecionar uma música por vez. Além disso, inicialize o estilo da fonte, a cor do plano de fundo, a cor da fonte, a largura da borda e o estilo 3D que você deseja em torno dela.

    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)

Coloque a barra de rolagem no lado direito da janela e preencha-a como Y. Isso garante que, sempre que você expandir a janela, a barra de rolagem também se expanda na direção Y.

Contudo Configure a caixa de listagem para usar o yview método da barra de rolagem para rolar verticalmente. Embale a caixa de listagem para ocupar o espaço horizontal e verticalmente.

Altere o diretório de trabalho atual para o caminho especificado. Repita as músicas e insira-as na caixa de listagem uma a uma.

Você usa FIM como o primeiro argumento, pois você deseja adicionar novas linhas ao final da caixa de listagem.

    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)

Defina uma função, tocar música. Defina a faixa para exibir o nome da música junto com o status como -Jogando.

De fato Use o carregar() e jogar() funções do módulo mixer.music do PyGame para carregar música para reprodução e iniciá-la.

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

Da mesma forma, defina funções para parar, pausar e retomar as músicas usando parar(), pausa()e não pausar().

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

Assim Inicialize a instância do Tkinter e exiba a janela raiz passando-a para a classe. O circuito principal() A função diz ao Python para executar o loop de eventos do Tkinter e escutar os eventos até que você feche a janela.

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

Junte todo o código e você terá seu reprodutor de música pronto para tocar na ponta dos dedos. Você pode personalizar ainda mais seu music player adicionando objetos e formas usando os módulos de desenho do PyGame.

Saída do aplicativo Music Player usando Python

De fato Ao executar o programa, o music player inicia as músicas que você selecionou como uma lista de reprodução.

Contudo Ao escolher qualquer uma das músicas e bater no botão Jogar botão, a música começa a tocar. Da mesma forma, a música pausa, retoma e para de tocar com o clique dos botões apropriados.

Criando jogos com o módulo PyGame

PyGame é um módulo poderoso que você pode usar para criar jogos como Frets on Fire, Flappy Bird, Snake, Super Potato Bruh, Sudoku e muito mais.

O PyGame possui um design orientado a objetos, para que você possa reutilizar códigos e personalizar os personagens de seus jogos facilmente.

Ele oferece suporte e fornece ótimos gráficos, sons, ferramentas de entrada e saída, para que você possa se concentrar em projetar seu jogo em vez de investir seu tempo na codificação de cada minuto de recurso.

Assim Como alternativa, você pode explorar o Pyglet e o Kivy, que são mais rápidos, suportam projetos 3D, são mais intuitivos e vêm com atualizações regulares.

Similar Posts