资讯专栏INFORMATION COLUMN

JS解析MP3获取歌曲信息--ID3 Reader

heartFollower / 3203人阅读

摘要:是一款可以在前台或者后台解析曲目信息前提是含有这些信息的工具官方源码下载全英文文档用法示例,基本用法,特殊用法,文档及文件路径,回调函数,参数数组文件必须在同域名下文件加载完毕后执行参数数组备注留待再更新编辑

ID3 Reader 是一款可以在前台或者后台(nodejs)解析MP3曲目信息(前提是含有这些信息)的工具

官方demo 源码下载 全英文文档

用法示例

1,基本用法

//In its simplest form:
ID3.loadTags("filename.mp3", function() {
    var tags = ID3.getAllTags(filename);
    alert(tags.artist + " - " + tags.title + ", " + tags.album);
});

2,特殊用法

//by specifying specific tags:
ID3.loadTags("filename.mp3", function() {
    var tags = ID3.getAllTags(filename);
    alert(tags.COMM.data + " - " + tags.TCON.data + ", " + tags.WXXX.data);
},
{tags: ["COMM", "TCON", "WXXX"]});
//or even by specifying shortcuts instead of cryptic tags:
ID3.loadTags("filename.mp3", function() {
    var tags = ID3.getAllTags(filename);
    alert(tags.comment + " - " + tags.track + ", " + tags.lyrics);
},
{tags: ["comment", "track", "lyrics"]});

3,文档及API

ID3.loadTags(url, cb, [options])//文件路径,回调函数,参数数组

url - The URL of the mp3 file to read, this must reside on the same domain (document.domain).
//文件必须在同域名下

cb - The callback function to invoke when the tags are loaded.
//文件加载完毕后执行

options - Optional parameters.
//参数数组

options.tags - The array of tags and/or shortcuts to read from the ID3 block. Default value is: ["title", "artist", "album", "track"]

options.dataReader - The function used to create the data reader out of a url. It receives (url, success: callback function that returns the data reader, fail: callback function to inform an error setting up the reader). By default it will be BufferedBinaryAjax.
ID3.getAllTags(url)

url - The URL of the mp3 file to read, this must be the same value given to ID3.loadTags().

return value - This function will return the following object structure, for IDv1:
{
    version: "1.1",
    title: string,
    artist: string,
    album: string,
    year: string,
    comment: string,
    track: string,
    genre: string
}

and for ID3v2:

{
    version: "2..",
    major: integer,
    revision: integer,
    flags: {
        unsynchronisation: boolean,
        extended_header: boolean,
        experimental_indicator: boolean
    },
    size: integer,
    *: {
        id: integer,
        size: integer,
        description: string,
        data: 
    },
    *: pointer to .data
}
Currently supported frames:

APIC/PIC: Attached picture

COMM/COM: Comments

PCNT/CNT: Play counter

T*: Text frames

USLT/ULT: Unsychronized lyric/text transcription

Shortcuts:

title: TIT2/TT2

artist: TPE1/TP1

album: TALB/TAL

year: TYER/TYE

comment: COMM/COM

track: TRCK/TRK

genre: TCON/TCO

picture: APIC/PIC
lyrics: USLT/ULT

备注:留待再更新编辑

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/86458.html

相关文章

  • 微信小程序音乐播放器,leancloud后端支持,体验小程序数据绑定,Promise较为优雅解决回调

    摘要:初窥添加音乐到收藏最近列表歌词滚动从一个开始微信开发者工具生成目录如下主页日志页面工具大体为每一个即是一个页面文件,每个页面有一个文件规定描述页面的这四个文件必须具有相同的路径与文件名。 showImg(https://segmentfault.com/img/remote/1460000009405866);showImg(https://segmentfault.com/img/r...

    go4it 评论0 收藏0
  • 小白都懂的Python爬虫之网易云音乐下载

    摘要:完整代码如下正在下载根据网易云歌曲的直接下载歌曲上安装爬取网易云歌曲源码地址 首发知乎:https://zhuanlan.zhihu.com/p/... 目标 偶然的一次机会听到了房东的猫的《云烟成雨》,瞬间迷上了这慵懒的嗓音和学生气的歌词,然后一直去循环听她们的歌。然后还特意去刷了动漫《我是江小白》,好期待第二季... 我多想在见你,哪怕匆匆一眼就别离... 好了,不说废话了。这次...

    SoapEye 评论0 收藏0
  • Python下载网易云歌曲(版权限制的怎么播放和下载呢?)

    摘要:为什么要这样下载网易云音乐,我相信大多数人都用过,我个人觉得非常好用,也一直在用,有的时候,我们搜索一些网易歌曲,发现播放不了,甚至下载不了,因为提示版权方要求,当前歌曲仅限开通音乐包使用见下图,也就是,需要购买才能够下载以及播放,有没有办 为什么要这样下载 网易云音乐,我相信大多数人都用过,我个人觉得非常好用,也一直在用,有的时候,我们搜索一些网易歌曲,发现播放不了,甚至下载不了,因...

    xzavier 评论0 收藏0
  • 用Python代码来下载任意指定网易云歌曲(超详细版)

    摘要:至于怎样下载付费网易云音乐,还是开个会员吧,要知道免费是最贵的的这个道理。代码写完了,那还等什么,运行一下装逼啊这下好了,装逼失败,被网易云认出来我是爬虫的,那我试试加下请求头结果加了还是一个样,这个也算是个巨坑吧。 前两天教了大家如何在控制台上找到真实的mp3播放地址,但是不可以下载付费的,因为只能下载可播放的歌曲。至于怎样下载付费网易云音乐,还是开个会员吧,要知道免费是最贵的的这个...

    wwolf 评论0 收藏0

发表评论

0条评论

heartFollower

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<