npm 包 id3-writer-js 使用教程

阅读时长 4 分钟读完

简介

id3-writer-js 是一个用于读写音频文件 ID3 信息的 npm 包。ID3 信息通常包含歌曲名称、作者、专辑等元数据,这些信息可以方便地被播放器识别并展示,同时也方便用户分类和排除重复。

本文将介绍如何使用 id3-writer-js 简单地读写音频文件 ID3 信息,希望能帮助读者更好地理解和使用该 npm 包。

安装

使用 npm 安装 id3-writer-js:

读取 ID3 信息

基本用法

以下代码展示了如何读取 MP3 文件的 ID3 信息:

-- -------------------- ---- -------
----- -- - --------------
----- - --------- - - -------------------------

----- ---- - -------------------------------
----- ------ - --- ----------------

------
  ---------------
  -------- -- -
    ---------------------------------
  ---
展开代码

代码很简单,只需要将 MP3 文件转换成二进制数据,通过 ID3Writer 创建一个实例,并通过 loadMetadata 方法读取 Metadata,之后就可以通过 getAllTags 方法输出 ID3 信息了。

ID3 Tag 类型

id3-writer-js 支持的 ID3 Tag 类型主要有以下几种:

  • TIT2: 歌曲名称
  • TPE1: 艺术家名称
  • TALB: 专辑名称
  • TCON: 风格
  • TCOP: 版权
  • TENC: 编码者
  • TDRC: 音频录制时间
  • TSSE: 编码所使用的软件及其版本号

其中每一种类型的具体使用方法可以参照官方文档。

写入 ID3 信息

基本用法

以下代码展示了如何在 MP3 文件中写入 ID3 信息:

-- -------------------- ---- -------
----- -- - --------------
----- - ---------- ------ - - -------------------------

----- ---- - -------------------------------
----- ------ - --- ----------------

------------------------------------ -------
  ------------------------------ ---------
  ------------------------------ --------
  ------------------------------ ---------

----------------

----- ---------- - --------------------------------
-------------------------------------- ------------
展开代码

代码需要先读取 MP3 文件并通过 ID3Writer 创建一个实例,之后通过 setFrame 方法设置 ID3 的各个 Frame,最后通过 addTag 方法将写入的 ID3 信息添加到音频文件中。

Frame 类型

id3-writer-js 支持的 Frame 类型主要有以下几种:

  • TXXX: 用户定义的文本信息
  • APIC: 音频文件中的图片信息
  • COMM: 注释
  • TALB: 专辑名称
  • TBPM: 节拍
  • TCOM: 作曲家
  • TCON: 风格
  • TDRC: 音频录制时间
  • TIT2: 歌曲名称
  • TPE1: 艺术家名称
  • TPE3: 排列画家,雕刻家,原始艺术家
  • TEXT: 作词家/作曲人员的信息
  • TOLY: 填词人
  • TRCK: 曲目编号
  • TSSE: 编码所使用的软件及其版本号

同样,每一种类型的具体使用方法可以参照官方文档。

总结

通过本文我们了解了 npm 包 id3-writer-js 的基本使用方法,不仅可以读取音频文件的 ID3 信息,还可以对文件写入 ID3 标签,为音频文件增加元数据,帮助用户更好地使用和组织音乐文件。

在实际开发中,学习并掌握 id3-writer-js 的使用将有助于我们更好地为用户提供音乐相关的服务和产品。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/138708