/*这是修改后的代码,VC下读ID3v2 & ID3v1 , 读mp3_tagHeader都没问题.*/
/******************************************************************
File : mp3info.c
*******************************************************************************/
#include<stdio.h>
#include<io.h>
#include<string.h>
#include<stdlib.h>
#define SEEK_END 2
/*******************************************************************************/
void main()
{
FILE *fp;
int bHasID3V2;
char cVer;
char cRevision;
int bHasExtHeader=0;
int ID3V2_size;
#define ID3V1_size 128
char cID3V2_head[10];
char cID3v2Frame_head[10];
char *cID3v2Frame;
long iID3v2Frame_length;
/*##########################Symbol In Frame###################################*/
long iFrameStart,iFrameMove=0, iFrameCount=0;
unsigned long iFrameSize=0;
char cFrameHead_bin[33];
char cFrameHead_bin_temp[9];
/*##########################Symbol In ID3V1###################################*/
char cID3V1[128];
/*##########################Symbol Above######################################*/
unsigned char* cBuffer;
int SamplingrateTable [3][3]={
{44100,22050,11025},{48000,24000,120000},{32000,16000,8000}};
char* ChannelDescrip[4]={"立体声","混合立体声","双声","单声"};
int cBuffer_size=1024,Bitrate,FrameSize,FrameCount,mp3Duration;
char LayerDescript ,bRateIndex ,bSampleRate,Version,bPadding,bChannelMode;
long int flength;
int i=0,j=0;
char argv[]={"1.mp3"};
/*##########################Symbol Above######################################*/
void getBin( int ,char* );
int GetBitRate(int ,int , int ); //函数宣告
if((fp=fopen(argv,"rb"))==NULL)
{
printf("ERROR:can't open the file!");
getchar();
exit(1);
}
/*##########################ID3V2 Reading#####################################*/
fread(cID3V2_head,10,1,fp);