使用自己的音乐软件
最近发现自己网易云音乐的歌曲都没听版权了,听个歌需要在QQ应用和网易云来回转换,太麻烦了,这里我发现了一个支持网易云、虾米音乐、QQ音乐的音乐播放器,不过有些地方需要自己打包部署,这里记录一下打包部署记录
这个音乐播放器一共有4端
如果不需要云歌单的话,则不需要 歌单服务端
PC端有作者打包好的版本,如果不使用云歌单的话,直接可以下载打包好的版本,而Android端则需要自己打包
因为Android端网易云音乐Api有每天 6 小时的强制休眠时间,且有请求限制,推荐自己搭建 网易云音乐的Api
歌单服务端
- 环境要求
- mysql >= 5.7.8
安装步骤
# 从Github仓库拉取代码
# 如果觉的慢可以使用我搭建的GitHub镜像 https://github.guiyunweb.com/sunzongzheng/player-be.git
git clone https://github.com/sunzongzheng/player-be.git
# 安装依赖
npm install
# 设置配置文件
cp config/default.js config/local.js
修改配置文件
module.exports = {
env: "development",
// 服务端口配置
server: {
host: "127.0.0.1",
port: 8080,
socket: 8081
},
// 数据库配置
sequelize: {
host: process.env.APP_MYSQL_HOST || "172.17.0.10",
port: process.env.APP_MYSQL_PORT || 3306,
database: process.env.APP_MYSQL_DATABASE || "player",
username: process.env.APP_MYSQL_USER || "root",
password: process.env.APP_MYSQL_PASSWORD || "123456",
dialect: "mysql",
pool: {
max: 5,
min: 0,
idle: 10000
},
timezone: "+08:00",
logging: false,
operatorsAliases: false
},
session: {
secret: "secret",
resave: false,
saveUninitialized: false
},
qqStrategyOption: {
clientID: 100000,
clientSecret: "clientSecret",
callbackURL: "https://127.0.0.1:8080/auth/qq/callback"
},
weiboStrategyOption: {
clientID: 100000,
clientSecret: "clientSecret",
callbackURL: "https://127.0.0.1:8080/auth/weibo/callback"
},
// 使用GitHub登录
githubStrategyOption: {
clientID: '94377',
clientSecret: "Iv1.0e85a3fb95d31468",
callbackURL: "https://127.0.0.1:8080/auth/github/callback"
},
email: {
transporter: {
host: "smtp.163.com",
secureConnection: true,
port: 465,
secure: true,
auth: {
user: "user",
pass: "pass"
}
},
to: "to@email"
},
emailSendENV: [
"production", "test"
],
avoidNotifyIDList: [],
jwtKey: "jwtKey",
webhook: {
path: '/webhook',
port: 8338,
secret: 'webhook'
},
blacklist: [],
administrators: []
}
这里第三方登录支持QQ,微博,GitHub 这里推荐使用Github设置
GitHub在setting -> Developer settings ->OAuth Apps
新建一个new OAuth app
回调地址是 https://127.0.0.1:8080/auth/github/callback 的公网地址,请根据你应用的实际地址修改
填写完成点击创建
然后进入设置页面,在设置页面点击生成密钥
生成完成后把githubStrategyOption 配置修改完成就Ok了
githubStrategyOption: {
clientID: '94377',
clientSecret: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx",
callbackURL: "https://127.0.0.1:8080/auth/github/callback" //这个改成公网的回调地址
},
部署
这里推荐使用pm2部署,如果没有安装pm2则输入下面命令安装
npm install pm2@latest -g
# 使用PM2运行
pm2 start pm2.production.json
也可以使用**npm run start **进行安装
PC端
- 榜单、云歌单、登录功能均依赖歌单服务端,如果不需要这些功能,可以直接使用打包版本 下载链接
- 环境要求:
- Node,12 ~13
- yarn(推荐)
# 从Github仓库拉取代码
git clone https://github.com/sunzongzheng/music.git
# 进入项目里进行依赖安装 或者使用npm install
yarn
如果yarn依赖安装慢的话查看我的 yarn 变换为淘宝镜像源 这篇文章更换依赖源
修改仓库里的config/index.js文件
// api: 云歌单服务地址
// socket: socket 服务地址,socket 用于在线人数统计,简易聊天室,不需要可以不填
export default {
api: 'http://your-player-be-address',
socket: 'http://your-player-be-address'
}
修改完成后,进行打包服务
# 打包命令 或者使用npm run build
yarn run build
进入releases文件就可以看见打包好的文件,直接进行安装就可以了
Android
-
Android版本没有打包版,所以需要自己打包
-
安卓端很简单,下载 MusicLake 代码,导入到Android Studio里面打包就可以了
-
安卓端的网易云音乐API部署leanCloud上面的,因为是leanCloud的体验实例,所以有每天 6 小时的强制休眠时间,而且每天的请求次数也有 限制,所以不稳定。如果有服务器推荐自己搭建,源码地址 NeteaseCloudMusicApi
网易云音乐Api搭建
# 拉去网易云音乐Api源码
git clone https://github.com/Binaryify/NeteaseCloudMusicApi.git
# 安装依赖
npm install
# 运行服务
node app.js
服务器启动默认端口为 3000,若不想使用 3000 端口
PORT=4282 node app.js
我自己个人推荐使用PM2 运行
pm2 --name NeteaseCloudMusicApi start app.js
不想使用3000端口的话,修改app.js 第110行代码
const port = process.env.PORT || 4282
在使用运行
pm2 --name NeteaseCloudMusicApi start app.js