-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.py
More file actions
132 lines (117 loc) · 4.68 KB
/
index.py
File metadata and controls
132 lines (117 loc) · 4.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
import os
from tkinter import *
from tkinter import filedialog, ttk
from pygame import mixer
class musica:
def __init__(self, ventana):
# Estas variables sirve para controlar la app
self.repro_musica = False
self.musica_a_reproducir = ''
self.nombre_musica = ''
# Notebook
barra_menu = Menu(ventana)
menu_archivo = Menu(barra_menu, tearoff=0)
menu_archivo.add_command(label="Guida de uso",
command=self.guia_de_uso)
barra_menu.add_cascade(label="Como se usa", menu=menu_archivo)
ventana.config(menu=barra_menu)
# Que esta reproduciendo
self.ReproduciendoLabel = Label(
ventana, text="No estas reproduciendo nada", bg="black", fg="white", font=("Arial", 20))
self.ReproduciendoLabel.config(
bg="black", fg="white", font=("Arial", 12))
self.ReproduciendoLabel.config(width=50, height=5, border=0)
self.ReproduciendoLabel.place(x=77, y=440)
# Boton Pausa
self.pause = Button(ventana, text="⏸", bg="white",
fg="black", font=("Arial", 20), command=self.pausa)
self.pause.place(x=16,y=590)
self.pause.config(width=8, height=2)
# Boton Reproducir
self.play = Button(ventana, text="▶️", bg="white", fg="black", font=(
"Arial", 20), command=self.reproducir)
self.play.place(x=150,y=590)
self.play.config(width=10, height=2)
# Boton Reiniciar
self.reset = Button(ventana, text="↻", bg="white",
fg="black", font=("Arial", 20), command=self.reset)
self.reset.place(x=300,y=590)
self.reset.config(width=10, height=2)
# Boton Abrir
self.open = Button(ventana, text="📁", bg="white",
fg="black", font=("Arial", 20), command=self.abrir)
self.open.place(x=450,y=590)
self.open.config(width=8, height=2)
# Funciones
# Abrir archivo
def abrir(self):
self.musica_a_reproducir = filedialog.askopenfilename()
# lo guarda en una variable
self.nombre_musica = os.path.basename(self.musica_a_reproducir)
# Muestra que estas reproduciendo
self.ReproduciendoLabel = Label(
ventana, text=self.nombre_musica, bg="black", fg="white", font=("Arial", 20))
self.ReproduciendoLabel.config(
bg="black", fg="white", font=("Arial", 12))
self.ReproduciendoLabel.config(width=50, height=5, border=0)
self.ReproduciendoLabel.place(x=77, y=440)
# Esta funcion reproduce la cancion
def reproducir(self):
mixer.init()
mixer.music.load(self.musica_a_reproducir)
mixer.music.play()
self.play["state"] = DISABLED
self.repro_musica = True
# Esta funcion Pausa la cancion
def pausa(self):
# Si esta repro_musica es true quiere decir que esta reproduciendo
if self.repro_musica:
mixer.music.pause()
self.repro_musica = False
self.pause.config(text="▶️")
# Si esta repro_musica es false quiere decir que esta pausada
else:
mixer.music.unpause()
self.repro_musica = True
self.pause.config(text="⏸")
# Reinicia la cancion
def reset(self):
mixer.music.stop()
mixer.music.load(self.musica_a_reproducir)
mixer.music.play()
# Volvemos a poner repro_musica en true para que se pueda pausar
self.repro_musica = True
def guia_de_uso(self):
ventana_secundaria = Toplevel()
ventana_secundaria.title("Guia de uso")
ventana_secundaria.geometry("200x200")
ventana_secundaria.resizable(0, 0)
etiqueta = Label(
ventana_secundaria, text="1. Abre la cancion \n 2.haz click en reproducir \n 3. Pausa la cancion \n 4. Reinicia la cancion")
etiqueta.pack()
ventana_secundaria.config(width=300, height=200)
boton_cerrar = ttk.Button(
ventana_secundaria,
text="cerrar",
command=ventana_secundaria.destroy
)
boton_cerrar.place(x=60, y=85)
# Elementos Pantalla
ventana = Tk()
ventana.iconbitmap(
'.\\assets\\img\\icono.ico')
ventana.resizable(0, 0)
imagen = PhotoImage(
file=".\\assets\\img\\portada.png")
imagenLogo = PhotoImage(
file=".\\assets\\img\\headset.png")
Label(ventana, image=imagen).place(x=0, y=0)
Label(ventana, image=imagenLogo).place(x=180, y=120)
# Titulo de la ventana
ventana.title('Reproductor de Audio')
ventana.geometry("600x700")
ventana.config(bg="gray", bd=0)
ventana.configure(bg="black")
# Instanciamos
musica(ventana)
ventana.mainloop()