厦门模板做网站山东东营市有几个区县
2026/6/10 3:17:48 网站建设 项目流程
厦门模板做网站,山东东营市有几个区县,wordpress中文名字注册,ps如何做游戏模板下载网站基于Qt5开发的一个小巧精美的本地音乐播放器 一、概述 1.1 主要内容#xff1a; 利用 Qt5 GUI 框架及其中的音频播放模块#xff0c;完成了一个小巧、界面精美的本地音乐播放器。支持添加本地音乐、添加歌单、歌词查看、自定义背景、系统托盘控制播放等。同时#xff0c;…基于Qt5开发的一个小巧精美的本地音乐播放器一、概述1.1 主要内容利用 Qt5 GUI 框架及其中的音频播放模块完成了一个小巧、界面精美的本地音乐播放器。支持添加本地音乐、添加歌单、歌词查看、自定义背景、系统托盘控制播放等。同时使用 SQLite 本地数据库保存已添加的音乐、歌单的信息且使用.ini 文件记录应用设置信息。1.2 已实现的目标界面精美且支持自定义背景支持播放的音乐格式.mp3 文件、.flac 文件、.mpga 文件支持解析并展示歌词文件.lrc 文件支持解析歌曲信息专辑、比特率、缩略图等等支持歌单管理系统托盘可控制播放数据库保存已添加的歌曲和歌单信息二、主要类的设计2.1 依次介绍各个主要类的设计Music 类代表一首歌曲。记录着歌曲相关信息其中最为重要的是歌曲的 url 信息即歌曲文件所在的路径播放的时候需要根据 url 来将歌曲文件加入播放器。还记录下的一些其他的歌曲信息可见于下图。MusicList 类MusicList 类将 Music 类组织为一个一维结构便于管理。它表示的是一个歌单里面包着对歌曲列表进行管理的相关方法。MusicListWidget 类以列表形式展示歌曲时会用到 Qt 中的 QListWidget 组件而直接使用 QListWidget 组件因为没有结合 MusicList 这个数据结构所以不太方便管理。因此MusicListWidget 继承了 QListWidget它在类中包含 MusicList 类这样可以将 MusicList 中的歌曲信息方便地可视化展示出来并且可以方便地对展示出来的歌曲进行管理。部分数据成员及成员函数展示MusicListDialog类继承于 QDialog 类在添加歌曲到“我喜欢”和歌单时用于选择歌曲。这里使用自定义对话框主要为了① 便于独立使用一个.ui 文件进行界面设计② 便于获取歌曲数据即本地音乐有哪些歌曲以及返回选择结果。部分数据成员及成员函数展示LyricWidget类继承 QWidget一个矩形区域包含有用于显示歌词的几个文本框QLabel用于显示歌词。这里使用自定义的 Widget也是便于独立使用一个.ui 文件进行界面设计。同时这样做而不是在主窗口中直接显示歌词的文本框。也使得主窗口组件模块化更加有条理。此类的主要功能就是解析歌词文件且按播放进度显示。部分数据成员及成员函数展示MainWidget类主窗口用户直接交互的一个窗口组件。负责初始化、处理播放器相关事件、响应用户交互事件点击、拖动等等等工作。主要使用.ui 文件在 Qt 设计师中完成界面设计。部分数据成员及成员函数展示2.2 综上所述各个类之间的关系大致如下图所示三、程序的功能特点和运行操作方法关于可执行程序的一些说明 可执行程序为单个.exe 文件。使用“Desktop Qt 5.9.8 MinGW 32bit”构建套件在 Release 模式下生成然后使用 Enigma Virtual Box 软件将动态 DLL 库文件及其他相关文件打包生成了单个的一个.exe 文件。 第一次运行后会在同目录下产生两个文件a)Music.db 文件。SQLite 本地数据库文件存储已添加到播放器的歌曲的信息b)LightMusicPlayer.ini 文件。保存用户设置信息即如果设置了自定义背景图片会在此配置文件中记录下图片文件的路径。双击运行即可打开。打开后可通过点击左上角的图标或者右上方的“关于”按钮弹出本软件的“关于”信息其中包含一些说明和操作方法。点击右下方绿色的按钮或者使用快捷键“CtrlO”可添加本地音乐。在弹出的窗口中进入存放音乐文件的目录下按下“CtrlA”全选再点击打开即可完成添加此过程中会自动过滤掉不支持播放的文件类型所以此时用户不用手动筛选添加文件的类型。添加本地音乐操作也可以直接拖拽文件至主窗口界面来完成也会自动筛选文件类型。从上图也可看出播放器主窗口有四个的圆角值为 10px界面更加和谐。添加后本地音乐列表显示已添加的歌曲。上方的按钮分别表示清空、整理歌曲排序且去除重复、按歌手排序、按歌曲名排序、按时长排序。此时双击某首歌曲即可添加到当前播放并且开始播放。下方会显示歌曲信息及歌曲图片。同时当前播放列表中正在播放的歌曲的图标会有所不同。点击下方的歌词按钮可进入歌词显示界面。在本地音乐和当前播放列表中右键点击某歌曲可以弹出右键菜单。点击我喜欢左侧的加号可批量从“本地音乐”中添加歌曲。弹出如下的对话框。添加完成后如下。同样也支持右键菜单点击加号新建歌单。同时右键可删除歌单。双击歌单名字即可进入对应的歌单详情列表。其中的操作与“我喜欢”列表类似。右上角按钮可更换背景图片、最小化以及关闭主窗口。主窗口关闭后并不会退出播放器而是最小化到了系统托盘。系统托盘实时显示正在播放的歌曲且可通过右键菜单控制播放。四、实现中值得一提的地方4.1 歌曲图片平时从 QQ 音乐等播放器上下载的 MP3 歌曲文件在 Windows 资源管理器中查看的时候会有图片显示专辑图。所以一开始猜想歌曲的图片信息也是存储在 MP3 文件中那 Qt 的库函数可以解析出来吗最终查阅手册和根据这个 找到了方法。只需要在解析歌曲文件时候获取名为” ThumbnailImage”缩略图的元数据即可。4.2 歌词展示这里使用了 Qt 中的正则表达式来解析标准的 LRC 歌词文件主要是需要识别出歌词的时间点如下图。然后在播放的时候根据播放进度比较时间点的先后在对应的 QLabel 上展示出相应位置的歌词。4.3 在 Qt Designer 中使用自定义的部件主窗口的界面设计主要使用.ui 文件完成而主窗口中的部分组件使用的是自定义的部件比如 MusicListWidget 和 LyricWidget但是 Qt Designer 左侧可拖拽出的部件都是Qt 中的自带部件那么如何使用自定义部件在 Qt Designer 中完成设计呢这里可以使用“部件提升”功能在右侧的“对象与类”窗口右键选择“提升为”即可将某个 Qt 中的标准部件修改为使用自定义的部件该部件必须继承自对应的标准部件。4.4 界面设计总结字体使用“微软雅黑”的粗体比较美观方框背景设定为白色且设置一定的透明度善用.ui 文件同时结合 QSS 样式表进行设计方便控制间距、位置等图标的选择、颜色的使用、摆放位置等注意是否和谐图标的挑选可使用阿里巴巴矢量图标库

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询