获取网易云音乐歌词并解析 - JavaScript 代码示例
获取网易云音乐歌词并解析 - JavaScript 代码示例
本文提供 JavaScript 代码示例,演示如何使用 wx.request 获取网易云音乐歌曲歌词,并解析歌词数据,将歌词转换为时间戳和文本的数组。
lrc(songId) {
wx.request({
url: `httpss://music.163.com/api/song/lyric?os=pc&id=${songId}&lv=-1&kv=-1&tv=-1`,
success: (res) => {
console.log(res);
var str = res.data.lrc.lyric;
var lyrics = [];
console.log(str);
// 将歌词数组分割成一行一行
var lines = str.split('\n');
for (var i = 0; i < lines.length - 1; i++) {
var line = lines[i];
console.log(line);
// 将时间与歌词分割开
var timeLyric = line.split(']');
// 取出时间并转成毫秒数
var time = timeLyric[0].trim().replaceAll('[', '');
var minute = parseInt(time.split(':')[0]);
var second = parseFloat(time.split(':')[1]);
var seconds = minute * 60 * 1000 + second * 1000;
// 取出歌词
var lyric = timeLyric[1].trim();
console.log(time, lyric);
var gqc = {};
gqc.time = seconds;
gqc.lyric = lyric;
lyrics.push(gqc);
}
this.setData({
lyrics: lyrics,
});
console.log(lyrics);
}
})
},
为什么 console.log 打印不出来 res.data.lrc.lyric?
可能是以下原因导致 console.log 打印不出来 res.data.lrc.lyric:
- 请求失败:请检查网络连接,确保请求能够成功发送。可以在
wx.request的fail回调函数中打印错误信息,以确定请求失败的原因。 - 数据格式不正确:检查返回的数据格式是否符合预期,例如
res.data.lrc是否存在,res.data.lrc.lyric是否为空。可以使用console.log(res)打印整个响应数据,以查看数据格式。 - API 限制:网易云音乐 API 可能存在访问限制,例如需要登录授权才能获取歌词。
建议参考网易云音乐官方文档,了解 API 的使用说明和限制。
原文地址: https://www.cveoy.top/t/topic/oRdG 著作权归作者所有。请勿转载和采集!