用java下载音频文件_喜马拉雅FM下载的音频转换为正常文件的JAVA实现

本文介绍如何使用Java实现将喜马拉雅FM下载的VIP音频文件转换为正常文件,包括解析list.json,重命名文件,以及所需的环境和步骤。
摘要由CSDN通过智能技术生成

可能很多朋友都会发现 ,喜马拉雅FM下载的VIP音频,一旦VIP过期后,将不能再收听,那么很多人都会想,如何才能在将在会员期下载的VIP音频离线备份,并且能随时收听。但是当大家伙找到下载的文件后,发现文件名和文件格式都是一堆乱码,转移出来后根本不知道这到底是时哪个文件,网上有很多人提供了Python程序来实现将这些.文件解密的方式,但是很多人并不一定都会Python,本文就讲述如何使用Java实现转换喜马拉雅下载的音频文件。

一、实现 基础

1、首先有一台可以上网的电脑

2、此电脑安装了Java运行环境和eclipse/myeclipse/intelij任何其一开发软件

3、此电脑为windows电脑

4、如果想下载并转换VIP音频,需要有会员

二、软件实现

1、需要在电脑上下载喜马拉雅FM客户端

由于直接在喜马拉雅官网下载的PC客户端无法现在,我们采用曲线救国的方式来实现,使用windows电脑在微软应用商店中搜索“喜马拉雅”,搜索结果如下

d2bc5d3fe1067c480125240e2bb4aeef.png

点击安装此应用,安装成功后的效果就是如上,点击“启动”,效果如下:

1c7c6e3c4ed5063ae934e8356f27de51.png

2、登录

使用你自己的账号登录

3、修改下载文件 路径:

fca9317345b673497bb9cb8c5f665f08.png

4、选择你要下载的音频,并点击下载,下载后的文件列表效果如下:

9fa49fb9678c1ccbda9eccaae977b770.png

4、打开你刚刚设置的下载目录,文件结构如下:

da1361e4e40238f4798a41fcd9f086ad.png

上面目录中的20207764就是我下载的文件的文件夹(注意,每个音频集合的这个文件夹名称不一样)

5、将下载的程序拷贝至开发工具并运行(需要引入Org.json的Jar)

import java.io.File;

import java.io.FileInputStream;

import java.io.FileReader;

import java.io.InputStreamReader;

import java.io.Reader;

import org.json.JSONArray;

import org.json.JSONObject;

/**

* @Project: 便民(BeBianMin-BaJson)系统

* @Description: 中文类名。

* @Version 1.0.0

* @Author

*

2020-01-23 1028743139@qq.com Create 1.0

* @Copyright ©2017-2020 BeBianMin(www.bajson.com),版权所有。

*/

public class XiMaLaYaCon

{

public static void main(String[] args)

{

String sourceDir = "E:\\音乐\\大唐\\20207764";

String jsonDir = sourceDir + "list.json";

System.out.println("————开始读取" + jsonDir + "文件————");

try {

// File jsonFile = new File(fileName);

FileReader fileReader = new FileReader(jsonDir);

Reader reader = new InputStreamReader(new FileInputStream(jsonDir), "utf-8");

int ch = 0;

StringBuffer sb = new StringBuffer();

while ((ch = reader.read()) != -1) {

sb.append((char) ch);

}

fileReader.close();

reader.close();

JSONArray jsonArray = new JSONArray(sb.toString());

System.out.println("————读取" + jsonDir + "文件结束!————");

System.out.println("读取到文件内容为:" + jsonArray.toString());

if (jsonArray.length() >= 0) {

for (int i = 0; i < jsonArray.length(); i++) {

JSONObject jsonObject = jsonArray.getJSONObject(i);

String trackId = String.valueOf(jsonObject.getInt("trackId"));

String title = jsonObject.getString("title");

System.out.println("读取到的文件为:" + trackId + ",文件名称为:" + title);

String fileDir = sourceDir + "\\" + trackId + ".m4a";

String fileTar = sourceDir + "\\" + title + ".mp3";

File fileSource = new File(fileDir);

File fileTarget = new File(fileTar);

fileSource.renameTo(fileTarget);

}

System.out.println("-------------转换完毕-----------");

}

else {

System.out.println("--------该目录下无要转换的文件--------");

}

}

catch (Exception e) {

System.out.println("————读取" + jsonDir + "文件出现异常,读取失败!————");

e.printStackTrace();

return;

}

}

}

将4中的文件夹目录拷贝并替换上面程序中的值

String sourceDir = "E:\\音乐\\大唐\\20207764";

然后运行,就可以将文件的文件名称全部修改为正确的文件名称。

运行前的文件如下:

b33a67cefa15fb29cc74d2f4727a9952.png

运行后的文件名称如下:

647cdc9e64ccf761a2e15dcb5d212819.png

完美解决,如果你有问题,请下方评论,如果你觉得我能帮到您,还请您异步原网站,并点下网站里的广告,免费赞助我下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值