网页正在组装中... ⚙️ (・ω・)ノ
导航

分享计算机图书阅读心得,交流编程知识与日常生活的技术博客

侧边栏
热门文章
暂无内容
阅读中
ES6标准入门
10分
JavascriptES6标准入门
2025年4月01日 0时 ~ 阅读中
已累计阅读2个月6天
Javascript ES6学习极其推荐的书籍!列出了ES6的很多特性和变化,以及一些ES7的提案
加密与解密
10分
逆向加密与解密
2025年4月07日 0时 ~ 阅读中
已累计阅读2个月
逆向必读书目,十分推荐!!!
攻略中
异星工场
超爱
9分???
PC-超喜欢游戏异星工场
2024年2月07日 0时 ~ 攻略中
已累计游玩1年4个月
就算不打折也超级值的工场经营游戏,就是价格有点感人(DLC-130 本体-130)o( ̄┰ ̄*)ゞ
最新评论
暂无内容

跨平台免费音乐播放软件——MusicFree

作者:云书0v0时间:2025-04-19 09:16:50分类:Github项目推荐

简介


MusicFree是一个无广告,开源的音乐播放器,支持 WindowsAndroidHarmony OS

移动端项目地址:  MusicFree

电脑端项目地址:   MusicFree

Screenshot_2025-04-20-00-00-20-40_e88cf54d2c64b28.jpg





移动端使用


软件刚安装完成是无法找到任何音乐可以播放,需要通过在软件中添加插件来添加音乐源字幕源

IMG_20250419_235407.jpg


目前推荐使用的插件源有两个:

官方https://github.com/maotoumao/MusicFree
网络公开的接口聚合https://gitee.com/maotoumao/MusicFreePlugins/raw/master/plugins.json

(注意:如果是使用第三方下载的插件,那么请自行鉴别插件的安全性




电脑端使用


和移动端类似需要先设置好插件。

QQ20250420-002305.png


有趣的是电脑端可以下载不同的主题美化。

QQ_1745079942137.png



插件开发


插件本质上是一个满足插件协议的 commonjs 模块。插件中定义了搜索(音乐、专辑、作者)、播放、查看专辑、作者详细信息、导入歌单、获取歌词等基本函数,插件的开发者只需要关心输入输出逻辑,至于分页、缓存等全都交给 MusicFree 控制即可。

引用文档图片:

plugin-framework.png


前置知识

  • javascript / typescript (ES7 语法)
  • js 模块化规范 (common.js)
  • 包管理工具 npm,以及如何使用 npm 包
  • 构建工具(webpack、parcel,可选)
  • JSBridge(可选)

插件配置分为两类

  1. 说明插件的信息(插件名和版本)
  2. 软件在不同时期调用的函数(如获取音源对应的 getMediaSource 函数 || 搜索对应的 search 函数)

一个简单的插件结构如下:

module.exports = {
  /** 用来说明插件信息的属性 */
  platform: "MusicFree 插件", // 插件名
  version: "0.0.0", // 插件版本号

  /** 供给软件在合适的时机调用的函数 */
  getMediaSource: function (musicItem) {
    // 根据该音源的某个音乐获取真实的播放地址
    return {
      url: "https://", // 音源 URL
    };
  },
};

插件加载流程

MusicFree 软件启动的时候会去特定的文件夹下搜索 js 文件,并加载到程序中。(移动端的大概率位置为:Android/data/{包名}/files/plugins)


更加具体的文档请查看: MusicFree文档