C++实现显示MP3文件信息的方法
本文实例讲述了C++实现显示MP3文件信息的方法。分享给大家供大家参考。具体实现方法如下:
/**
*ThisissmallexamplehowtouselibZPlaylibrarytoplayfiles.
*ThisexampleisusingOpenFilefunctionstoopendiskfilesandplay.
*/
#defineWIN32_LEAN_AND_MEAN
#include<windows.h>
#include<olectl.h>
#include<ole2.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<dos.h>
#include<conio.h>
#include"../include/libzplay.h"
usingnamespacelibZPlay;
ZPlay*player;
int__stdcallCallbackFunc(void*instance,void*user_data,TCallbackMessagemessage,unsignedintparam1,unsignedintparam2);
intmain(intargc,char**argv)
{
//clearscreen
system("CLS");
//createclassinstance
player=CreateZPlay();
//chekifwehaveclassinstance
if(player==0)
{
printf("Error:Can'tcreateclassinstance!nPresskeytoexit.n");
getch();
return0;
}
//getlibraryversion
intver=player->GetVersion();
//checkifwehaveversion2.00andabove
if(ver<200)
{
printf("Error:Needlibraryversion2.00andabove!nPresskeytoexit.\r\n");
getch();
player->Release();
return0;
}
//displayversioninfo
printf("libZPlayv.%i.%02i\r\n\r\n",ver/100,ver%100);
if(argc>1)
{
TID3InfoExid3_info;
if(player->LoadFileID3Ex(argv[1],sfAutodetect,&id3_info,1))//loadingID3v2
{
printf("Title:%s\r\n",id3_info.Title);
printf("Artist:%s\r\n",id3_info.Artist);
printf("Album:%s\r\n",id3_info.Album);
printf("Year:%s\r\n",id3_info.Year);
printf("Comment:%s\r\n",id3_info.Comment);
printf("Genre:%s\r\n",id3_info.Genre);
printf("Track:%s\r\n\r\n",id3_info.TrackNum);
printf("Artist1:%s\r\n",id3_info.AlbumArtist);
printf("Composer:%s\r\n",id3_info.Composer);
printf("Original:%s\r\n",id3_info.OriginalArtist);
printf("Copyright:%s\r\n",id3_info.Copyright);
printf("URL:%s\r\n",id3_info.URL);
printf("Encoder:%s\r\n",id3_info.Encoder);
printf("Publisher:%s\r\n",id3_info.Publisher);
printf("BPM:%u\r\n",id3_info.BPM);
printf("MIME:%s\r\n",id3_info.Picture.MIMEType);
printf("TYPE:%u\r\n",id3_info.Picture.PictureType);
printf("Desc:%s\r\n",id3_info.Picture.Description);
printf("Size:%u\r\n",id3_info.Picture.PictureDataSize);
//drawpictureondesktopwindow
player->DrawBitmapToHWND(NULL,0,0,0,0,id3_info.Picture.hBitmap);
}
else
{
printf("NoID3data\r\n\r\n");
}
}
else
{
//nofilenameinargument
player->Release();//deleteZPlayclass
char*end=strrchr(argv[0],'\');
if(end&&*(end+1)!=0)
end++;
else
end=argv[0];
printf("Usage:%sfilename\r\n\r\nPresskeytoexit\r\n",end);
getch();
return0;
}
getch();
}
希望本文所述对大家的C++程序设计有所帮助。