视频

Video 控件用于显示视频文件和流。根据您的视频核心提供者、平台和插件,您将能够播放不同的格式。例如,pygame 视频提供者仅支持 Linux 和 OSX 上的 MPEG1。GStreamer 更为通用,可以读取许多视频容器和编解码器,如 MKV、OGV、AVI、MOV、FLV(如果安装了正确的 gstreamer 插件)。我们的 VideoBase 实现被用于底层。

视频加载是异步的——许多属性在视频加载完成(即纹理创建时)之前不可用:

def on_position_change(instance, value):
    print('The position in the video is', value)

def on_duration_change(instance, value):
    print('The duration of the video is', value)

video = Video(source='PandaSneezes.avi')
video.bind(
    position=on_position_change,
    duration=on_duration_change
)

可以通过向构造函数传递``preview``来定义一个预览图像,该图像在视频启动或加载之前显示。

video = Video(
    source='PandaSneezes.avi',
    preview='PandaSneezes_preview.png'
)

可以通过响应 eos:: 事件,在视频停止时显示占位图像。

def on_eos_change(self, inst, val):
    if val and self.preview:
        self.set_texture_from_resource(self.preview)

video.bind(eos=on_eos_change)
class kivy.uix.video.Video(**kwargs)[源代码]

基类:Image

Video 类。更多信息请参阅模块文档。

duration

视频的时长。时长默认为-1,当视频加载后会设置为实际时长。

duration 是一个 NumericProperty,默认值为 -1。

eos

布尔值,指示视频是否已播放完毕(到达流的末尾)。

eos 是一个 BooleanProperty,默认值为 False。

loaded

布尔值,指示视频是否已加载并准备好播放。

在 1.6.0 版本加入.

loaded 是一个 BooleanProperty,默认值为 False。

options

传递给Video核心对象创建时的选项。

在 1.0.4 版本加入.

options 是一个 kivy.properties.ObjectProperty,默认值为 {}。

play

自 1.4.0 版本弃用: 请改用 state

布尔值,指示视频是否正在播放。您可以通过设置此属性来启动/停止视频::

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

# create the video, and start later
video = Video(source='movie.mkv')
# and later
video.play = True

play 是一个 BooleanProperty,默认值为 False。

自 1.4.0 版本弃用: 请改用 state

position

视频在0和:attr:`duration`之间的位置。位置默认为-1,并在视频加载时设置为实际位置。

position 是一个 NumericProperty,默认值为 -1。

preview

视频开始前显示的预览图像的文件名/来源。

preview 是一个 StringProperty,默认值为 None。

如果设置了该属性,它将在视频加载/开始前显示。

在 2.1.0 版本加入.

seek(percent, precise=True)[源代码]
将位置改为百分比(严格来说,是比例)。

持续时间的。

参数:
percent:浮点数或整数

以总时长的比例表示要定位到的位置,必须在0-1之间。

precise:布尔值,默认为 True

精确跳转较慢,但会定位到请求的精确百分比位置。

警告

在视频加载完成之前调用seek()是无效的。

在 1.2.0 版本加入.

在 1.10.1 版本发生变更: precise 关键字参数已被添加。

state

字符串,指示视频是播放、暂停还是停止:

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

# create the video, and start later
video = Video(source='movie.mkv')
# and later
video.state = 'play'

state 是一个 OptionProperty,默认值为 'stop'。

unload()[源代码]

卸载视频。播放将会停止。

在 1.8.0 版本加入.

volume

视频音量,范围在0-1之间。1表示最大音量,0表示静音。

volume 是一个 NumericProperty,默认值为 1。