目前的智好手机播送器大多能够揭示mp3中的封面图片,我们自编的播送器也应与时俱进,跟上潮
流,能嵌能显,因而笔者琢磨了一下这个问题,写出代码,现贴出来与大家分享,对mp3数据构造不熟
悉的请先参看笔者的旧贴《MP3文件的数据构造以及为mp3内嵌歌词的代码》一文。
先看一下嵌入了封面图片的mp3的局部数据:
--------------------------------------------------------------------------
0000: 49 44 33 03 00 00 00 40 01 7A 41 50 49 43 00 01 ID3....@.zAPIC..
0010: 00 12 00 00 00 69 6D 61 67 65 2F 6A 70 65 67 00 .....image/jpeg.
0020: 03 00 FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 ...?...JFIF....
---------------------------------------------------------------------------
能够看到,封面图片的数据是保留在 ID3V2的“APIC”标签帧下的,在这首mp3中,从0022字节起,
即便图片的数据,凡是把图片的全副数据原封不动地复制到这里就行了。这首mp3的封面图片款式是jpg,
其实能够是任何图片款式,凡是你播送器上的图片框能揭示就行。
一、揭示封面图片的代码。
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal picLen As Long)
Private Sub 揭示mp3封面图片()
Dim OpenName As String, SaveName As String
Dim ID3v As String * 3, L1 As Byte, L2 A
流,能嵌能显,因而笔者琢磨了一下这个问题,写出代码,现贴出来与大家分享,对mp3数据构造不熟
悉的请先参看笔者的旧贴《MP3文件的数据构造以及为mp3内嵌歌词的代码》一文。
先看一下嵌入了封面图片的mp3的局部数据:
--------------------------------------------------------------------------
0000: 49 44 33 03 00 00 00 40 01 7A 41 50 49 43 00 01 ID3....@.zAPIC..
0010: 00 12 00 00 00 69 6D 61 67 65 2F 6A 70 65 67 00 .....image/jpeg.
0020: 03 00 FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 ...?...JFIF....
---------------------------------------------------------------------------
能够看到,封面图片的数据是保留在 ID3V2的“APIC”标签帧下的,在这首mp3中,从0022字节起,
即便图片的数据,凡是把图片的全副数据原封不动地复制到这里就行了。这首mp3的封面图片款式是jpg,
其实能够是任何图片款式,凡是你播送器上的图片框能揭示就行。
一、揭示封面图片的代码。
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal picLen As Long)
Private Sub 揭示mp3封面图片()
Dim OpenName As String, SaveName As String
Dim ID3v As String * 3, L1 As Byte, L2 A