Imagenes y Sonidos con Pygame

El dia de hoy veremos unos programas donde usamos Pygame y PIL como librerias para procesar sonidos he imagenes.

Comencemos con un pequeño programa de animales y su sonido:


from Tkinter import *
from PIL import Image,ImageTk
import os
import random
import sys
import pygame
import time

carpeta=os.path.dirname(__file__)
print carpeta
fotos=carpeta+"/Imagenes/"
Sonidos=carpeta+"/Sonidos/"
print fotos
print Sonidos

arreglo=[0,1,2,3,4,5,6,7,8]
eleccion_aleatoria=str(arreglo.index(random.choice(arreglo)))
print eleccion_aleatoria

figura=fotos+eleccion_aleatoria+".png"
print figura
root = Tk()
root.geometry("200x100")

imagen=Image.open(figura)
imagen.thumbnail((500, 500), Image.ANTIALIAS)
img=ImageTk.PhotoImage(imagen)
label=Label(root,image=img).pack()

#Para Reproducir sonido
sonido=Sonidos+eleccion_aleatoria+".mp3" #obtengo la ruta del sonido correspondiente
time.sleep(0.5)
pygame.init() #inicializa el modulo de sonido de pygame
pygame.mixer.music.load(sonido) #Abre el archivo
pygame.mixer.music.play() #Reproduce sonido

root.mainloop()

Salida:


Ahora presentemos un programa con una ligera modificación, agreguemos el hecho de mostrar el nombre de cada animal debajo de su imagen con un label, este debera ser acorde al animal aleatorio seleccionado:


from Tkinter import *
from PIL import Image,ImageTk
import os
import random
import sys
import pygame

carpeta=os.path.dirname(__file__)
print carpeta
fotos=carpeta+"/Imagenes/"
Sonidos=carpeta+"/Sonidos/"
print fotos
print Sonidos

arreglo=["Leon","Gallo","Jirafa","Rana","Panda","Buho","Elefante","Tigre","Lobo"]
eleccion_aleatoria=str(arreglo.index(random.choice(arreglo)))
print eleccion_aleatoria

figura=fotos+eleccion_aleatoria+".png"
print figura
root = Tk()
root.geometry("200x140")

imagen=Image.open(figura)
imagen.thumbnail((500, 500), Image.ANTIALIAS)
img=ImageTk.PhotoImage(imagen)
label=Label(root,image=img).pack()
label2=Label(root,text=arreglo[int(eleccion_aleatoria)],font=("Arial",12,"bold")).pack()

#Para Reproducir sonido
sonido=Sonidos+eleccion_aleatoria+".mp3" #obtengo la ruta del sonido correspondiente
pygame.init() #inicializa el modulo de sonido de pygame
pygame.mixer.music.load(sonido) #Abre el archivo
pygame.mixer.music.play() #Reproduce sonido

root.mainloop()

Salida:


Si deseas los archivos te dejo la carpeta de descarga: Click Aqui

Comentarios