Reproductor de vídeo con python y kivy
Posted on sáb 19 abril 2014 in Tutorial Python • 2 min read
De los dos artículos anteriores, el introductorio con manejo de etiquetas; y el de botón y scatter ahora explicaré algo más completo, la reproducción de un vídeo.
Este artículo se basa en inglés sobre un reproductor de vídeo y scatter con kivy.
Ahora se mostrará como asociar un evento (una función) al botón al darle click.
A continuación el código del reproductor:
#Se importa kivy y se valida que es la versión 1.8.0
import kivy
kivy.require('1.8.0')
#Se importa la clase App
from kivy.app import App
#Se importa Button, Widget y VideoPlayer
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.uix.videoplayer import VideoPlayer
#Se instancia Widget y Button.
parent= Widget()
button= Button()
#Se crea la clase MyApp que hereda de App
class MyApp(App):
#Se define el método build.
def build(self):
#Se instancia Button con su texto y tamaño del mismo.
button = Button(text='Reproductor Video', font_size=14)
#Se asocia al boton la función on_button_press al argumento on_press
button.bind(on_press=on_button_press)
#Se agrega button a la instancia de parent
parent.add_widget(button) #agrega el boton
#Retorna parent
return parent
#Se define la función on_button_press
def on_button_press(self):
#Se crea la instancia de VideoPlayer donde se le pasa como argumento la fuente de vídeo,
#el estado y la opción allow_stretch True.
video= VideoPlayer(source='Tribus-SethGodin.webm', state='play',options={'allow_stretch': True})
#Se agrega el vídeo a la instancia parent
parent.add_widget(video) #add videoplayer
#Se retorna parent
return parent
if __name__ == '__main__':
MyApp().run()
El resultado de reproducir el script se muestra en el siguiente vídeo:
Nota: El vídeo del reproductor no tiene problemas con el audio, el problema generador de screencast no he logrado hacer que grabe audio :-/ ...
Si desea conocer más sobre el widget VideoPlayer puede ver el siguiente enlace.
¡Haz tu donativo! Si te gustó el artículo puedes realizar un donativo con Bitcoin (BTC) usando la billetera digital de tu preferencia a la siguiente dirección: 17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV
O Escaneando el código QR desde la billetera: