NodeJS-读取music-metadata

music-metadata npm 仓库
music-metadata Github 仓库

介绍

music-metadata 来读取音频文件的一些元信息, 如歌曲名, 歌手等. (前提是文件里有这些信息)

安装

1
npm install music-metadata

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import { parseFile } from 'music-metadata';
import { inspect } from 'util';

(async () => {
try {
const filePath = './music/test2.mp3';
const metadata = await parseFile(filePath);

// Output the parsed metadata to the console in a readable format
console.log(inspect(metadata, { showHidden: false, depth: null }));
} catch (error) {
console.error('Error parsing metadata:', error.message);
}
})();
  • parseFile() 是一个异步函数, 接收音频文件路径

输出如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
format: {
tagTypes: [ 'ID3v2.3' ],
trackInfo: [],
lossless: false,
container: 'MPEG',
codec: 'MPEG 1 Layer 3',
sampleRate: 44100,
numberOfChannels: 2,
bitrate: 128000,
codecProfile: 'CBR',
duration: 372.06204081632654,
tool: 'LAME 3.99.5'
},
native: {
'ID3v2.3': [
{ id: 'TPE1', value: '長渕剛' },
{ id: 'TYER', value: '1994' },
{ id: 'TIT2', value: 'とんぼ ' },
{ id: 'TALB', value: 'いつかの少年' },
{ id: 'TRCK', value: '5' },
{ id: 'TSSE', value: 'Lavf56.4.101' }
]
},
quality: {
warnings: [
{ message: 'Invalid ID3v2.3 frame-header-ID: \x00\x00\x00\x00' },
{ message: 'id3v2.3 header has empty tag type=\x00\x00\x00\x00' }
]
},
common: {
track: { no: 5, of: null },
disk: { no: null, of: null },
movementIndex: { no: null, of: null },
artists: [ '長渕剛' ],
artist: '長渕剛',
year: 1994,
title: 'とんぼ ',
album: 'いつかの少年',
encodersettings: 'Lavf56.4.101'
}
}

NodeJS-读取music-metadata
http://example.com/2024/09/02/NodeJS-读取music-metadata/
作者
Jie
发布于
2024年9月2日
许可协议