[认领]: [开发插件]视频屏保和发布工具 · Issue #34 · deepin

您所在的位置:网站首页 deb插件安装 [认领]: [开发插件]视频屏保和发布工具 · Issue #34 · deepin

[认领]: [开发插件]视频屏保和发布工具 · Issue #34 · deepin

2022-12-10 16:29| 来源: 网络整理| 查看: 265

任务描述

Deepin系统中自带了多种实时渲染的屏幕保护程序。在桌面右键菜单中壁纸与屏保选项进入设置界面,然后点击屏保按钮即可预览和设置屏保。 上图中每个屏保都是独立的可执行程序,其存放在/usr/lib/deepin-screensaver/modules/。它们都被屏保服务deepin-screensaver统一管理,新开发的屏保程序只需安装到该路径下即可被屏保服务加载。

其中每个屏保的名称就是可执行程序名,如lament。在modeles下直接运行:

cd /usr/lib/deepin-screensaver/modules/ ./lament 会出现一个窗口化的屏保程序。 若使用屏保服务启动,则以全屏的形式运行,系统进入显示屏保的状态。

deeepin-screensaver lament 另外/usr/lib/deepin-screensaver/modules/cover还存放了屏保的缩略图,格式为屏保名称.jpg,如lament的缩略图为lament.png,而带@2x和@3x后缀的为尺寸更大的缩略图。

deeepin-screensaver在启动时会首先创建屏保窗口,然后启动屏保应用,并将窗口ID(如12345678)传给屏保应用。如在启动lament,执行的命令为

lament -window-id 12345678 屏保应用通过启动参数获取到窗口ID后需要将该窗口ID设置为自己的窗口的父窗口,使得绘制的屏保画面能显示在正确的位置。

基于deepin-screensaver服务框架,完成一个能播放视频的屏保程序和发布工具。

视频屏保程序应该满足:

项目使用Qt管理,使用Qt开发套件。

屏保程序至少可播放mp4、avi、mov格式的视频文件。

屏保程序根据可执行程序的名称(exe),加载对应文件夹下的视频资源(/usr/share/$exe/resource/)。

如:屏保程序的可执行名称为demo时,其需加载的资源目录为/usr/share/demo/resource/。

若将其文件名为test后,其加载的资源目录变为/usr/share/test/resource/。

屏保启动后以静音模式轮播资源目录下的视频文件。

屏保支持直接运行,启动后以窗口化的形式播放视频。

屏保支持指定父窗口,即以传参-window-id的形式,启动后视频在传入的窗口上播放。

屏保以指定父窗口的模式运行时,视频播放界面的大小位置需与父窗口一致。

屏保程序安装后,可在桌面的屏保设置窗口显示并预览。

在屏保设置窗口可设置该屏保程序为当前屏保,并在静置后启动该屏保,播放视频。

发布工具应该满足:

项目使用Qt管理,使用Qt与DTK开发套件。

工具内置视频屏保程序,作为模板。

工具界面应使用DTK控件,包含以下功能:

工具以向导的形式依次执行以下步骤。 输入屏保名称,仅支持文件名可用的英文和字符。 导入本地视频文件,需校验视频格式是否支持。 导入缩略图,需校验图片格式。 打包发布。 跟随系统主题切换深色/浅色模式。 工具点击发布后自动按Debian包规范生成资源文件,并自动打包为deb安装包。

安装包包含以下资源:

文件名为输入的屏保名称的视频屏保程序。 文件名为输入的屏保名称.jpg等符合规范的缩略图。 导入的视频文件。 安装包安装资源:

可执行程序安装到/usr/lib/deepin-screensaver/modules/

缩略图安装到/usr/lib/deepin-screensaver/modules/cover/

视频文件安装到/usr/share/$可执行程序名/resource/

发布工具不限使用次数,可发布多个视频屏保。

发布的安装包程序安装后可正常使用。

验收标准

项目用 Qt 管理,基于Qt开发 视频屏保程序满足功能要求 发布工具满足功能要求 发布的安装包符合Debian包规范,可正常使用 视频播放流畅,无较高的硬件资源占用 程序无内存泄漏、卡死、崩溃 能够正确的启动和退出 代码符合 deepin 编码风格

联系方式

Github:LookAt-MeNow 邮箱:[email protected]



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3