2023-06-03 04:50:03 +08:00
|
|
|
|
# ncmdump
|
|
|
|
|
|
|
|
|
|
使用本程序可将下载的网易云音乐缓存文件(ncm)转换为 mp3 或 flac 格式
|
|
|
|
|
|
2021-10-07 00:33:57 +08:00
|
|
|
|
## 简介
|
2023-06-03 04:50:03 +08:00
|
|
|
|
|
2021-10-07 00:33:57 +08:00
|
|
|
|
该版本为最早的 C++ 版本,也是作者开发的市面上第一个支持 ncm 转换的程序
|
|
|
|
|
|
2024-03-31 09:55:24 +08:00
|
|
|
|
源码复刻自 anonymous5l/ncmdump,感谢前辈的付出!做了 Windows 下的移植,修复了一些编译问题
|
|
|
|
|
|
2024-04-02 09:19:31 +08:00
|
|
|
|
1.3.0 版本更新说明:因为之前有小伙伴反馈无法解密带有特殊字符的文件名,例如中文、日文、韩文或者是表情符号等,在1.3.0以及之后的版本彻底修复了这个问题,所有的 UTF-8 字符都可以正常解密。并且还自带了 dll 的构建,可以供其他应用程序(C#、Python、Java等)调用。
|
2021-10-07 00:33:57 +08:00
|
|
|
|
|
2023-10-04 17:03:16 +08:00
|
|
|
|
## 传送门
|
2023-06-03 04:50:03 +08:00
|
|
|
|
|
2021-10-07 00:33:57 +08:00
|
|
|
|
2021年10月6日,原作者已经删库
|
|
|
|
|
|
2024-01-06 00:30:18 +08:00
|
|
|
|
## 使用
|
|
|
|
|
|
2024-04-06 12:29:08 +08:00
|
|
|
|
### 命令行工具
|
|
|
|
|
|
2024-09-13 11:39:00 +08:00
|
|
|
|
**[不推荐]** 你可以使用 Homebrew 来安装 Linux 或者 macOS 下的 ncmdump
|
|
|
|
|
|
|
|
|
|
注意:由于本项目的一个依赖库 taglib 的 2.0 版本迟迟未发布到 homebrew-core(由于 taglib 2.0 衍生出的其它 brew 包的版本兼容问题),导致现在使用的 cmake 构建链无法在 macOS 上构建,因为 taglib 从 2.0 开始才支持 cmake 工具链。因此 ncmdump 在 homebrew 上只能发布到 `1.2.1` 版本,更推荐使用二进制的方式直接安装,`1.3` 版本后修复了众多 bug。
|
2024-01-10 12:48:35 +08:00
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
brew install ncmdump
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
或者从 [Release](https://github.com/taurusxin/ncmdump/releases) 下载最新版本的对应系统的已编译好的二进制文件
|
2024-01-06 00:30:18 +08:00
|
|
|
|
|
|
|
|
|
使用 `-h` 或 `--help` 参数来打印帮助
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
ncmdump -h
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
命令行下输入一个或多个文件
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
ncmdump file1 file2...
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
你可以使用 `-d` 参数来指定一个文件夹,对文件夹下的所有文件批量处理
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
ncmdump -d folder
|
|
|
|
|
```
|
|
|
|
|
|
2024-04-06 12:29:08 +08:00
|
|
|
|
### 动态库
|
|
|
|
|
|
|
|
|
|
或者,如果你想利用此项目进行二次开发,例如在你的 C#、Python、Java 等项目中调用,你可以使用 `libncmdump` 动态库,具体使用方法见仓库的 `example` 文件夹
|
|
|
|
|
|
|
|
|
|
请注意!如果你在 Windows 下开发,传递到库构造函数的文件名编码**必须为 UTF-8 编码**,否则会抛出运行时错误。
|
|
|
|
|
|
2024-02-07 22:51:06 +08:00
|
|
|
|
## 编译项目
|
2023-06-03 04:50:03 +08:00
|
|
|
|
|
2024-02-07 22:51:06 +08:00
|
|
|
|
克隆本仓库
|
2023-06-03 04:50:03 +08:00
|
|
|
|
|
2021-10-07 00:33:57 +08:00
|
|
|
|
```shell
|
2024-02-07 22:51:06 +08:00
|
|
|
|
git clone https://github.com/taurusxin/ncmdump.git
|
2021-10-07 00:33:57 +08:00
|
|
|
|
```
|
|
|
|
|
|
2024-02-07 22:51:06 +08:00
|
|
|
|
更新子模块
|
2021-10-07 05:00:51 +08:00
|
|
|
|
|
2024-02-07 22:51:06 +08:00
|
|
|
|
```shell
|
|
|
|
|
cd ncmdump
|
|
|
|
|
git submodule update --init --recursive
|
|
|
|
|
```
|
2021-10-07 00:33:57 +08:00
|
|
|
|
|
2024-02-07 22:51:06 +08:00
|
|
|
|
使用 CMake 配置项目。Windows 下若使用 GNU 套件,推荐使用 [msys2](https://www.msys2.org/) 或者 [winlibs](https://winlibs.com/)
|
2021-10-07 00:33:57 +08:00
|
|
|
|
|
2024-02-07 22:51:06 +08:00
|
|
|
|
```shell
|
|
|
|
|
# Windows MinGW
|
|
|
|
|
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -B build
|
2021-10-07 00:33:57 +08:00
|
|
|
|
|
2024-02-07 22:51:06 +08:00
|
|
|
|
# Windows MSVC
|
2024-02-16 22:06:58 +08:00
|
|
|
|
cmake -G "Visual Studio 17 2022" -A x64 -B build
|
2021-10-07 05:00:51 +08:00
|
|
|
|
|
2024-02-07 22:51:06 +08:00
|
|
|
|
# Linux / macOS
|
|
|
|
|
cmake -DCMAKE_BUILD_TYPE=Release -B build
|
2021-10-07 05:00:51 +08:00
|
|
|
|
```
|
2021-10-07 00:33:57 +08:00
|
|
|
|
|
2024-02-07 22:51:06 +08:00
|
|
|
|
编译项目
|
2021-10-28 01:12:57 +08:00
|
|
|
|
|
|
|
|
|
```shell
|
2024-02-08 10:49:07 +08:00
|
|
|
|
# Windows MSVC 需要在构建阶段指定 --config Release
|
2024-02-16 22:06:58 +08:00
|
|
|
|
cmake --build build -j 8 --config Release
|
2024-02-08 10:49:07 +08:00
|
|
|
|
|
|
|
|
|
# Windows MinGW / Linux / macOS
|
2024-02-16 22:06:58 +08:00
|
|
|
|
cmake --build build -j 8
|
2021-10-28 01:12:57 +08:00
|
|
|
|
```
|
2024-03-24 18:00:07 +08:00
|
|
|
|
|
|
|
|
|
你可以在 `build` 文件夹下找到编译好的二进制文件,以及一个可供其它项目使用的动态库(Windows Only),使用方法见仓库的 `example` 文件夹
|
2024-04-06 10:36:58 +08:00
|
|
|
|
|
|
|
|
|
## Star History
|
|
|
|
|
|
|
|
|
|
[![Star History Chart](https://api.star-history.com/svg?repos=taurusxin/ncmdump&type=Date)](https://star-history.com/#taurusxin/ncmdump&Date)
|