读取MP3歌曲信息时遇到了问题
最近在做一个音乐播放器,想获取MP3文件的一些信息,诸如歌手,专辑之类的。
但是在编写这个函数的时候遇到了一些小问题,无奈求解。
void fGetMusicInfo(HWND hwnd)
{
HANDLE hFile;
int iFileLength;
PBYTE pBuffer;
DWORD dwBytesRead;
int iCmpResult;
TCHAR szTag[]=TEXT("ID3");
if (INVALID_HANDLE_VALUE==(hFile=CreateFile(TEXT("E://Summer.mp3"),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL)))
{
return;
}
iFileLength=GetFileSize(hFile,NULL);
pBuffer=malloc(iFileLength+2);
ReadFile(hFile,pBuffer,iFileLength,&dwBytesRead,NULL);
CloseHandle(hFile);
pBuffer[3]='\0';
//#ifdef UNICODE
//pBuffer[6]='\0';
//pBuffer[7]='\0';
//#else
//pBuffer[3]='\0';
//#endif
iCmpResult=CompareString(LOCALE_USER_DEFAULT,NORM_IGNOREWIDTH,pBuffer,_countof(pBuffer),szTag,_countof(szTag));
if (CSTR_EQUAL==iCmpResult)
{
//MessageBox(NULL,TEXT(""),NULL,MB_OK);
}
}