章节知识点总览
5.8 VideoPlayer视频播放
可以用于播放视频,并实现用户自主控制播放视频、暂停播放、音量调节和窗口位置移动。由于众多基础窗口小部件的复杂组装,因此无法对窗口部件进行太多自定义。
注意:跟之前“简单UX部件——Video视频”中讲到的一样,
必须使用"pip install ffpyplayer"命令安装播放器!!!
5.8.1 使用方法
可以使用options属性来对其进行一些快捷设置,例如:通过设置双击视频激活全屏播放,在默认情况下,如果视频小于窗口,则不会拉伸。关键代码如下:
options={'allow_stretch':True,'eos':'loop'}
也可以通过eos属性来控制视频播放结束后的处理方式,可设置为"stop"、"pause"或"loop"。
实例:VideoPlayer视频播放的使用方法
新建一个videoplayer.py文件,在其中添加一个VideoPlayer,具体代码如下:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.videoplayer import VideoPlayer
class VideoPlayerTest(BoxLayout):
def __init__(self,**kwargs):
super().__init__(**kwargs)
player = VideoPlayer(source='a.mp4',state='play',options={'allow_stretch':True,'eos':'loop'})
self.add_widget(player)
class VideoPlayerApp(App):
def build(self):
return VideoPlayerTest()
if __name__ == '__main__':
from kivy.core.window import Window
Window.clearcolor = [.8,.8,.8,1]
VideoPlayerApp().run()
运行videoplayer.py,结果如下图:
5.8.2 常用属性
VideoPlayer常用属性
属性 | 说明 |
source | 视频路径,默认为空 |
state | 视频状态,可设置为"play"、"pause"、"stop"方法,默认为"stop" |
thumbnail | 要显示视频的缩略图,如果为None,将尝试从"source+'.png'"查找缩略图 |
volume | 视频的音量范围是0-1,1表示满音量(默认),0表示静音 |
allow_fullscreen | 是否允许双击来全屏显示视频,默认为True |
annotations | 用于读取注释,默认为空 |
duration | 视频的时长,默认为-1 |
position | 视频的位置,在0到duration之间,默认为-1 |
fullscreen | 是否切换到全屏视图,会清除所有子级,谨慎使用,默认为False |
image_loading | 加载视频时使用的图片文件名,默认为“kivy\data\images\image-loading.gif” |
image_overlay_play | 设置在视频尚未开始播放时显示“播放”覆盖图,默认为“player-play-overlay.png” |
image_pause | 设置“播放”按钮的图像文件名,默认为“media-playback-pause.png” |
image_play | 设置“播放”按钮的图像文件名,默认为“media-playback-start.png” |
image_stop | 设置“停止”按钮的图像文件名,默认为“media-playback-stop.png” |
image_volumehigh | 设置音量低时一音量图标的图像文件名,默认为“audio-volume-low.png” |
image_volumedium | 设置音量中等大小时,音量图标的图像文件名,默认为“audio-volume-medium.png” |
image_volumeuted | 设置静音后音量图标的图像文件名,默认为“audio-volume-muted.png” |
options | 使用此属性将可选参数传递给实例,默认为{} |
start | 注释的开始时间,默认为0 |
seek(percent,percision=True) | 将位置更改为持续时间的百分比,视频加载之前调用无效 |