Jump to content

MP3 Player com Erro


@Andre Filipe

Recommended Posts

 Olá,

  Começei a fazer um MP3 Player (ou MP3 Media Player), mas eu não consigo ouvir a música. Ou seja eu fiz o MP3 Player e depois run, e quando eu cliquei no botão de Play/Pausepara começar a música nada acontece, mas a música está a tocar, ou seja eu não tenho permissão para ouvir a música mas a música está a tocar. Como posso resolver ?

Libs: Tkinter, Pygame

Aqui está o código:

# import
from tkinter import *
import pygame
import os

root = Tk()
root.title('MP3 Media Player')
root.geometry('500x300')

def play_pause():
    global n
    n=n+1
    if n==1:
        song_name=playlist_box.get()
        pygame.mixer.music.load(song_name)
        pygame.mixer.play(0)
        print("Music started")

    elif (n%2)==0:
        pygame.mixer.music.pause()
        print("Paused")
        
    elif (n%2)!=0:
        pygame.mixer.music.unpause()
        print("unPaused")
    

l1=Label(root,text="MP3 Music Player",font="times 20")
l1.grid(row=1,column=1)

b2=Button(root,text="Play/Pause",width=20, command=play_pause)
b2.grid(row=4,column=1)

playlist=os.listdir()
playlist_box=StringVar(root)
playlist_box.set('Select Songs')
menu=OptionMenu(root,playlist_box,*playlist)
menu.grid(row=4,column=4)

root.mainloop()

 

I never give up!

Link to comment
Share on other sites

5 horas atrás, M6 disse:

Se a música está a tocar como é que não tens permissão para a ouvir?

  Pois essa parte também não compreendo. Mas depois de algum tempo sem resposta decidi tentar várias coisas, desliguei a internet (para não pensarem que fi copie paste), e então fui tentando algumas coisas até que funcionou!

Código:

from pygame import *
from tkinter import *
import tkinter as tk
import pygame as pg

root = tk.Tk()
root.title("MP3 Player")
#root.geometry("") simplesmente não pus, não achei necessário!
pg.init()

def Exit():
    stop = True

    while stop:
        stop = False
        break

def Play():
    music = ("a tua música.mp3")
    pg.mixer.music.load(music)
    pg.mixer.music.play()
    pg.mixer.music.get_volume()
    pg.mixer.music.set_volume("0.7")
    print("Music playing...")
    
def Pause():
    pg.mixer.music.pause()
    print("Music paused")

def unPause():
    pg.mixer.music.unpause()
    print("Music playing...")
    
B1=Button(root,text="Play",width=30,fg="black",bg="cyan", command=Play)
B1.grid(row=5,column=1)

B2=Button(root,text="Pause",width=30,fg="black",bg="yellow", command=Pause)
B2.grid(row=6,column=1)

B3=Button(root,text="UnPause",width=30,fg="black",bg="green", command=unPause)
B3.grid(row=7,column=1)

B4=Button(root,text="Exit",width=30,fg="black",bg="red", command=Exit)
B4.grid(row=8,column=1)

root.mainloop()

  E ficou assim! Não tem uma interface muito atraente, mas para já, serve.

Edited by @Andre Filipe

I never give up!

Link to comment
Share on other sites

Agora surge uma nova dúvida, estou a tentar implementar um ícone no botão Play, e até agora só fracasso! Por exemplo, eu tentei: pg.image.load('play.jpg')(neste caso é pg porque eu import pygame as pg) fracasso.

  Também tentei,

pg.image.load('C:\xxxx\Users\xxxx\Desktop\play.jpg'), fracasso outra vez. Como posso resolver ?

I never give up!

Link to comment
Share on other sites

Essa questão não tem a ver com o Python mas sim com o PyGame.
É melhor veres na documentação e/ou fazeres um tutorial a nível de manipulação de imagens com o PyGame para compreenderes as APIs do mesmo.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.