iOS酷我音乐导出工具使用说明和原理介绍(提供下载链接及project源代码)

时间:2024-03-04 16:24:33

软件下载链接

酷我音乐ios版下载的音乐文件。通过同步助手等软件查看时。发现音乐文件都是一串数字命名。通过网上查找和自己尝试。发现那些文件都是音频文件改了文件名称而已。仅仅要改动回文件名称,就能和正常的音乐一样播放了。

之前写了一个简单的Java程序实现了功能,可是没有提供打包好的程序供大家使用。

近期特地写了一个简单的图形界面供下载使用。如有问题或改进建议可联系本人(在原文中评论就可以)。

可直接点此链接下载打包好的exe程序使用。
https://github.com/jzj1993/iOS-KwMusic-Export-Tools/raw/master/iOS-KwMusic-Export-Tools.exe

假设不是Windows系统。可下载打包好的jar程序使用(电脑上须要安装jre)。


https://github.com/jzj1993/iOS-KwMusic-Export-Tools/raw/master/iOS-KwMusic-Export-Tools.jar

用法说明

1、拷贝文件

首先利用同步助手等软件,从iOS设备(iPhone或iPad)中导出下载的音乐文件,放到电脑上的一个目录中。

一般在图中的DownloadingSave和Music目录中。

怎样从ipad(iphone)的酷我音乐盒中导出已下载的音乐文件[第二版]

然后找到数据库文件cloud.db并复制出来。如图。

怎样从ipad(iphone)的酷我音乐盒中导出已下载的音乐文件[第二版]

拷贝到电脑中的文件如图。

2、使用音乐导出工具

下载并双击打开音乐导出工具如图。假设不能执行。请在电脑上安装jre,详细方法能够百度搜索。

分别选择数据库文件cloud.db和音乐文件保存的目录(注意将全部音乐文件都放到所选目录下。不能放到它的子目录中)。点击開始处理。即開始进行处理,处理完毕后如图。

处理完毕后的音乐。

使用本程序整理导出的音频文件。实測700多首音乐,仅仅需不到两分钟就可以完毕。

软件实现

有兴趣了解本软件实现、有一定Java编程能力、有意改进本软件的读者能够继续往下看。

前台图形界面的实现

图形界面使用的是Java自带的Swing和AWT框架,GUI与交互部分的源代码例如以下:
https://github.com/jzj1993/iOS-KwMusic-Export-Tools/blob/master/src/ClsMain.java

数据库操作支持库

数据处理方面,其本质就是从数据库文件读取信息,并据此改动文件名称和移动。数据库的操作使用的是sqlitejdbc-v037-nested.jar支持包。

后台数据部分的实现

从手机复制出cloud.db数据库文件,为SQLite数据库文件。用SQLite Database Browser打开,看到里面和音乐关系比較密切的主要有三个数据表:

  1. playlistsInfo中保存着播放列表信息。字段title为列表名称,字段id为列表id

  2. playlistMusics保存了音乐和播放列表的相应关系,字段titleartist等为音乐信息,rid为音乐资源id,字段playlist_id相应了所属播放列表id

  3. musicResource中是音乐信息和文件相应关系。字段file为相应的文件名称。format为文件格式。rid为音乐资源id

于是程序的工作流程是这种:

  1. 首先从musicResource逐一读取每首音乐的rid
  2. 通过ridplaylistMusics中查找playlist_id。可能找不到,也可能不止一个。由于同一首音乐可能在多个列表中,这里简单的取最大的playlist_id。通常应该是相对照较新的播放列表。
  3. 然后在playlistsInfo中找到playlist_id相应的播放列表名,作为目标音乐的子目录。
  4. 最后把源文件重命名为“歌手名 – 歌曲名.扩展名”。并移动到目标目录就可以。

数据处理部分的源代码例如以下:
https://github.com/jzj1993/iOS-KwMusic-Export-Tools/blob/master/src/Data.java

完整project下载 / Fork me on GitHub
https://github.com/jzj1993/iOS-KwMusic-Export-Tools

注:由于我如今没有iOS设备,本文中有两张Itools的截图来自
http://blog.sina.com.cn/s/blog_4d5428240101bs5x.html