「内置音乐资源,简易音乐播放器」
简介
❤ 2023-7-15:目前的接口不好用,能解这个接口的js逆向, aHR0cHM6Ly90b29scy5saXVtaW5neWUuY24vbXVzaWMvP3BhZ2U9c2VhcmNoUGFnZSMv,的可联系
❤ 动作改至:Music+
❤ 增加功能
- 增加内置音乐资源,在线下载
❤ 心路历程:初学wpf前前后后,肝了半个多月
遇到了很多问题:
- 测试原动作怎么可以动态加入新的歌曲到列表里,小改ui(动作来源:感谢@zetalpha)
- UI基本布局,控件风格,以及怎么使用HandyControl样式(wpf模板:感谢@ceastld)
- ListView控件问题(绑定数据,表头显示,匹配内容长度,列表刷新,等)
- Image控件,显示封面(圆角,悬浮,网络图片的展现)
- Quicker调用方式,数据的交互方式,返回类型,类型转换等
- 数据源,原本是想要网易云作为api,github有很多开源项目写的太复杂整不出来,最后找到了MyFreeMp3这个网站
- 花了不好时间,没逆向出加密参数,最后嘛只能找别人的制作好的
- 虽然但是,在js编译器可以直接使用,但是Quicker的js模块,没有window全局变量花了点时间改了小改了下脚本(脚本:感谢@B站,我不是硕哥)
- 控件事件,因为Quicker不像vs那么的方便,所以事件代码代码都是通过C#进行操作的(基本上是委托)
- 搜索控件的数据传递
- 按道理来说在搜索栏里输入歌名,然后调用委托就可以了。但是因为这里是使用子程序的方式返回搜索结果的,委托的winContext参数传入不了,也就意味着无法使用子程序
- 只能曲线救国,通过创建一个界面中不存在的按钮,然后搜索栏调用按钮委托,按钮再通过OnButtonClicked函数从而实现效果
- 之后就是要解决怎么通过C#点击按钮,然后发现OnButtonClicked里面还是无法实现效果。最后发现哪怕按钮在界面中不显示,也是需要创建。然后通过查找控件的方式才能实现效果
- 到这里应该差不多了,之后实现的效果就是调用子程序,返回歌曲列表,添加到现有列表里,这很简单对吧(这里麻烦)
- 数据根本获取不到,界面直接卡住了,查询后可能是线程的问题,完全不懂,找源程序照猫画虎。终于可以成功的打开搜索界面了
- 打开搜索界面之后,返回的歌曲列表根本获取到。返回值后直接卡死Quicker。查询后异步调用之类的问题吧。中途Quicker整崩好多次,于是不出意外的收到了崔大的邮件
- 崔大不建议通过种方式调用,一层套一层容易出错。显然我没有采纳,不过在崔大的提示下,可能是线程死锁的问题。最终找了挺久答案终于解决了(感谢@CL)
- 完成以上步骤之后,之后就是代码的健壮性的一些小修小补,和基本的测试。
- 最后分享动作的时候发现太大了分享不了,又改了
最后如果不出意外的话,这个程序应该还有很多问题,将就用吧
最近更新
修订版本
|
更新时间
|
更新说明
|
2
|
2023-07-15 16:58
|
-fix 接口,勉强能用
|
1
|
2022-09-07 15:05
|
-fix 部分歌曲下载出错
|
0
|
2022-06-02 15:03
|
|