Qt版 网易云音乐 API
本项目翻译自Node.js项目Binaryify/NeteaseCloudMusicApi
更新尽量与原项目同步,暂时实现了部分接口,底层的加解密逻辑已实现
使用方式请参考原项目文档,参数与返回结果与原项目完全一致;支持设置Http服务器(需要Qt6.4及以上),运行ApiServer即可启动本地Http服务器
本项目需要以下库和工具:
- Qt >= 5.12
在CMakeLists.txt文件中加上
# 指定第三方库的路径
set(LIBRARY_DIR "${PROJECT_SOURCE_DIR}/QCloudMusicApi")
# 添加头文件路径
include_directories(${LIBRARY_DIR}/include)
# 添加库文件路径
link_directories(${LIBRARY_DIR}/bin)
代码中包含头文件module.h
#include "module.h"
可直接调用类函数
NeteaseCloudMusicApi api;
qDebug() << api.song_url_v1(QVariantMap({ {"id", 1408586353} }));
也可以通过Qt的反射调用
NeteaseCloudMusicApi api;
QVariantMap ret;
QMetaObject::invokeMethod(&api, "song_url_v1"
, Qt::DirectConnection
, Q_RETURN_ARG(QVariantMap, ret)
, Q_ARG(QVariantMap, QVariantMap({ {"id", 1408586353} }));
qDebug() << ret;
在CMakeLists.txt文件中加上
add_subdirectory(QCloudMusicApi)
add_executable(YourProjectName
./QCloudMusicApi/QCloudMusicApi/module.h
main.cpp
)
target_compile_definitions(YourProjectName PRIVATE QCLOUDMUSICAPI_LIBRARY)
# 添加需要链接的库
target_link_libraries(YourProjectName QCloudMusicApi)
C++代码中加上
#include "QCloudMusicApi/QCloudMusicApi/module.h"
手动安装好Qt库后
git clone https://github.com/s12mmm3/QCloudMusicApi.git
cmake -B build
cmake --build build -j