Music++

Music++ 公开

技艺 更新于 2023-07-15 16:58 | 19 | 171
如何安装动作?

适用于
分类
网络服务 组合操作 功能增强
H-D-G 姜老三 yond 2016 joie 19 人赞了这个动作

1 个动作单 收藏了此动作。

更多信息
分享时间 2022-06-02 15:03
最后更新 2023-07-15 16:58
修订版本 2
用户许可 -未设置-
Quicker版本 1.38.31
动作大小 334.9 KB

分享到

「内置音乐资源,简易音乐播放器」

简介

 2023-7-15:目前的接口不好用,能解这个接口的js逆向, aHR0cHM6Ly90b29scy5saXVtaW5neWUuY24vbXVzaWMvP3BhZ2U9c2VhcmNoUGFnZSMv的可联系


动作改至:Music+

 增加功能

  • 增加内置音乐资源,在线下载


心路历程:初学wpf前前后后,肝了半个多月

遇到了很多问题:

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

    最后如果不出意外的话,这个程序应该还有很多问题,将就用吧

    最近更新

    修订版本 更新时间 更新说明
    2 2023-07-15 16:58 -fix 接口,勉强能用
    1 2022-09-07 15:05 -fix 部分歌曲下载出错
    0 2022-06-02 15:03

    最近讨论

    使用问题 · 306
    mcrsatYan 2023-02-08 16:01 王一笑 2023-03-20 17:59
    功能建议 · 1 · 281
    echoes 2023-01-06 01:04 王一笑 2023-03-20 17:52
    随便聊聊 · 357
    zryan 2022-10-01 16:15 redzerat 2022-11-03 17:39