急如何用MFC获得mp3文件的歌曲名、艺术家、风格、等信息啊??跪谢!!!!!! 如何用MFC获得mp3文件的歌曲名、艺术家、风格、等信息啊。急!!!!!跪谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CFile m_file; BOOL er=m_file.Open("D:\\g.mp3",CFile::modeRead); long offset=-128; m_file.SeekToBegin(); long f=m_file.Seek(offset,CFile::end); TCHAR pbuf[128]; m_file.Read( pbuf,128); 标准格式的mp3文件中,都有一些自身描述的信息,比如歌曲名称、歌手、专辑名称等信息。这些信息都记录在mp3文件中,而且格式是固定的。那么,我们就可以用编程的方式来获取这些信息。其实说简单一点,就是VC文件读取的操作。不过mp3有一定的信息结构,在mp3文件的最后128个字节,就包含上述的信息。那么我们打开mp3文件, 读取最后128个字节即可。利用如下的结构体,我们就可以方便获取mp3的信息了:typedef struct _MP3INFO //MP3信息的结构{ char Identify[3]; //TAG三个字母 //这里可以用来鉴别是不是文件信息内容 char Title[31]; //歌曲名,30个字节 char Artist[31]; //歌手名,30个字节 char Album[31]; //所属唱片,30个字节 char Year[5]; //年,4个字节 char Comment[29]; //注释,28个字节 unsigned char reserved; //保留位,1个字节 unsigned char reserved2; //保留位,1个字节 unsigned char reserved3; //保留位,1个字节} MP3INFO;做人要厚道 没分咋行啊 LS们 说的只适合ID3v1。而ID3v2 比较灵活具体 去找个文档看看吧。 http://hi.baidu.com/kakasheli/blog/item/7906798b85d5fbd4fc1f10ab.html帮楼主找了一下,这里面非常详细。包括ID3V1信息与ID3V2信息,这里ID3V1很简单,就如前面所提到的,就是ID3V2有点复杂。 typedef struct _MP3INFO //MP3信息的结构{ char Identify[3]; //TAG三个字母 //这里可以用来鉴别是不是文件信息内容 char Title[31]; //歌曲名,30个字节 char Artist[31]; //歌手名,30个字节 char Album[31]; //所属唱片,30个字节 char Year[5]; //年,4个字节 char Comment[29]; //注释,28个字节 unsigned char reserved; //保留位,1个字节 unsigned char reserved2; //保留位,1个字节 unsigned char reserved3; //保留位,1个字节} MP3INFO;这个结构体该怎么使用啊,另外怎么才能将获取到得歌曲信息显示出来,跪谢 请问各位大侠,怎么样实现从登录对话框进入基于SDI程序的主对话框 spell check 好东西大家分享,两个音乐~~ 完成端口投递接收消息WSARecv总会收到WSAENOBUFS 如何将一个float加到CString中,用MessageBox输出? View问题,在线 50分要你编写一个小程序,不够再加 怎么做接收/发送数据dll 菜鸟关于添加背景的问题,请大家指教! 请高手指点:为什么我的client--server程序只能传送26K以下的文件? 用windows api 怎么向一个ComboBox加入数据啊? CTreeCtrl设为子树的问题,求助。
BOOL er=m_file.Open("D:\\g.mp3",CFile::modeRead);
long offset=-128;
m_file.SeekToBegin();
long f=m_file.Seek(offset,CFile::end);
TCHAR pbuf[128];
m_file.Read( pbuf,128);
这些信息都记录在mp3文件中,而且格式是固定的。那么,我们就可以用编程的方式来获取这些信息。其实说简单一点,就是VC文件读取的操作。不过mp3有一定的信息结构,在mp3文件的最后128个字节,就包含上述的信息。那么我们打开mp3文件, 读取最后128个字节即可。利用如下的结构体,我们就可以方便获取mp3的信息了:typedef struct _MP3INFO //MP3信息的结构
{
char Identify[3]; //TAG三个字母
//这里可以用来鉴别是不是文件信息内容
char Title[31]; //歌曲名,30个字节
char Artist[31]; //歌手名,30个字节
char Album[31]; //所属唱片,30个字节
char Year[5]; //年,4个字节
char Comment[29]; //注释,28个字节
unsigned char reserved; //保留位,1个字节
unsigned char reserved2; //保留位,1个字节
unsigned char reserved3; //保留位,1个字节
} MP3INFO;做人要厚道 没分咋行啊
而ID3v2 比较灵活
具体 去找个文档看看吧。
帮楼主找了一下,这里面非常详细。
包括ID3V1信息与ID3V2信息,这里ID3V1很简单,就如前面所提到的,就是ID3V2有点复杂。
{
char Identify[3]; //TAG三个字母
//这里可以用来鉴别是不是文件信息内容
char Title[31]; //歌曲名,30个字节
char Artist[31]; //歌手名,30个字节
char Album[31]; //所属唱片,30个字节
char Year[5]; //年,4个字节
char Comment[29]; //注释,28个字节
unsigned char reserved; //保留位,1个字节
unsigned char reserved2; //保留位,1个字节
unsigned char reserved3; //保留位,1个字节
} MP3INFO;这个结构体该怎么使用啊,另外怎么才能将获取到得歌曲信息显示出来,跪谢