python3GUI--本地简易音乐播放器By:PyQt5(附下载地址)

文章目录

  • 二.展示
    • 1.启动
    • 2.添加音乐&播放
    • 3.软件风格
  • 三.软件整体功能-览
  • 四.实现原理
    • 1.界面设计
    • 2.音频播放
    • 3.打包
  • 五.总结


博客二连发,继续为大家带来我使用PyQt5开发的软件,本次为大家分享我写的一款本地音乐播放器,支持多种音乐格式包括不限于mp3、flac、aac,本篇尽量比较详细介绍每一部分开发思路,开始~

二.展示

1.启动

我们的音乐播放器只有一个页面,所有操作都是在这一个页面进行的,所以界面很简单
在这里插入图片描述

2.添加音乐&播放

本次是一款本地音乐播放器,支持播放的也都是本地文件,我们点击添加按钮添加本地音乐文件到播放列表中。
在这里插入图片描述

3.软件风格

本次使用QT内置的方法,内置了三种风格样式,下面仅演示一下Fusion样式
在这里插入图片描述

三.软件整体功能-览

在这里插入图片描述

四.实现原理

1.界面设计

为了开发效率,本次使用QtDesigner设计页面,使用pyuic将设计好的.ui文件转为.py文件,通过使用多继承的方式调用生成好的界面ui文件,这样保证了开发效率也进行了解耦,详细设计见下图

整体是一个垂直布局,上面是一个QListWidget,中间使用水平布局与弹簧设置QLabel居中用于显示当前状态,使用两个QLabel显示当前播放进度,中间使用QSlider给予用户一个调节播放进度的接口组件,最下方一排是QPushButton与QComboBox内部水平布局。
在这里插入图片描述

2.音频播放

下面介绍一下本软件实现音频播放的原理:
使用QMediaPlayer配合本机解码器对音频进行解析播放,使用
QMediaPlaylist用作播放列表,存储播放列表中的本地音频文件,调用其中的方法设置播放模式,上一曲与下一曲的实现也是通过调用QMediaPlaylist相关方法实现的。QMediaPlayer给我们提供了相当丰富的信号,我们可以连接到自己的槽函数来操作播放器,比如连接positionChanged信号,我们可以获取播放器的最新播放位置,将其格式化后展示到界面上,就能知道当前的播放进度,连接mediaStatusChanged信号,我们能获取到最新的播放列表索引继而更新界面上展示的文件信息。

3.打包

本次仍然使用Nuitka进行打包,使用NIS Edit制作成安装包,安装包大小为27.3M,大家可以自行下载体验一下,启动速度还是很快的。
下载地址:

https://wwt.lanzoul.com/i2VAu1wppx9g

五.总结

本次使用PyQt5制作了一款本地简易音乐播放器。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/579840.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库常见SQL语句宝典

一 、常用操作数据库的命令 1.查看所有的数据库 : show databases;2.创建一个数据库 : create database if not exists 数据库名;3.删除一个数据库 : drop database if exists 数据库名;4.选择一张表 (注意在建表之前必须要选择数据库) : use 表名;* --tab 键的上面&#x…

如何我现在是本地的文件路径不是http,用html如何打开

--别给我BB 如何我现在是本地的文件架路径不是http,用html如何打开? 答: 如果你想在HTML中打开本地文件路径的视频,可以使用file://协议。假设你的视频文件在本地的路径为/path/to/your/video.mp4,那么你可以将src属性设置为file…

ULTIMATE VOCAL REMOVER V5 for Mac:专业人声消除软件

ULTIMATE VOCAL REMOVER V5 for Mac是一款专为Mac用户设计的人声消除软件,它凭借强大的功能和卓越的性能,在音乐制作和后期处理领域崭露头角。 ULTIMATE VOCAL REMOVER V5 for Mac v5.6激活版下载 这款软件基于深度神经网络,通过先进的训练模…

关于win11如何打开Hyper-V详解

文章目录 概要一、安装Hyper-V二、启用Hyper-V 概要 我是想要在win11家庭版用docker部署一个,gpt大模型,一开始走了很多弯路,因为要打开Hyper-V,所以我搜集到了一个方法,因为一般win11家庭版的Hyper-v是默认隐藏的&am…

rust前端web开发框架yew使用

构建完整基于 rust 的 web 应用,使用yew框架 trunk 构建、打包、发布 wasm web 应用 安装后会作为一个系统命令,默认有两个特性开启 rustls - 客户端与服务端通信的 tls 库update_check - 用于应用启动时启动更新检查,应用有更新时提示用户更新。nati…

redis基础(一)

启动与关闭 启动命令在/usr/local/bin目录 服务端后台启动:redis-server opt/redis-6.2.1/redis.conf 客户端连接:执行 redis-cli 关闭操作 ​ 方式1:进入终端后关闭 ​ 方式2:直接kill 掉进程 方式3:通过实例关闭 …

