C语言读取MP3的信息
作者:王鹤 QQ:583241212
标准MP3的音乐,在文件的最后128个字节就来存放MP3的信息的,只要打开读出来就行了,用C语言来操作非简单。
运行如图:

代码如下:
#include "stdafx.h"
#include <string.h>
int main(int argc, char* argv[])
{
FILE *fp;
fp=fopen("D:\\爱上爱的味道.mp3","r");
if(fp==NULL)
printf("Failed to open
mp3.\n");
char pbuf[128];
memset(pbuf,0,sizeof(pbuf));
fseek(fp,-128,SEEK_END);
fread(pbuf,1,128,fp);
if(!((pbuf[0] == 'T'|| pbuf[0]
== 't')
&&(pbuf[1]
== 'A'|| pbuf[1] == 'a')
&&(pbuf[2]
== 'G'|| pbuf[0] == 'g')))
{
printf("Not a standard MP3
format.\n");
return 1;
}
char buf[64];
memset(buf,0,64);
memcpy(buf,pbuf,3);
buf[3]='\0';
printf("标识:%s\n",buf);
memset(buf,0,64);
memcpy(buf,pbuf+3,30);
buf[30]='\0';
printf("歌名:%s\n",buf);
memset(buf,0,64);
memcpy(buf,pbuf+33,30);
buf[63]='\0';
printf("作者:%s\n",buf);
memset(buf,0,64);
memcpy(buf,pbuf+63,30);
buf[93]='\0';
printf("唱片名:%s\n",buf);
memset(buf,0,64);
memcpy(buf,pbuf+93,4);
buf[97]='\0';
printf("年份:%s\n",buf);
memset(buf,0,64);
memcpy(buf,pbuf+97,28);
buf[125]='\0';
printf("本歌注释:%s\n",buf);
fclose(fp);
return 0;
}
加载中,请稍候......