miércoles, 31 de octubre de 2018

Unidad 3: Desplegar imagen y sonido (nombre)

Desplegar imagen y sonido (nombre)


Programa que despliegue imágenes con su sonido correspondiente y arreglo con los nombres utilizando hilos

Código:


# coding=utf-8
from Tkinter import * #para crear la GUI
from PIL import Image, ImageTk # para desplegar imagenes
import os #Una libreria para dar una ruta path de una carpeta
import random #para seleccionar y dar numeros aleatorios
import pygame as pygame #la libreria se usara para el sonido
import threading

root = Tk() #Para la ventana de la app de TK
root.geometry("500x500") #tamaño de la ventana

dir = os.path.dirname(__file__)#lo utilizo para dar una ruta de la imagenes
fotos = dir + "/imagenes/" #ruta carpeta de la imagenes
sonidos = dir +"/sonidos/" #ruta carpeta de los sonidos
#numeros aleatorios
arreglo = [1,2,3,4,5,6,7,8] #para crear un arreglo con el num de las imagenes
eleccion_aleatoria = str(arreglo.index(random.choice(arreglo))+1) #indice del arreglo,random
print eleccion_aleatoria + '\n' #muestra el num aleatorio
figura = fotos + eleccion_aleatoria + '.png' # direccion de la imagen
print figura # muestra la ruta de la imagen
"como depliego el archivo en la ventana Tk"
img = Image.open(figura) #abre la imagen
tkimage = ImageTk.PhotoImage(img) # la imagen en la variable tkimage
lab = Label(root,image = tkimage)#despliega la imagen en la ventana Tk por la etiqueta
lab.pack()

#para reproducir sonido
sonido = sonidos +"s_" + eleccion_aleatoria + ".mp3" # asignacion de ruta de sonidos en la variable
print sonido #muestra la ruta de sonido
pygame.mixer.init()
pygame.mixer.music.load(sonido) #abre el archivo
pygame.mixer.music.play() #reproduce sonido


arreglo1 = ["CAT", "DOG", "HOUSE", "PENCIL", "WEAPON", "3D", "ROSE", "CAR"]#nombres de la imagen
nombre = str(arreglo1[int(eleccion_aleatoria) -1]) #asigna el nombre de la imagen
print 'objeto > ' + nombre # muestra el nombre del objeto en consola
nom = Label(root, text = nombre, font=("Arial", 20)).place(x =200, y=250)#etiqueta del nombre de imagen

root.mainloop()



Ejecución:





Link de sonido: https://drive.google.com/open?id=1b3DGofeDB8BHTRnFvlQE3ez-aX_ZkcC9

Link de imágenes: https://drive.google.com/open?id=1uV_JdnF1guOnrKCXBEmPfp4n1p2IHqR0

No hay comentarios:

Publicar un comentario