C++高级特性:C/C++内存结构模型(十一)

1、内存结构 C/C语言一只被认为是一种底层语言,与其他语言不一样,对内存结构理解是C/C程序员从入门到入土的开端。 其他编程语言对内存管理是透明的,程序员无序关心可以认为是一个黑盒;而C/C不一样理解好内存结构有利于编写健壮性…

碎碎念,最近做了几款小产品...

极简番茄时钟 一款 Mac 版「极简番茄时钟」软件。 知识卡片制作工具 主打简单,同时支持 Markdown 语法。 智能微信助手 让管理变得轻松,沟通更加高效。 感兴趣,欢迎来这里一起交流,限时免费 ~

【软件安装】(十六)双系统Ubuntu22.04引导启动菜单的默认项

一个愿意伫立在巨人肩膀上的农民...... 好学的人总是喜欢在电脑上安装双系统,可是安装好系统之后,就会出现默认启动优先级的苦恼,如果在Bios中设置Windows引导启动为优先启动,那么每次想要进如Ubuntu系统就都需要重新设置Bios。如…

基于 Redis 发布订阅实现服务注册与发现

写在前面 其实很少有公司会使用 Redis 来实现服务注册与发现,通常是ETCD、NACOS、ZOOKEEPER等等,但是也不妨碍我们了解。本文会先介绍 Redis 的发布/订阅模式,接着基于这个模式实现服务注册与发现。 Redis发布订阅流程图: Red…

北京半导体展会2024时间(入场时间+闭馆时间)

2024年第二十一届中国国际半导体博览会(IC CHINA) 时 间:2024 年 9 月 5 一 7 日 地 点:中国北京 北人亦创国际会展中心 作为中国半导体行业协会主办的唯一展览会,自 2003 年起已连续成功举办二十届,是…

ZCT-80零序电流互感器配继电器组合用,电流200/1.5mA JOSEF约瑟

ZCT-80零序电流互感器配继电器组合用,电流200/1.5mA ■ 互感器用于接地保护的装置 ■ 检测零序电流的互感器 ■ 适用于EOCR继电器 功能特点: 专用于剩余电流的检测。 与ELR继电器配合使用。 产品外壳采用ABS阻燃材料,抗干扰能力强,测量…

RFC 6071: IP Security (IPsec) and Internet Key Exchange (IKE) Document Roadmap

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/96882d1fb67b4383bc77c4dd421f7b

Ubuntu中的 Everything 搜索软件 ==> fsearch

本文所使用的 Ubuntu 系统版本是 Ubuntu 22.04 ! 在 Windows 中,我经常使用 Everything 来进行文件搜索,搜索效率比 Windows 自带的高出千百倍。 那么在 Ubuntu 系统中,有没有类似的软件呢?那必须有,它就是 FSearch 。…

【单调栈】3113. 边界元素是最大值的子数组数目

本文涉及的基础知识点 单调栈分类、封装和总结 LeetCode 3113. 边界元素是最大值的子数组数目 给你一个 正 整数数组 nums 。 请你求出 nums 中有多少个子数组,满足子数组中 第一个 和 最后一个 元素都是这个子数组中的 最大 值。 示例 1: 输入&#…

区块链 | OpenSea:Wyvern protocol

目录 Wyvern on the OpenSea 1 交易流程 1.1 卖家 1.2 买家 2 组成部分 2.1 WyvernProxyRegistry 2.2 OwnableDelegateProxy 2.3 NFT Contract 2.4 OpenSea Order Book 2.5 Wyvern Exchange Contract 3 总结 🥑原文:Wyvern on the …

交通气象站监测站

TH-GQX8交通运输在人们的日常生活中扮演着越来越重要的角色。然而,气候变化、环境污染等因素对交通安全产生了极大的影响。为了应对这些挑战,交通气象站监测站应运而生,成为守护交通安全的重要利器。 一、交通气象站监测站的功能 交通气象站…

路透社:美国SEC将拒绝以太坊ETF

4月25日,据路透社报道,美国SEC在下个月将拒绝以太坊现货ETF申请。根据4位知情人士表示,在最近几周与美国证券交易委员会(SEC)进行了会议之后,美国发行商和其他公司预计SEC将拒绝他们推出与以太坊价格挂钩的…

OpenMesh 网格高斯曲率计算(二)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Mesh曲率特征通常指的是在三维几何网格(Mesh)上计算的曲率相关的一系列特征,包括主曲率、高斯曲率、平均曲率等。这些曲率特征提供了对Mesh表面形状的详细描述,对于表面形状分析、形状比较和几何建模等领域非常…

《C++的类型转换》

目录 一、c语言中的类型转换 1、隐式类型转化: 2、强制类型转化: 3、缺点 二、c新的类型转换 1、内置类型转为自定义类型 3、自定义类型转换为内置类型 三、C的规范的强制类型转换 1、C新增四种规范的类型转换的原因 2、static_cast 3、reint…
最新文章