目录
视频¶
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)[源代码]¶
基类:
ImageVideo 类。更多信息请参阅模块文档。
- 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'。
- volume¶
视频音量,范围在0-1之间。1表示最大音量,0表示静音。
volume是一个NumericProperty,默认值为 1。