获取网易云音乐歌词并解析 - 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

  1. 请求失败:请检查网络连接,确保请求能够成功发送。可以在 wx.requestfail 回调函数中打印错误信息,以确定请求失败的原因。
  2. 数据格式不正确:检查返回的数据格式是否符合预期,例如 res.data.lrc 是否存在,res.data.lrc.lyric 是否为空。可以使用 console.log(res) 打印整个响应数据,以查看数据格式。
  3. API 限制:网易云音乐 API 可能存在访问限制,例如需要登录授权才能获取歌词。

建议参考网易云音乐官方文档,了解 API 的使用说明和限制。

获取网易云音乐歌词并解析 - JavaScript 代码示例

原文地址: https://www.cveoy.top/t/topic/oRdG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录