《Python+Kivy(App开发)从入门到实践》自学笔记:高级UX部件——VideoPlayer视频播放

本文主要是介绍《Python+Kivy(App开发)从入门到实践》自学笔记:高级UX部件——VideoPlayer视频播放,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

章节知识点总览

5.8 VideoPlayer视频播放

        可以用于播放视频,并实现用户自主控制播放视频、暂停播放、音量调节和窗口位置移动。由于众多基础窗口小部件的复杂组装,因此无法对窗口部件进行太多自定义。

注意:跟之前“简单UX部件——Video视频”中讲到的一样,

必须使用"pip install ffpyplayer"命令安装播放器!!!

5.8.1 使用方法

        可以使用options属性来对其进行一些快捷设置,例如:通过设置双击视频激活全屏播放,在默认情况下,如果视频小于窗口,则不会拉伸。关键代码如下:

options={'allow_stretch':True,'eos':'loop'}

        也可以通过eos属性来控制视频播放结束后的处理方式,可设置为"stop"、"pause"或"loop"。

        实例:VideoPlayer视频播放的使用方法

        视频文件:a.mp4-CSDN直播

        新建一个videoplayer.py文件,在其中添加一个VideoPlayer,具体代码如下:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.videoplayer import VideoPlayerclass 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 WindowWindow.clearcolor = [.8,.8,.8,1]VideoPlayerApp().run()

        运行videoplayer.py,结果如下图:

49dbcc6fd75c40ff93cd0100b558e02f.png

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)将位置更改为持续时间的百分比,视频加载之前调用无效

上一篇:高级UX部件——TabbedPanel选项面板

下一篇:高级UX部件——VKeyboard键盘

 

这篇关于《Python+Kivy(App开发)从入门到实践》自学笔记:高级UX部件——VideoPlayer视频播放的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/827047

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装