Kivy - 视频

创建于 2024-12-03 / 23
字体: [默认] [大] [更大]

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。

# 在创建时开始播放视频
video = Video(source='test.mp4', play=True)

# 创建视频,稍后启动
video = Video(source='test.mp4')

# 稍后
video.play = True

Video 类的其他属性如下所列 −

  • duration − 视频的持续时间。持续时间默认为"-1",并在视频加载时设置为实际持续时间。

  • eos − 代表"流结束"。布尔属性表示视频是否已播放完毕(到达流的末尾)。

  • play − 表示视频是否正在播放。您可以通过将此属性设置为 True 或 False 来开始/停止视频。

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

  • seek() −更改要查找的位置,作为总持续时间的比例,必须在 0-1 之间。

  • state − 一个字符串,表示是否播放、暂停或停止视频 −

# 在创建时开始播放视频
video = Video(source='test.mp4', state='play')

# 创建视频,稍后开始
video = Video(source='test.mp4')

# 稍后
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 视频

0 人点赞过