
网易云音乐QT设计
文章平均质量分 71
xiandong20
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
241205_使用本地vosk模型实现流式语音识别
上一篇我们使用了vosk模型实现了本地的语音识别,但是存在一个严重的问题,因为我们采用的是整段音频录制结束之后再进行转文字并进行关键字检索,就会导致识别不实时,在环境噪音较为复杂(或者正在播放音乐时),我们说完了话他还在持续录音状态,识别太慢了,并且有时候他把音乐声音也录进去,导致识别错误。因为我们转换出来的结果是单词级别的,所以可能会产生识别的每一个单独的词之间都有空格,我们在process_command方法中需要去除掉这些空格,重新把他拼接成一个句子,实现我们的关键词检索。在weekup方法中。原创 2024-12-05 22:22:10 · 2247 阅读 · 0 评论 -
241205_给自己的应用加上语音助手功能
前面我们自己做了一个网易云音乐,但每次都要去点点点显得有点麻烦,所以我就考虑添加一些语音助手的功能。其实当前在日常windows使用中,我觉得也就音乐播放需要一个语音助手交互,其他的功能,要么太复杂,简单的声控无法实现,要么语音控制的效率太低,不如直接上手操作。最简单的语音助手仅需要实现三个功能,本地语音转文本,根据文本内容提取关键词完成对应指令,播放“收到”“已完成”等语音,我们此处就实现这样的最简单的语音助手。原创 2024-12-05 17:41:46 · 684 阅读 · 0 评论 -
241126_手把手教你使用PyQt手撸一个网易云音乐-(九)推荐页跳转逻辑实现
这界面和我们刚才做的喜欢的音乐界面差不多,我们就可以把我喜欢的音乐界面作为一个通用界面,只实现封面图的替换、label的text内容修改,歌单内容修改就ok了。这里定义一个函数方法,我是把每个界面的label、time、info、pic_path都打包成一个字典dic然后传入进行解析的。我们观察推荐页的那些歌单点进去,发现无非就是一个图加几个label加歌单列表,如下图。到这里就ok了,可以去试试了,跳转逻辑基本是没问题的。原创 2024-12-04 19:38:22 · 236 阅读 · 0 评论 -
241126_手把手教你使用PyQt手撸一个网易云音乐-(八)实现推荐页
推荐页的实现较为简单,因为现在暂时没有实现里面的跳转功能,只做了个界面,所以步骤就是从网易云的界面里把那些封面截出来,然后再designer中新建ToolButton,调用资源浏览器填充图片就可以了。本来按照标准的是应该要专门定义一个槽函数,然后通过事件绑定槽函数执行的,但是我懒,这里实现的操作只是切换界面,没啥复杂逻辑,一句话解决的事情就直接用lambda解决了。首先我们把网易云中的那些封面页都截图截出来,在项目根目录新建一个pic文件夹,把截图都放在里面。然后就可以轻松愉快的跑代码,切换界面了。原创 2024-12-04 19:37:05 · 286 阅读 · 0 评论 -
241126_手把手教你使用PyQt手撸一个网易云音乐-(七)实现我喜欢的音乐列表
然后在里面选择对应的图片,点击ok就行了,图片就填充进去了,然后拉拉大小,改改size数值,这副图片就放好了。原创 2024-12-04 19:36:29 · 1029 阅读 · 0 评论 -
241126_手把手教你使用PyQt手撸一个网易云音乐-(六)实现自适应缩放
在设置自适应之前,我们需要确定,什么组件的什么维度需要变化,比如侧栏的高需要拉长,宽不需要变,我此时就可以把侧栏的宽的最大值改成200,最小值也改成200,这样在缩放的过程中他的宽就不会变化了。我们只需要在窗口中,点击base_widget外面的灰色部分,右键选择布局,修改为水平布局,然后把base_widget拉伸为合适大小,即可解决这个问题。自适应缩放也很简单,我们前期已经实现了各种栅格布局,但是我们的最大化的逻辑是没有实现的,我们点击最大化之后,窗口是会放大,但是我们实际的内容还是原来的大小。原创 2024-12-02 13:16:44 · 321 阅读 · 0 评论 -
241126_手把手教你使用PyQt手撸一个网易云音乐-(五)窗口设置圆角以及阴影
如果你的界面哪里还有线条,可以去designer中检查对应的组件的stylesheet属性,是不是设置了border相关,比如border-top,border-width,删除就可以了。此时我们直接运行,可以发现,效果并没有变,因为此时我们绘制的阴影已经在我们的画板之外了,他显示不出来,我们要在这个Frame画板之外再嵌套一个透明画板,专门用来放阴影。保存,然后ui转py后运行,可以发现我们已经成功获得了一个带有阴影的窗口,但是此时出现了很多硬线条,四个角也是尖锐的,不好看。线条,并且角落也变成圆角了。原创 2024-12-02 13:15:39 · 590 阅读 · 0 评论 -
241126_手把手教你使用PyQt手撸一个网易云音乐-(四)顶部导航栏以及隐藏自带标题栏并实现鼠标拖动事件
但是我们需要考虑,当已经是最大化的情况下,我点击最大化按钮,按逻辑来说,此时应该恢复正常大小,但是我们直接使用showMaxmized无法实现。这是人家的顶栏,我就不实现头像和等级了,剩下的都实现一下,也很简单,就是添加一个QWidget,栅格布局(要丢进去第一个按钮之后才能更改布局哦),找图标,放按钮,替换图标,改名字的问题,前面都已经讲过了,这里不再赘述。其中新建的这几个组件,需要实现功能的只有最右边的最小化、最大化、关闭按钮,我们实现了此方法后,就可以把QT自带的标题栏隐藏掉了。自带的实在是太丑了。原创 2024-12-02 13:14:45 · 379 阅读 · 0 评论 -
241126_手把手教你使用PyQt手撸一个网易云音乐-(三)播放逻辑实现
因为我们的播放模式实质上是一个Btn,每次点击他都会固定的进入一个同样的方法,我们要实现三种模式的切换的话,就可以在进入方法时检查他当前处于什么状态,然后循环去+1或者赋值实现状态切换。那这个初始状态怎么实现呢,我们可以在初始化方法里面添加一个参数。反正后续运行的过程中,你点了一个按钮,什么都不报错,程序就退出了的话,首先检查命名是否一致,其次检查ui是否同步转py,排除大部分问题。这里绑定的是一个是否显示的函数方法,然后保存,ui转py,然后运行,我们会发现刚跑起来音量条默认是显示状态,我们要的是隐藏。原创 2024-12-02 13:13:17 · 1733 阅读 · 0 评论 -
241126_手把手教你使用PyQt手撸一个网易云音乐-(二)底部播放栏
评论按钮不管怎么样都放不进label的正下方,这种时候我们可以用鼠标去拉label的右边线,右边线超过评论按钮之后,就可以成功放置进去。拖入QToolButton,这里我们要设置仅显示icon,不要text显示了,同样的,在属性框中修改属性为iconOnly。我这里播放按钮给的50×50的大小,其他几个按钮给的25×25。如果此时你发现你的唱片偏下或者偏哪个方向,多半是你size设置的不对,不是1:1,修改过来就行。然后我们再给进度条左右两侧各添加一个label,用来展示音乐时长及现在的时长。原创 2024-12-01 11:00:20 · 256 阅读 · 0 评论 -
241126_手把手教你使用PyQt手撸一个网易云音乐-(一)侧导航栏
网易云平常我自己用的也比较多,也比较喜欢他的界面,今天就手撸一个试试,看看能不能用QTdesigner直接画出来。这里先贴一个原版图。侧边栏和底部播放工具栏主要使用QWidge+QToolButton实现首先来实现侧边栏。原创 2024-12-01 10:59:35 · 1280 阅读 · 0 评论