解决'Cannot read property 'trim' of undefined' 错误:网易云音乐歌词解析

这个错误通常是由于代码中有未定义的变量或对象引起的。在这个情况下,可能是因为某些行没有歌词,导致在分割时间和歌词时出现了问题。你可以尝试在分割时间和歌词之前,添加一个条件判断来检查是否存在歌词。例如:

lrc(songId) {
  wx.request({
    url: `https://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(']');
        //检查是否存在歌词
        if (timeLyric.length > 1) {
          //取出时间并转成毫秒数
          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);
        } else {
          // 处理没有歌词的情况
          console.log('This line has no lyric.');
        }
      }
      this.setData({
        lyrics: lyrics,
      });
      console.log(lyrics);
    }
  })
},

通过在分割时间和歌词之前添加条件判断,我们可以有效地避免'Cannot read property 'trim' of undefined' 错误,并确保代码的健壮性。在没有歌词的情况下,可以选择跳过这一行,或者根据实际需求进行其他处理。

解决'Cannot read property 'trim' of undefined' 错误:网易云音乐歌词解析

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

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