Kivy - 视频



Kivy 框架中的 Video 控件能够播放视频文件和流媒体。您可以播放的视频格式取决于操作系统、已安装的视频提供程序以及任何所需的插件。GStreamer 提供程序几乎可以处理任何视频编解码器,例如 mpg、avi、mp4、mov 等。

Video 类定义在 "kivy.uix.video" 模块中。

from kivy.uix.video import Video

vid = Video(**args)

构造函数唯一必需的参数是 source 属性 - 一个表示视频文件路径的字符串。

vid = Video(source = "test.mp4")

为了开始视频播放,您需要将其 play 属性设置为 True。您可以在构造函数中传递此参数以在视频加载后立即开始播放,或者根据需要将其设置为 True/False。

# start playing the video at creation
video = Video(source='test.mp4', play=True)

# create the video, and start later
video = Video(source='test.mp4')

# and later
video.play = True

Video 类的其他属性如下所示:

  • duration - 视频时长。时长默认为 "-1",并在视频加载时设置为实际时长。

  • eos - 代表“流结束”。布尔属性指示视频是否播放完毕(到达流的结尾)。

  • play - 指示视频是否正在播放。您可以通过将此属性设置为 True 或 False 来启动/停止视频。

  • position - 视频位置,介于 0 和 duration 之间。位置默认为 -1,并在视频加载时设置为实际位置。

  • seek() - 将位置设置为总时长的比例,必须在 0-1 之间。

  • state - 字符串,指示播放、暂停或停止视频 -

# start playing the video at creation
video = Video(source='test.mp4', state='play')

# create the video, and start later
video = Video(source='test.mp4')

# and later
video.state = 'play'
  • volume - 视频音量,范围为 0-1。1 表示全音量,0 表示静音。

示例

from kivy.app import App
from kivy.uix.videoplayer import VideoPlayer
from kivy.uix.video import Video
from kivy.core.window import Window

Window.size = (720,400)

class MainApp(App):
   title = "Simple Video"
   def build(self):
      player = Video(source = "earth.mp4",
         size_hint = (1,1),
         options={'fit_mode': 'contain'})
      player.state = 'play'
      player.options = {'eos': 'loop'}
      player.allow_stretch=True
      return player

MainApp().run()

输出

运行以上代码后,视频播放开始 -

Kivy Videos
广告