本地MP3封面图、时长等信息的JS读取」的摘要信息

by zhangxinxu from https://www.zhangxinxu.com/wordpress/?p=11070 鑫空间-鑫生活 本文欢迎分享与聚合,全文转载就不必了,尊重版权,圈子就这么大,若急用可以联系授权。 一、基本常识 音频文件不仅仅有音频采样数据,还包含很多源信息,还是叫元信息的。 这些元信息内容非常丰富,有作者名字、专辑信息、封面、编码格式、音轨信息等。 然而,我们在Web中使用的音频文件大多是没有这些信息的,都被工具移除了,减小文件的体积,节约传输的流量。 这些信息多在音乐网站下载的MP3音频中。 OK,下面需求来了,网站有个本地上传MP3音频的功能,希望如果MP3音频有封面图等信息,也一并上传,没有,那就算了,请问如何实现? 二、封面图和时长的获取 音频的时长不属于元信息,因此,封面图的获取和时长的获取需要分开实现。 1. 封面图的获取 音乐的封面图内容属于元信息,因此,需要从元信息中读取。 至于读取的方法,可以使用目前市面上比较成熟的JavaScript项目,例如:https://github.com/aadsm/jsmediatags 使用很简单,引用JS文件,读取MP3音频,输出结果: <script src="./jsmediatags.min.js"></script> <script> jsmediatags.read("./music-file.mp3", { onSuccess: function(tag) { console.log(tag); }, onError: function(error) { console.log(':(', error.type, error.info); } }); </script> 其中的tag是个巨大的对象,里面包含很多的信息,当然,前提是这个音频的元信...