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>.<revision>",major: integer,revision: integer,flags: {unsynchronisation: boolean,extended_header: boolean,experimental_indicator: boolean},size: integer,<frame id>*: {id: integer,size: integer,description: string,data: <frame structure>},<shortcut>*: pointer to <frame id>.data
}
Currently supported frames:APIC/PIC: Attached pictureCOMM/COM: CommentsPCNT/CNT: Play counterT*: Text framesUSLT/ULT: Unsychronized lyric/text transcriptionShortcuts:title: TIT2/TT2artist: TPE1/TP1album: TALB/TALyear: TYER/TYEcomment: COMM/COMtrack: TRCK/TRKgenre: TCON/TCOpicture: APIC/PIC
lyrics: USLT/ULT

备注:留待再更新编辑

JS解析MP3获取歌曲信息--ID3 Reader相关推荐

  1. 乐鑫Esp32学习之旅11 入门 乐鑫esp-adf 音频框架开发,造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  2. 获取歌曲信息歌曲详细信息

    # -*- coding: utf-8 -*- from mutagen.mp3 import MP3 import osclass GetMp3Info():'''获取歌曲信息'''def __in ...

  3. php获取酷狗mv播放链接,酷狗歌单获取歌曲信息的接口源码

    <?php /** *@authorYoungxj *@time2018年6月22日 *@todo利用酷狗歌单进行获取酷狗歌曲信息 */ // 访问短网址出现的地址 // http://m.ku ...

  4. uniapp解析token获取用户信息

    在uniapp开发中,遇到一种情况,就是在某个模块,我需要根据登录的账号判断有没有权限看到该模块.本来我以为这些信息都存在用户登录接口里,后来发现原来都装在token中,也就是说,我需要获取到toke ...

  5. Android蓝牙音乐获取歌曲信息

    由于我在蓝牙开发方面没有多少经验,如果只是获取一下蓝牙设备名称和连接状态那么前面的那篇文章就已经足够了,接下来的内容是转自一个在蓝牙音乐方面颇有经验的开发者的博客,他的这篇文章对我帮助很大. 今天,先 ...

  6. android电视打印信息解析,液晶电视获取打印信息的方法与操作

    通过本文我们先来了解一下打印信息,首先要说的就是打印信息并不要打印机,只需要我们的烧录器就可以了.打印信息是什么呢,打印信息是电视机主控送出来的一段代码,我们通过电脑或是手机来查看代码,是机器本身运行 ...

  7. js高德地图获取道路信息

    我通过高德api搜索道路信息发现没有权限,各种网上教程也都是几年前的了,也无法获取道路信息 然后我通过抓包发现了最新的获取道路信息的api https://www.amap.com/service/p ...

  8. Android 蓝牙开发——Avrcp协议获取歌曲信息(十八)

    通过前面的 Avrcp 协协议的学习,我们知道蓝牙音乐的控制是通过媒体播放器进行的.而媒体播放器的数据发生变化时会通过 MediaSeesion 通知客户端,本篇文章主要分析一下歌曲信息是如何传递的. ...

  9. js解析网址获取需要的数据

    /*** 获取地址栏内容,返回pathnamearrneed对象* @param {Object} len 从第几位开始获取你需要的值* @param {Boolean} true 返回的是截取后的数 ...

最新文章

  1. 快速排序的递归和非递归
  2. 人工智能助力资深内容营销人员
  3. 1.12 Java数组使用binarySearch()方法查找指定元素
  4. 多年经验的程序员迷失了自己,该怎么办?
  5. LeetCode206:Reverse Linked List
  6. 第218天:Angular---模块和控制器
  7. 实验三:分别用for、while和do-while循环语句以及递归方法计算n!,并输出算式...
  8. android 两个视频合并,手机如何合并视频片段 安卓手机多个视频合并成一个的方法...
  9. iOS 中client和server的 Web Service 网络通信 (2)
  10. 将高德坐标拾取工具放入Element UI 对话框
  11. 计算机系统与手机系统,电脑经常重装系统与手机常刷机好吗?二者有哪些区别?别弄错了!...
  12. Android中MVVM架构设计模式面试问题讲解
  13. day17-面向对象作业
  14. word被加密不能编辑如何破解
  15. 用 Swift、Foursquare API 和 Realm 創建一個咖啡屋 App
  16. 中国人民大学_《组织行为学》_14.相对剥夺:怎样快速形成凝聚力?
  17. 二维码如何转为链接,看了这篇文章才知道多好用!
  18. 关于nignx老是报错404的问题
  19. python二级第四套答案
  20. 噪音恐惧症_比恐惧强:公开的心理健康

热门文章

  1. C#基础 MethodInfo GetMethod 反射 调用有参公共方法
  2. java中的onresume_java – onActivityResult()之前调用onResume()?
  3. CentOS7安装MySQL8.0
  4. caldav选择导入日历_如何用安全的日历协议替换CalDAV
  5. 关于小米手机用AndroidStudio利用USB数据线安装APK问题
  6. git clone出错:Failed to receive SOCKS4 connect request ack.
  7. C++的四种编程范式
  8. JS混淆加密介绍,以及简单代码示例
  9. linux-ftpd-0.17制作ftpd嵌入式linux下的ftp服务器
  10. 唯美计算机语言,20句最唯美的语言