Releases: 2061360308/MusicLibrary
Release list
v0.0.9
MusicLibrary v0.0.9
本版本主要更新了底层 JavaScript 引擎、构建工具链以及跨语言使用说明,并继续提供 Windows、Linux 和 macOS 多架构预编译库。
主要更新
- 更新 QuickJS 子模块至
v0.16.2 - 新增 Python 和 Dart 绑定说明
- 相关绑定项目:NeteaseCloudMusic_PythonSDK
- 增加
terser-webpack-plugin依赖,为后续 JavaScript bundle 优化做好准备 - 改进 Windows 发布构建流程
- 使用
ilammy/msvc-dev-cmd自动配置 MSVC 编译环境 - 更新 CMake Visual Studio 生成器配置
- 改善 x64、x86 和 ARM64 架构的构建支持
- 使用
Pre-built Libraries
| Platform | Description |
|---|---|
| windows-x64 | 64-bit Windows (Windows 10/11 x64) |
| windows-x86 | 32-bit Windows (Windows 10/11 x86) |
| windows-arm64 | Windows on ARM (Windows 11 ARM) |
| linux-x64 | 64-bit Linux (Ubuntu 20.04+) |
| linux-arm64 | ARM64 Linux (Ubuntu 24.04 ARM) |
| macos-x64 | 64-bit macOS (Intel) |
| macos-arm64 | ARM64 macOS (Apple Silicon) |
Each platform zip contains:
lib/- Compiled library files (.lib, .dll, .so)include/- Header files
v0.0.8
Pre-built Libraries
| Platform | Description |
|---|---|
| windows-x64 | 64-bit Windows (Windows 10/11 x64) |
| windows-x86 | 32-bit Windows (Windows 10/11 x86) |
| windows-arm64 | Windows on ARM (Windows 11 ARM) |
| linux-x64 | 64-bit Linux (Ubuntu 20.04+) |
| linux-arm64 | ARM64 Linux (Ubuntu 24.04 ARM) |
| macos-x64 | 64-bit macOS (Intel) |
| macos-arm64 | ARM64 macOS (Apple Silicon) |
Each platform zip contains:
lib/- Compiled library files (.lib, .dll, .so)include/- Header files
Full Changelog: v0.0.7...v0.0.8
v0.0.7
Pre-built Libraries
| Platform | Description |
|---|---|
| windows-x64 | 64-bit Windows (Windows 10/11 x64) |
| windows-x86 | 32-bit Windows (Windows 10/11 x86) |
| windows-arm64 | Windows on ARM (Windows 11 ARM) |
| linux-x64 | 64-bit Linux (Ubuntu 20.04+) |
| linux-arm64 | ARM64 Linux (Ubuntu 24.04 ARM) |
| macos-x64 | 64-bit macOS (Intel) |
| macos-arm64 | ARM64 macOS (Apple Silicon) |
Each platform zip contains:
lib/- Compiled library files (.lib, .dll, .so)include/- Header files
Full Changelog: v0.0.6...v0.0.7
v0.0.6
Pre-built Libraries
Windows Libraries
| Platform | Description |
|---|---|
| windows-x64 | 64-bit Windows (Windows 10/11 x64) |
| windows-x86 | 32-bit Windows (Windows 10/11 x86) |
| windows-arm64 | Windows on ARM (Windows 11 ARM) |
Linux Libraries
| Platform | Description |
|---|---|
| linux-x64 | 64-bit Linux (Ubuntu 20.04+) |
| linux-arm64 | ARM64 Linux (Ubuntu 24.04 ARM) |
macOS Libraries
| Platform | Description |
|---|---|
| macos-x64 | 64-bit macOS (Intel) |
| macos-arm64 | ARM64 macOS (Apple Silicon) |
Each platform zip contains:
lib/- Compiled library files (.lib, .dll, .so)include/- Header files
Full Changelog: v0.0.5...v0.0.6
v0.0.5
Windows Libraries
Pre-built libraries for Windows platforms:
| Platform | Description |
|---|---|
| windows-x64 | 64-bit Windows (Windows 10/11 x64) |
| windows-x86 | 32-bit Windows (Windows 10/11 x86) |
| windows-arm64 | Windows on ARM (Windows 11 ARM) |
Each platform zip contains:
lib/- Compiled library files (.lib, .dll)include/- Header files
Full Changelog: v0.0.4...v0.0.5
v0.0.4
Windows Libraries
🎉 新版本发布:v0.0.4 🎉
这个小版本基本实现了项目初期的设想,收集了网易加酷狗加起来将近400多个接口,虽然不确定是否都能用但也算是正式迈出了第一步。后续的更新可能会暂缓一段时间,等积累更多想法和需求后再继续完善。
这是我第一次用 C 语言开发这样一个项目,过程中遇到了不少挑战,也收获了很多经验和教训(人已憔悴)。接下来会好好休整,期待未来能带来更好的改进和功能!
本次更新内容如下:
-
🛠️ 抽象化引擎模块
引擎核心已抽象化,负责统一管理 Quickjs 运行时等底层资源,提升扩展性与维护性。 -
🎵 新增网易云音乐 API
全面支持网易云音乐相关功能,丰富音乐数据获取能力。 -
🧩 酷狗 & 网易云方法结构体封装
将酷狗和网易云的 API 方法分别封装进独立结构体,彻底解决方法覆盖冲突,调用更安全、清晰。
欢迎体验新版本,期待您的反馈!✨
现结构调整,当前包含文件说明(以windows-x64-release为例):
windows-x64-release/
├── include/
│ ├── engine.h // 引擎核心头文件,声明主要接口和类型
│ ├── kugou_music_api.h // 酷狗音乐API头文件,声明相关功能接口
│ ├── kugou_music_api_version.h // 酷狗音乐API版本信息头文件
│ ├── ncm_music_api.h // 网易云音乐API头文件,声明相关功能接口
│ ├── ncm_music_api_version.h // 网易云音乐API版本信息头文件
├── lib/
│ ├── engine.dll // 引擎核心动态库,提供主要功能实现
│ ├── engine.lib // 引擎动态库导入库,供链接使用
│ ├── kugou_music_api.dll // 酷狗音乐API动态库,提供相关功能实现
│ ├── kugou_music_api.lib // 酷狗音乐API动态库导入库,供链接使用
│ ├── kugou_music_api_static.lib// 酷狗音乐API静态库,供静态链接使用
│ ├── libcurl.dll // curl库动态库,网络请求相关依赖
│ ├── ncm_music_api.dll // 网易云音乐API动态库,提供相关功能实现
│ ├── ncm_music_api.exp // 网易云音乐API导出符号文件
│ ├── ncm_music_api.lib // 网易云音乐API动态库导入库,供链接使用
│ ├── ncm_music_api_static.lib // 网易云音乐API静态库,供静态链接使用
│ ├── zlib1.dll // zlib压缩库动态库,数据压缩相关依赖Pre-built libraries for Windows platforms:
| Platform | Description |
|---|---|
| windows-x64 | 64-bit Windows (Windows 10/11 x64) |
| windows-x86 | 32-bit Windows (Windows 10/11 x86) |
| windows-arm64 | Windows on ARM (Windows 11 ARM) |
Each platform zip contains:
lib/- Compiled library files (.lib, .dll)include/- Header files
Full Changelog: v0.0.3...v0.0.4
v0.0.3
Windows Libraries
Pre-built libraries for Windows platforms:
| Platform | Description |
|---|---|
| windows-x64 | 64-bit Windows (Windows 10/11 x64) |
| windows-x86 | 32-bit Windows (Windows 10/11 x86) |
| windows-arm64 | Windows on ARM (Windows 11 ARM) |
Each platform zip contains:
lib/- Compiled library files (.lib, .dll)include/- Header files
What's Changed
- Feature/multi platform by @2061360308 in #1
New Contributors
- @2061360308 made their first contribution in #1
Full Changelog: v0.0.2...v0.0.3
v0.0.2
Windows Libraries
Pre-built libraries for Windows platforms:
| Platform | Description |
|---|---|
| windows-x64 | 64-bit Windows (Windows 10/11 x64) |
| windows-x86 | 32-bit Windows (Windows 10/11 x86) |
| windows-arm64 | Windows on ARM (Windows 11 ARM) |
Each platform zip contains:
lib/- Compiled library files (.lib, .dll)include/- Header files
Full Changelog: https://github.com/2061360308/KouGouMusicLibrary/commits/v0.0.2
v0.0.1测试发布
此版本仅有Windows x64下的静态链接库提供,有需要可自行构建
调用示例
#include <stdio.h>
#include <stdlib.h>
#include "kugou_music_api.h"
int main(int argc, char **argv)
{
ProcessEnv env = {
.platform = "lite", //lite: 酷狗概念版, 默认为手机版留空字符串
// 设备id(可选,建议固定 )
// KUGOU_API_GUID 建议为 uuidv4
// KUGOU_API_DEV 建议长度为 10 位的字符串
.KUGOU_API_GUID = "45593bdf-a805-4c68-80fb-c526733fa49b",
.KUGOU_API_DEV = "iz6v67tm56",
.KUGOU_API_MAC = "42:69:CB:E2:0D:DE", // MAC地址
};
JSContext *ctx = init(&env);
// JSContext *ctx2 = get_context(); 创建第二个上下文
const char *cookies = "";
const char *params = "{}";
const char *response = top_song(ctx, cookies, params, NULL);
if (response)
{
FILE *fp = fopen("response.txt", "w");
if (fp)
{
fprintf(fp, "%s", response);
fclose(fp);
}
printf("Response: %s\n", response);
free((void *)response);
}
else
{
printf("No response or error occurred.\n");
}
const char *params2 = "{\"ids\":\"collection_3_1863870844_4_0,collection_3_2093906551_8_0\"}";
const char *response2 = playlist_detail(ctx, cookies, params2, NULL);
if (response2)
{
FILE *fp = fopen("response2.txt", "w");
if (fp)
{
fprintf(fp, "%s", response2);
fclose(fp);
}
printf("Response2: %s\n", response2);
free((void *)response2);
}
else
{
printf("No response2 or error occurred.\n");
}
}运行结果
