新浪博客

一个或者多个METADATA BLOCK
AUDIO FRAMES
一个或者多个AUDIO FRAMES

表2 METADATA BLOCK结构
Field Name
Length(bit)
Description
METADATA
BLOCK
HEADER
1
'1'表示是最后一个metadata
BLOCK TYPE
7
0 : STREAMINFO
1 : PADDING
2 : APPLICATION
3 : SEEKTABLE
4 : VORBIS_COMMEN
5 : CUESHEET
6 : PICTURE
7-126 : reserved
127 : 无效
BLOCK SIZE
24
BLOCK DATA长度,不包括HEADER,单位byte
METADATA
BLOCK
DATA


METADATA BLOCK数据,与HEADER的类型相符,参见表3 METADATA BLOCK DATA

表3 METADATA BLOCK DATA结构
Field Name
Length(bit)
Description
STREAMINFO
16
最小的block size,单位sample
16
最大的block size,单位sample
24
最小的frame size,单位byte0表示未知
24
最大的frame size,单位byte0表示未知
20
采样率(Hz)
3
声道数减一,flac支持1~8个声道
5
采样位数减一,flac支持4~32位采样位数
36
一个声道的总采样数,0表示未知
128
未编码时的原始信号的MD5信息
PADDING
N
N必须为8的倍数,目前设置为0
APPLICATION
32
应用程序ID
N
应用程序数据,N必须是8的倍数
SEEK
TABLE
多个SEEK POINT
64
目标帧中第一个sample的序号
64
相对于第一帧开始的偏移(byte)
16
目标帧中的采样数
VORBIS COMMENT
N
Vorbis comment packet的内容
CUESHEET
HEADER
128*8
媒体目录号,ASCII0x20-0x7e
64
引导sample的个数
1
1表示CUESHEET对应一个Compact Disc
7+258*8
Reserved
8
Track的个数
多个
TRACK
HEADER
64
Track偏移量,单位sample
8
Track
12*8
TrackISRC
1
Track类型:0 音乐 1非音乐
1
pre-emphasis标记
6+13*8
Reserved
8
索引数目
多个
INDEX
64
偏移,单位sample
8
索引号
3*8
Reserved
PICTURE
32
图片类型(同ID3v2 APIC
0 - Other
1- 32x32 pixels 'file icon' (PNG only)
2 - Other file icon
3 - Cover (front)
4 - Cover (back)
5 - Leaflet page
6 - Media (e.g. label side of CD)
7 - Lead artist/lead performer/soloist
8 - Artist/performer
9 - Conductor
10 - Band/Orchestra
11 - Composer
12 - Lyricist/text writer
13 - Recording Location
14 - During recording
15 - During performance
16 - Movie/video screen capture
17 - A bright coloured fish
18 - Illustration
19 - Band/artist logotype
20 - Publisher/Studio logotype
32
MIME类型字符长度(byte
N*8
MIME类型
32
描述符长度(byte
N*8
描述符UTF-8
32
图片宽度
32
图片高度
32
图片颜色深度
32
索引图使用的颜色数目,0非索引图
32
图片数据长度
N*8
图片数据

表4 AUDIO FRAMES结构
Field Name
Lenght(bit)
Description
FRAME HEADER
14

我的更多文章

下载客户端阅读体验更佳

APP专享