吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7726|回复: 14
收起左侧

[其他转载] 分享一个go写的转换网易云音乐缓存文件为mp3的小工具

  [复制链接]
whitehack 发表于 2018-12-18 10:42
公司网突然断了。没有音乐听了。就整了个这个。。。

[Golang] 纯文本查看 复制代码
package main

import (
	"bufio"
	"fmt"
	"io"
	"io/ioutil"
	"log"
	"os"
	"strings"
	"time"
)

// 转换网易云 缓存到mp3
func main() {
	cachePath := "C:\\\\Users\\Administrator\\AppData\\Local\\Netease\\CloudMusic\\Cache\\Cache"
	args := os.Args[1:]
	if len(args) != 2 {
		log.Fatal("没有传目录参数 \n第一个参数为网易云音乐缓存文件夹 例如:" + cachePath + "\n第二个参数为保存转换过的mp3文件的文件夹")
	}
	cachePath = args[0]
	targetPath := args[1] //"F:\\\\CloudMusic"

	fmt.Printf("cachepath:%s  targetPath:%s\n", cachePath, targetPath)
	if err := os.MkdirAll(targetPath, 0777); err != nil {
		log.Fatal(err)
	}
	files, _ := ioutil.ReadDir(cachePath)
	// 启动多少个 goroutine
	ch := make(chan string, 20)
	startTime := time.Now()
	count := 0
	for _, file := range files {
		if !file.IsDir() && strings.HasSuffix(file.Name(), ".uc") {
			ch <- file.Name()
			go func(fileName string) {
				fmt.Println("parse :", fileName)
				err := decodeFile(cachePath, fileName, targetPath, fileName+".mp3")
				//err := decodeFileStream(cachePath, fileName, targetPath, fileName+".mp3")
				count++
				defer func() {
					fmt.Println("parse end:", <-ch, " err:", err)
				}()
			}(file.Name())
		}
	}

	fmt.Println("all end", time.Since(startTime), "count:", count)

}

func decodeFile(dirName, fileName, newDirName, newName string) error {
	bytes, err := ioutil.ReadFile(dirName + "\\" + fileName)
	if err != nil {
		return err
	}
	for i := 0; i < len(bytes); i++ {
		bytes[i] ^= 0xa3
	}
	return ioutil.WriteFile(newDirName+"\\"+newName, bytes, 0777)
}



编译好的小程序。
链接:https://share.weiyun.com/5fRjDJt 密码:j6xd6x

使用方法   

main.exe  网易云缓存目录   要保存到的目录

缓存目录一般是  C:\\Users\Administrator\AppData\Local\Netease\CloudMusic\Cache\Cache

免费评分

参与人数 4吾爱币 +5 热心值 +4 收起 理由
情怀007 + 1 + 1 热心回复!
苏紫方璇 + 3 + 1 重点异或163
wangkai558 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
rsgdxp + 1 我也做过 https://www.52pojie.cn/thread-738056-1-1.html

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

OKxiaobaby 发表于 2018-12-18 10:49
无私分享,必须给赞
LeoSky 发表于 2018-12-18 11:09
楼主无私,虽然只是简单的异或,还是要支持楼主。
头像被屏蔽
HQD 发表于 2018-12-18 11:11
zhangwei690 发表于 2018-12-18 11:16
感谢楼主的分享
ytdzjun 发表于 2018-12-18 11:37
Go 语言对于高性能分布式系统领域而言,无疑比大多数其它语言有着更高的开发效率。
rsgdxp 发表于 2018-12-18 11:51
情书谈什么恋爱 发表于 2018-12-18 12:22
楼主无私,虽然只是简单的异或,还是要支持楼主。
wangkai558 发表于 2018-12-18 12:45

无私分享,必须给赞
wall 发表于 2018-12-18 16:20
这个之前也有相似的软件,就是不知道这么久了,网易云音乐有没有改过
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 17:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表