Unidad 3: Imagen y sonido, uso de hilos y Button
En este programa se hace uso de los hilos, botones que iniciara y el de terminar para comenzar y parar las imágenes y sonidos.
Código:
from Tkinter import *
from PIL import Image, ImageTk
import os
import random
import sys
import pygame
import time
import threading
carpeta = os.path.dirname(__file__)
fotos = carpeta + "/imagenes/"
Sonidos = carpeta + "/sonidos/"
img = object
sonido = object
stop = object
def load():
global fotos, img, label, label2, stop
stop = 0
while stop == 0:
arreglo = ["CAT", "DOG", "HOUSE", "PENCIL", "WEAPON", "3D", "ROSE", "CAR"]
eleccion_aleatoria = int(arreglo.index(random.choice(arreglo)))
figura = fotos + str(eleccion_aleatoria + 1)+ ".png"
imagen = Image.open(figura)
imagen.thumbnail((500, 500), Image.ANTIALIAS)
img = ImageTk.PhotoImage(imagen)
label.config(image=img)
print 'objeto > ' + arreglo[eleccion_aleatoria] # muestra el nombre del objeto en consola
label2.config(text=arreglo[int(eleccion_aleatoria)])
# Para Reproducir sonido
sonido = Sonidos + "s_"+ str(eleccion_aleatoria + 1) + ".mp3" # obtengo la ruta del sonido correspondiente
print figura # muestra la direccion de la figura
print sonido # muestra la direccion del sonido
pygame.mixer.music.load(sonido) # Abre el archivo
pygame.mixer.music.play() # Reproduce sonido
time.sleep(2)
print "Hilo terminado"
def stop():
global stop
print stop
stop = 1
print "stop = 1"
def play():
hilo = threading.Thread(target=load)
hilo.start()
print "play"
pygame.init() # inicializa el modulo de sonido de pygame
root = Tk()
root.geometry("500x500")
label = Label(root)
label.pack()
label2 = Label(root, text="", font=("Arial", 12, "bold"))
label2.pack()
btn1 = Button(root, text="Iniciar", command=play).pack(fill=X)
btn2 = Button(root, text="Terminar", command=stop).pack(fill=X)
root.mainloop()
Muestra el objeto nombre de la imagen que se va presentando, y la dirección donde se encuentra la imagen y sonido correspondiente.
Link de sonido: https://drive.google.com/open?id=1b3DGofeDB8BHTRnFvlQE3ez-aX_ZkcC9
Link de imágenes: https://drive.google.com/open?id=1uV_JdnF1guOnrKCXBEmPfp4n1p2IHqR0
Link de imágenes: https://drive.google.com/open?id=1uV_JdnF1guOnrKCXBEmPfp4n1p2IHqR0


No hay comentarios:
Publicar un comentario