Go to file
TaurusXin 5e41d41874
update: README.md
2024-09-13 11:46:44 +08:00
.github fix: bug report template 2024-08-17 09:01:46 +08:00
example/csharp update: parse UTF-8 to lib in C# 2024-04-06 12:10:56 +08:00
src chore: enhance output 2024-09-13 10:58:29 +08:00
taglib@0896fb9092 refactor: use CMake for build 2024-02-07 21:54:56 +08:00
test removed: expect.bin 2024-04-17 16:56:43 +08:00
.gitignore feat: add CMake build to gitignore 2024-02-07 21:57:01 +08:00
.gitmodules chore: make taglib to https 2024-02-07 22:29:43 +08:00
CMakeLists.txt fix: parse UTF-8 path to lib 2024-04-06 12:09:03 +08:00
LICENSE.txt feat: add MIT license 2024-01-09 08:28:04 +00:00
README.md update: README.md 2024-09-13 11:46:44 +08:00

README.md

ncmdump

使用本程序可将下载的网易云音乐缓存文件ncm转换为 mp3 或 flac 格式

简介

该版本为最早的 C++ 版本,也是作者开发的市面上第一个支持 ncm 转换的程序

源码复刻自 anonymous5l/ncmdump感谢前辈的付出做了 Windows 下的移植,修复了一些编译问题

1.3.0 版本更新说明因为之前有小伙伴反馈无法解密带有特殊字符的文件名例如中文、日文、韩文或者是表情符号等在1.3.0以及之后的版本彻底修复了这个问题,所有的 UTF-8 字符都可以正常解密。并且还自带了 dll 的构建可以供其他应用程序C#、Python、Java等调用。

传送门

2021年10月6日原作者已经删库

使用

命令行工具

[不推荐] 你可以使用 Homebrew 来安装 Linux 或者 macOS 下的 ncmdump

注意:由于本项目依赖的库 taglib 的 2.0 版本尚未发布到 homebrew-core主要是因为 taglib 2.0 导致其他 brew 包存在版本兼容问题),目前的 cmake 构建链无法在 macOS 上正常使用。根据 brew 的要求,如果依赖库已有官方的 brew 包,构建时必须使用官方仓库中的包,不能从 git 获取。而 taglib 2.0 版本开始才支持 cmake 构建。因此ncmdump 在 homebrew 上只能发布到 1.2.1 版本。建议直接通过二进制方式安装,1.3.0 后版本修复了许多 bug使用体验会更好。

brew install ncmdump

或者从 Release 下载最新版本的对应系统的已编译好的二进制文件

使用 -h--help 参数来打印帮助

ncmdump -h

命令行下输入一个或多个文件

ncmdump file1 file2...

你可以使用 -d 参数来指定一个文件夹,对文件夹下的所有文件批量处理

ncmdump -d folder

动态库

或者,如果你想利用此项目进行二次开发,例如在你的 C#、Python、Java 等项目中调用,你可以使用 libncmdump 动态库,具体使用方法见仓库的 example 文件夹

请注意!如果你在 Windows 下开发,传递到库构造函数的文件名编码必须为 UTF-8 编码,否则会抛出运行时错误。

编译项目

克隆本仓库

git clone https://github.com/taurusxin/ncmdump.git

更新子模块

cd ncmdump
git submodule update --init --recursive

使用 CMake 配置项目。Windows 下若使用 GNU 套件,推荐使用 msys2 或者 winlibs

# Windows MinGW
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -B build

# Windows MSVC
cmake -G "Visual Studio 17 2022" -A x64 -B build

# Linux / macOS
cmake -DCMAKE_BUILD_TYPE=Release -B build

编译项目

# Windows MSVC 需要在构建阶段指定 --config Release
cmake --build build -j 8 --config Release

# Windows MinGW / Linux / macOS
cmake --build build -j 8

你可以在 build 文件夹下找到编译好的二进制文件,以及一个可供其它项目使用的动态库(Windows Only),使用方法见仓库的 example 文件夹

Star History

Star History Chart