Purpose

Since 2 ID3 is no longer being maintained. Here I recommand jsmediatags.
from jsmediatags document.

How to use

  1. import jsmediatags and create a jason array for music urls
var jsmediatags = window.jsmediatags;
var urls = [ur1, url2, ur3, ...];
  1. get tag of music and translate image cover to base64
function getTags(url) {      
  return new Promise((resolve, reject) => {
      new jsmediatags.Reader(url)
        .read({
          onSuccess: (tag) => {
            const { data, format } = tag.tags.picture;
                    var base64String = "";
                        for (let i = 0; i < data.length; i++) {
                        base64String += String.fromCharCode(data[i]);
                        }
                        var base64 = `data:{data.format};base64,{window.btoa(base64String)}`;
                    resolve(base64);
          },
          onError: (error) => {                
            reject(error);
          }
        });
    });
}
  1. insert into a promises
let promises = urls.map(url => getTags(url))

Promise.all(promises).then(results=>{
    // `results` is array of all the base64 values same order as the urls array
  // loop over the results and add what is needed to DOM

  // then call cover flow
  const ap = new APlayer({
        container: document.getElementById('aplayer01'),
        fixed: true,                                                                                                                                                                                                                          
        loop: 'all',
        order: 'random',
        listFolded: true,
        listMaxHeight: 90,
        audio: [       
        {              
            name: 'GLORIOUS DAYS',
            artist: 'yuiko',
            url: "https://***/'yuiko - GLORIOUS DAYS.flac'",
            cover: results[0]
        },
        {              
            name: '東の空から始まる世界',
            artist: 'yuiko',
            url: "https://***/'yuiko - 東の空から始まる世界.flac'",
            cover: results[1]
        },
        {              
            name: 'Relive',
            artist: 'nonoc',
            url: "https:/***/'nonoc - Relive.mp3'",
            cover: results[2]
        },
        {              
            name: 'ポケットをふくらませて',
            artist: 'rionos',
            url: "https://***/'rionos - ポケットをふくらませて.flac'",
            cover: results[3]
        },
        {              
            name: 'Believe-in-you',
            artist: 'nonoc',
            url: "https://***/Believe-in-you.mp3",
            cover: results[4]
        },
        {              
            name: 'オレンジ',
            artist: 'seven oops',
            url: "https://***/'seven oops - オレンジ.flac'",
            cover: results[5]
        },
        {              
            name: ' 終わりの世界から',
            artist: 'やなぎなぎ',
            url: "https://***/'やなぎなぎ - 終わりの世界から.flac'",
            cover: results[6]
        },
        {              
            name: 'Wings of Courage_空を超えて piano',
            artist: '川田まみ',
            url: "https://***/川田まみ_Wings_of_Courage_空を超えて_piano_style.mp3",
            cover: results[7]
        }
        ]
    });

}).catch(err=> console.log('One of the requests failed'))
  1. complete code
var jsmediatags = window.jsmediatags;
var urls = [ur1,
           ur2,
           ur3
           ...];

function getTags(url) {      
  return new Promise((resolve, reject) => {
      new jsmediatags.Reader(url)
        .read({
          onSuccess: (tag) => {
            const { data, format } = tag.tags.picture;
                    var base64String = "";
                        for (let i = 0; i < data.length; i++) {
                        base64String += String.fromCharCode(data[i]);
                        }
                        var base64 = `data:{data.format};base64,{window.btoa(base64String)}`;
                    resolve(base64);
          },
          onError: (error) => {                
            reject(error);
          }
        });
    });
}

let promises = urls.map(url => getTags(url))

Promise.all(promises).then(results=>{
  const ap = new APlayer({
        container: document.getElementById('aplayer01'),
        fixed: true,                                                                                                                                                                                                                          
        loop: 'all',
        order: 'random',
        listFolded: true,
        listMaxHeight: 90,
        audio: [       
        {              
            name: 'GLORIOUS DAYS',
            artist: 'yuiko',
            url: "https://***/'yuiko - GLORIOUS DAYS.flac'",
            cover: results[0]
        },
        {              
            name: '東の空から始まる世界',
            artist: 'yuiko',
            url: "https://***/'yuiko - 東の空から始まる世界.flac'",
            cover: results[1]
        },
        {              
            name: 'Relive',
            artist: 'nonoc',
            url: "https:/***/'nonoc - Relive.mp3'",
            cover: results[2]
        },
        {              
            name: 'ポケットをふくらませて',
            artist: 'rionos',
            url: "https://***/'rionos - ポケットをふくらませて.flac'",
            cover: results[3]
        },
        {              
            name: 'Believe-in-you',
            artist: 'nonoc',
            url: "https://***/Believe-in-you.mp3",
            cover: results[4]
        },
        {              
            name: 'オレンジ',
            artist: 'seven oops',
            url: "https://***/'seven oops - オレンジ.flac'",
            cover: results[5]
        },
        {              
            name: ' 終わりの世界から',
            artist: 'やなぎなぎ',
            url: "https://***/'やなぎなぎ - 終わりの世界から.flac'",
            cover: results[6]
        },
        {              
            name: 'Wings of Courage_空を超えて piano',
            artist: '川田まみ',
            url: "https://***/川田まみ_Wings_of_Courage_空を超えて_piano_style.mp3",
            cover: results[7]
        }
        ]
    });
  // `results` is array of all the base64 values same order as the urls array
  // loop over the results and add what is needed to DOM

  // then call cover flow

}).catch(err=> console.log('One of the requests failed'))