python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)

文章目录

  • 一.准备工作
  • 二.预览
    • 1.主界面
    • 2.添加本地文件
      • 1.静图展示
        • 1.列表视图
        • 2.缩略图视图
      • 2.动图演示
    • 3.查看视频信息&视频调节
      • 1.视频信息-toolTip
      • 2.视频信息-详细
      • 3.视频调节
    • 4.播放音频
      • 1.播放音频
      • 2.音频信息
    • 5.播放在线媒体
    • 6.广告
    • 7.登录窗口
    • 7.VIP解锁功能
  • 三.思维导图
  • 四.思考
    • 1.任务栏播放进度
    • 2.播放状态不息屏
    • 3.VIP功能
    • 4.文件删除
    • 5.视频信息获取
  • 五.BUG
    • 1.进度显示
    • 2.播放列表
  • 六.总结

本次在 之前版本的基础上加以改进,主要优化了播放列表展示逻辑,增加了隐藏功能。软件已打包好放在了文末。

一.准备工作

由于本篇仍然使用的QMediaPlayer,所以若要正常使用本播放器,需要额外下载插件用于解码。
下载地址:

https://github.com/Nevcairiel/LAVFilters/releases

如果访问太慢可以去我的蓝奏云下载:

https://wwe.lanzoul.com/iehNz0167ewb

二.预览

1.主界面

主界面还是熟悉的感觉。本次优化更注重功能。
python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)_第1张图片

2.添加本地文件

演示添加本地文件到播放列表并播放

1.静图展示

1.列表视图

python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)_第2张图片

2.缩略图视图

本次加入了缩略图视图,展示了视频的某一帧的缩略图,能够更直接展示视频信息。
python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)_第3张图片

2.动图演示

用户添加本地文件到播放列表中的方式有多个:主界面点击“打开文件”、菜单中添加单个文件、点击右上角选项、播放列表中右击项目、或者直接拖拽文件到播放器中也是可以的。播放视频时,播放列表会自动收起。

3.查看视频信息&视频调节

1.视频信息-toolTip

鼠标放在播放列表项目上会有简单的媒体信息提示。

2.视频信息-详细

可以在右侧播放列表中右击视频项目,选择媒体信息,查看所选媒体的详细信息。

python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)_第4张图片

3.视频调节

在视频播放过程中,可以通过点击进度条、或者按下键盘↑、↓键调节视频的进度,通过鼠标滚轮、键盘←、→键及点击音量slider控制播放器的音量。

4.播放音频

本软件支持音频播放

1.播放音频

python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)_第5张图片

2.音频信息

python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)_第6张图片

5.播放在线媒体

在主界面或者右上角选项中-选择打开URL,即可播放在线的媒体。

6.广告

本次创造性地增加了一个个性关广告,用来做一个自我宣传吧,点击广告cover可以调到博主的csdn播客首页,广告是固定的,已经写死在程序中了,展示逻辑是:当前视频前三次暂停展示。
python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)_第7张图片

7.登录窗口

登录窗口延续了之前的样式
请添加图片描述

7.VIP解锁功能

大家可能看到这就直接关闭浏览器了,大可不必,本次为了增加趣味性,添加了VIP功能,VIP可以享受额外的两个功能,1.去广告 2.额外增加一个播放列表,VIP解锁是永久的,除非用户重做系统,本次VIP的解锁暗号我将放在软件同级目录下(无套路)。
1.去广告,这个不需多说,就是永远不展示广告。
2.在播放列表中增加了一个IPTV在线视频列表,可以很方便地观看在线网络电视,此播放列表自带735个电视节目。

python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)_第8张图片

三.思维导图

光靠贴几张图还是不够全面,下图全面展示了本软件的所有功能。

python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)_第9张图片

四.思考

1.任务栏播放进度

在使用windows系统播放视频时,会有一个蓝色的进度,实时的同步着视频的进度,也可以把鼠标放在任务栏软件图标上,控制播放器的媒体内容、状态。
本次使用了QWinThumbnailToolBar、QWinThumbnailToolButton、QWinTaskbarButton三个类来进行操作。

2.播放状态不息屏

这是一个播放器的基本,如果在播放媒体时,屏幕进入了待机,那必然是会影响体验的。
本次在代码中使用了ctypes Python第三发库,此第三方库提供了一些系统层面的接口,只要进行简单的代码设置,即可实现屏幕强制显示,不会息屏、黑屏。

3.VIP功能

用户可能会纳闷:为什么我仅需要解锁一次就能够成为永久VIP?还有个性广告的展示逻辑是怎样的。
我来一一解释:
1.在用户成为VIP时,使用QSettings将这个状态写入注册表中,下次再启动时,读取这个注册表配置项,如果和我们设置的条件相符,则展示对应的VIP页面,享受VIP功能。
2.个性广告其实很简单,就是一个简单的QWidaget,设置其父窗口为播放器主窗口,设置一个广告展示计数器以及广告展示最大次数计数器,在播放器状态变为暂停状态时,对两个计数器进行判断,非VIP单个视频最多会展示3次个性广告,每次展示都会通过动态计算,让广告居于播放器的中间。

4.文件删除

这个功能在之前的版本就有,具体效果是:用户在播放列表选择了“删除本地文件”,那么此文件将会被放到回收站中,具体实现是通过调用了send2trash这个Python第三方库,其他细节不赘述。

5.视频信息获取

通过调用Python自带的os模块,获取视频的文件类型、大小、绝对路径…通过调用python-opencv实现视频的持续时间、帧率信息、分辨率等信息。通过自定义的对话框,将信息展示出来。

python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)_第10张图片

五.BUG

本软件存在两个不是很致命的BUG,虽然不会直接报错退出,但是也会影响用户体验,贴在下面:

1.进度显示

这个BUG在UI显示上
非全屏状态播放媒体,鼠标放在进度条上会有一个进度显示的,字体颜色为红色,但是仔细查看会发现,显示的进度并不对,会显示大于所选进度的值。

2.播放列表

这个BUG在实际功能上
播放本地文件时,当选择了当前播放文件之前的媒体项目时,选择删除或者点击了X删除此项目,可能会导致当前播放的内容为空。

六.总结

本次改进了阿雷影音,对之前版本播放列表部分进行了大改,完全重做了播放列表视图的UI,并且加入了自己的个性功能,提高了软件的趣味性,本次提高了代码的健壮性,GUI的容错性。UI方面仍然仿照xx影音进行开发,里面有很多冗余的功能,具体是没有功能的,点了也不会有响应,保留这些是为了与仿品UI同步。点击这里GET同款软件!如果觉得文章对你有帮助,还请帮我点个赞,毕竟软件是无偿的分享给大家。
python3GUI--做一款某雷影音播放器(第二弹v1.5)By:PyQt5(附下载地址)_第11张图片

你可能感兴趣的:(GUI-PyQt5,python小工具,qt,开发语言)