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:

https://youtu.be/todhoMD1jBY

!embed

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:

17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV