iOS酷我音乐导出工具使用说明和原理介绍(提供下载链接及project源代码)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS酷我音乐导出工具使用说明和原理介绍(提供下载链接及project源代码)相关的知识,希望对你有一定的参考价值。
软件下载链接
酷我音乐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目录中。
然后找到数据库文件cloud.db
并复制出来。如图。
拷贝到电脑中的文件如图。
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
打开,看到里面和音乐关系比較密切的主要有三个数据表:
-
playlistsInfo
中保存着播放列表信息。字段title
为列表名称,字段id
为列表id
。 -
playlistMusics
保存了音乐和播放列表的相应关系,字段title
、artist
等为音乐信息,rid
为音乐资源id
,字段playlist_id
相应了所属播放列表id
。 -
musicResource
中是音乐信息和文件相应关系。字段file
为相应的文件名称。format
为文件格式。rid
为音乐资源id
。
于是程序的工作流程是这种:
-
首先从
musicResource
逐一读取每首音乐的rid
; -
通过
rid
在playlistMusics
中查找playlist_id
。可能找不到,也可能不止一个。由于同一首音乐可能在多个列表中,这里简单的取最大的playlist_id
。通常应该是相对照较新的播放列表。 -
然后在
playlistsInfo
中找到playlist_id
相应的播放列表名,作为目标音乐的子目录。 - 最后把源文件重命名为“歌手名 – 歌曲名.扩展名”。并移动到目标目录就可以。
数据处理部分的源代码例如以下:
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
以上是关于iOS酷我音乐导出工具使用说明和原理介绍(提供下载链接及project源代码)的主要内容,如果未能解决你的问题,请参考以下文章