Kivy 简明教程

Kivy - Videos

Kivy 框架中的视频小组件能够显示视频文件和流。你可以用视频小组件播放的视频格式取决于操作系统、安装的视频提供商以及任何所需的插件。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

视频类的其他属性如下:

  1. duration - 视频的持续时间。持续时间默认为 “-1”,当视频加载时被设置为实际持续时间。

  2. eos - 代表 “流结束”。布尔属性表示视频是否已完成播放(已达到流结束)。

  3. play - 表示视频是否正在播放。你可以通过将此属性设置为 True 或 False 开始/停止视频。

  4. position - 视频在 0 和持续时间之间的位置。位置默认为 -1,当视频加载时被设置为实际位置。

  5. seek() - 将位置更改为总持续时间的比例,必须介于 0-1 之间。

  6. 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'
  1. volume - 视频的音量,范围 0-1。1 表示全音量,0 表示静音。

Example

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()

Output

当您运行上述代码时,视频播放开始 -

kivy videos