C语言 解析MP3信息
2011-04-13 15:29
281 查看
/*
MP3的基本歌曲信息存在了MP3文件的最后128个字节里
其结构是:
1-3 TAG 标签)
4-33 歌曲名(Take Me To Your Heart )
34-63 歌手名(Michael Learns to Rock)
64-93 专辑名(Take Me to Your Heart)
94-97 年份(2004)
98-125 备注()
126 保留位,这时为0,则说明有音轨,下一位就是音轨
127 保留位,为音轨(第几首歌)(OC)
128 保留位 (风格)(66)
*/
#include<stdio.h>
#include<stdlib.h>
typedef struct MUSIC_TITAL_INFO
{
char ID3v1TAG[3]; //TAG
char MUSIC_NAME[30]; //存储标题信息
char Artist[30]; //存储歌手信息
char Album[30]; //存储专辑信息
char YEAR[4]; //存储年代信息
char Comments[28]; //存储备注信息,28个字节(有时为30字节)
char Genre; //存储音乐风格信息,保留位,1个字节
char Reserved; //保留位,1个字节(有时没有意思
char Track; //音轨(曲号)保留位,1个字节(有时没有)
}MUSIC;
void main()
{
MUSIC m;
FILE *fp;
char ch;
if((fp=fopen("e://cometotown.mp3","r"))==NULL)
{
printf("打开文件失败!/n");
exit(1);
}
ch=fgetc(fp);
if(!fseek(fp,-128,SEEK_END))
{
fread(&m,sizeof(struct MUSIC_TITAL_INFO),1,fp);
printf("TAG: %.3s/nName: %s/nArtist: %s/nAlbum: %s/nYear: %s/nComment: %s/nGenre: %c/nReserved: %c/nTrack: %c/n",m.ID3v1TAG,m.MUSIC_NAME,m.Artist,m.YEAR,m.Album,m.Comments,m.Genre,m.Reserved,m.Track);
}
else
{
printf("读取失败!/n");
}
}
MP3的基本歌曲信息存在了MP3文件的最后128个字节里
其结构是:
1-3 TAG 标签)
4-33 歌曲名(Take Me To Your Heart )
34-63 歌手名(Michael Learns to Rock)
64-93 专辑名(Take Me to Your Heart)
94-97 年份(2004)
98-125 备注()
126 保留位,这时为0,则说明有音轨,下一位就是音轨
127 保留位,为音轨(第几首歌)(OC)
128 保留位 (风格)(66)
*/
#include<stdio.h>
#include<stdlib.h>
typedef struct MUSIC_TITAL_INFO
{
char ID3v1TAG[3]; //TAG
char MUSIC_NAME[30]; //存储标题信息
char Artist[30]; //存储歌手信息
char Album[30]; //存储专辑信息
char YEAR[4]; //存储年代信息
char Comments[28]; //存储备注信息,28个字节(有时为30字节)
char Genre; //存储音乐风格信息,保留位,1个字节
char Reserved; //保留位,1个字节(有时没有意思
char Track; //音轨(曲号)保留位,1个字节(有时没有)
}MUSIC;
void main()
{
MUSIC m;
FILE *fp;
char ch;
if((fp=fopen("e://cometotown.mp3","r"))==NULL)
{
printf("打开文件失败!/n");
exit(1);
}
ch=fgetc(fp);
if(!fseek(fp,-128,SEEK_END))
{
fread(&m,sizeof(struct MUSIC_TITAL_INFO),1,fp);
printf("TAG: %.3s/nName: %s/nArtist: %s/nAlbum: %s/nYear: %s/nComment: %s/nGenre: %c/nReserved: %c/nTrack: %c/n",m.ID3v1TAG,m.MUSIC_NAME,m.Artist,m.YEAR,m.Album,m.Comments,m.Genre,m.Reserved,m.Track);
}
else
{
printf("读取失败!/n");
}
}
相关文章推荐
- C语言读取mp3文件的信息
- mp3文件的ID3信息解析
- 解析用PHP读写音频文件信息的详解(支持WMA和MP3)
- 解析用PHP读写音频文件信息的详解(支持WMA和MP3)
- C语言解析pcap文件得到HTTP信息实例
- C语言解析mp3 ID3V1信息
- C语言解析pcap文件得到HTTP信息实例
- C语言解析pcap文件得到HTTP信息实例(原创,附源码)
- (五)用JAVA编写MP3解码器——解析文件信息
- mp3信息解析源代码
- 解析用PHP读写音频文件信息的详解(支持WMA和MP3)
- 解析用PHP读写音频文件信息的详解(支持WMA和MP3)
- C语言解析pcap文件得到HTTP信息实例(原创,附源码)
- C语言解析pcap文件得到HTTP信息实例(原创,附源码)
- 【笔记】解析MP3文件信息
- MP3 ID3信息解析
- C语言解析pcap文件得到HTTP信息实例
- C函数解析MP3信息
- C语言声明解析方法
- PSI信息解析