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 (enlace roto).
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:
https://youtu.be/todhoMD1jBY (enlace roto)
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:
