这个项目能做什么
music-metadata 是一个面向音频和视频媒体文件的开源元数据解析器,以 npm 包形式分发。它从本地文件、流、Blob 和内存缓冲区读取格式、标签和时长信息,并在 Node.js 以及使用 Webpack 或 Rollup 等工具打包的浏览器环境中运行。
格式覆盖包括 MP3、MP4/M4A/M4V、FLAC、Ogg、Opus、Vorbis、Speex、Theora、WAV/BWF、AIFF/AIFF-C、AAC/ADTS、APE、ASF/WMA、Matroska/WebM、MPC、DSF、DSDIFF 和 WavPack。标签支持涵盖 ID3v1、ID3v1.1、ID3v2.2、ID3v2.3、ID3v2.4 和 ID3v2 Chapters、APE、ASF、EXIF 2.3、iTunes/MP4、RIFF/INFO、Vorbis 注释和 AIFF。歌词格式 LRC、同步歌词(SYLT)和不同步歌词(USLT)均被处理,还包括由 Picard 写入的 MusicBrainz 标签和 ReplayGain 标签。编码细节如比特率、位深、时长和编码配置(例如 CBR、V0、V2)也会被提取。
API 基于 Promise。Node.js 专用入口点包括用于文件系统路径的 parseFile 和用于 Node.js Readable 流的 parseStream。跨平台入口点包括用于 Web ReadableStream 对象的 parseWebStream、用于 Blob 或 File 对象的 parseBlob、用于 Uint8Array 或 Buffer 数据的 parseBuffer,以及用于自定义或第三方 strtok3 分词器的 parseFromTokenizer。可选选项允许控制时长计算和跳过内嵌封面艺术等行为。
版本 8 从 CommonJS 迁移到纯 ECMAScript Modules,并以 ECMAScript 2020 为目标,要求 Node.js 22 或更新版本的引擎;文档中记录了 CommonJS 向后兼容路径。该项目由 Borewit 维护,包含 CI、CodeQL、覆盖率和依赖漏洞徽章。Audio Tag Analyzer、Webamp 和 ICY 电台流播放器等在线演示展示了典型用途,该库面向媒体应用、音乐播放器和其他需要详细音频元数据的项目。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。