如何使用jsmediatags从mp3获取专辑封面

时间:2017-07-29 06:14:19

标签: javascript image mp3

大家好我有一个像song.mp3这样的mp3文件,我想获得它的专辑艺术和艺术家名称,然后想在我的html网页上显示。请告诉我怎么做?

  

如何从mp3文件中获取相册并在我的html img标签中显示   我看到这个例子https://github.com/aadsm/JavaScript-ID3-Reader/blob/master/example/index.html#L46这对输入文件很好但是我想从我的网站中存储的像song.mp3这样的url中获取专辑

请将相册图片存储在变量中,然后以html img标签显示,谢谢

1 个答案:

答案 0 :(得分:1)

https://github.com/aadsm/jsmediatags是一个很好的起点。

包括jsmediatags之后。创建变量(请注意,我使用的是浏览器示例)

var jsmediatags = window.jsmediatags;

使用该变量,您可以按如下方式获取文件的ID3标签;

var tags = {};
jsmediatags.read(your_media_file, {
   onSuccess: function(tag) {
      tags = tag;
   }, 
   onError: function(error) {
      // handle error
      console.log(error);
   }
});

tags对象具有您想要的属性以及更多;

{
   artist : 'name of artist',
   album : 'name of album',
   track : 'track number',
   title : 'track title',
   genre : 'track genre',
   picture : {...}, // object with track art details
   .
   .
   .
}

然后您可以按如下方式生成专辑封面;

var picture = tags.tags.picture; // create reference to track art
var base64String = "";
for (var i = 0; i < picture.data.length; i++) {
    base64String += String.fromCharCode(picture.data[i]);
}
var imageUri = "data:" + picture.format + ";base64," + window.btoa(base64String);