我是靠谱客的博主 爱笑帅哥,最近开发中收集的这篇文章主要介绍MP3文件格式分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 一、MP3文件头
bits name              comments
--------------------------------------------------
12   sync              0xFFF
1    version           1=mpeg1.0, 0=mpeg2.0
2    lay               4-lay = layerI, II or III
1    error protection  0=yes, 1=no
4    bitrate_index     see table below
2    sampling_freq     see table below
1    padding
1    extension         see table below
2    mode              see table below
2    mode_ext          used with "joint stereo" mode
1    copyright         0=no 1=yes
1    original          0=no 1=yes
2    emphasis          see table below
--------------------------------------------------

1、 bitrate_index(编码速率)
(1). mpeg1.0
            1  2  3   4   5   6   7   8   9  10  11  12  13  14
layer1     32 64 96 128 160 192 224 256 288 320 352 384 416 448
layer2     32 48 56  64  80  96 112 128 160 192 224 256 320 384
layer3     32 40 48  56  64  80  96 112 128 160 192 224 256 320

(2). mpeg2.0
            1  2  3   4   5   6   7   8   9  10  11  12  13  14
layer1     32 48 56  64  80  96 112 128 144 160 176 192 224 256
layer2      8 16 24  32  40  48  56  64  80  96 112 128 144 160
layer3      8 16 24  32  40  48  56  64  80  96 112 128 144 160

2、 sampling_freq(采样率)
(1). mpeg1.0
    0     1     2     
    44100 48000 32000 

 (2). mpeg2.0
    0     1     2     
   22050 24000 16000 

3、 mode(声音模式)
  0 "stereo" (立体声)
  1 "joint stereo"(联合立体声)
  2 "dual channel"(双通道)
  3 "single channel"(单通道)


4、 mode extension(声音模式扩展)
0      MPG_MD_LR_LR
1      MPG_MD_LR_I
2      MPG_MD_MS_LR 
3      MPG_MD_MS_I

5、jsbound :
   mode_ext     0  1   2   3
layer
1               4  8  12  16
2               4  8  12  16
3               0  4   8  16

6、 emphasis:
0 "none"
1 "50/15 microsecs"
2 "reserved"            must not be used !
3 "CCITT J 17"

二、MP3标签1(放在文件尾部128字节)

offset  type  len   name
--------------------------------------------
0       char  3                   "TAG"
3       char  30    title
33      char  30    artist
63      char  30    album
93      char  4     year
97      char  30    comments
127     byte  1     genre
--------------------------------------------

- genre :

 0    "Blues"
 1    "Classic Rock"
 2    "Country"
 3    "Dance"
 4    "Disco"
 5    "Funk"
 6    "Grunge"
 7    "Hip-Hop"
 8    "Jazz"
 9    "Metal"
10    "New Age"
11    "Oldies"
12    "Other"
13    "Pop"
14    "R&B"
15    "Rap"
16    "Reggae"
17    "Rock"
18    "Techno"
19    "Industrial"
20    "Alternative"
21    "Ska"
22    "Death Metal"
23    "Pranks"
24    "Soundtrack"
25    "Euro-Techno"
26    "Ambient"
27    "Trip-Hop"
28    "Vocal"
29    "Jazz+Funk"
30    "Fusion"
31    "Trance"
32    "Classical"
33    "Instrumental"
34    "Acid"
35    "House"
36    "Game"
37    "Sound Clip"
38    "Gospel"
39    "Noise"
40    "AlternRock"
41    "Bass"
42    "Soul"
43    "Punk"
44    "Space"
45    "Meditative"
46    "Instrumental Pop"
47    "Instrumental Rock"
48    "Ethnic"
49    "Gothic"
50    "Darkwave"
51    "Techno-Industrial"
52    "Electronic"
53    "Pop-Folk"
54    "Eurodance"
55    "Dream"
56    "Southern Rock"
57    "Comedy"
58    "Cult"
59    "Gangsta"
60    "Top 40"
61    "Christian Rap"
62    "Pop/Funk"
63    "Jungle"
64    "Native American"
65    "Cabaret"
66    "New Wave"
67    "Psychadelic"
68    "Rave"
69    "Showtunes"
70    "Trailer"
71    "Lo-Fi"
72    "Tribal"
73    "Acid Punk"
74    "Acid Jazz"
75    "Polka"
76    "Retro"
77    "Musical"
78    "Rock & Roll"
79    "Hard Rock"
80    "Unknown"

三、MP3帧长度计算参考:

1. mpeg1.0
layer1 :
 (48000*bitrate)/sampling_freq + padding
layer2&3:
 (144000*bitrate)/sampling_freq + padding

2. mpeg2.0
layer1 :
 (24000*bitrate)/sampling_freq + padding
layer2&3 :
 (72000*bitrate)/sampling_freq + padding

 

 

转贴自:http://blog.163.com/waft_xu/blog/static/43815294200803194611656/

最后

以上就是爱笑帅哥为你收集整理的MP3文件格式分析的全部内容,希望文章能够帮你解决MP3文件格式分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(95)

评论列表共有 0 条评论

立即
投稿
返回
顶部