CMp3Tags - id3v1.1 标签读取器/写入器






4.30/5 (11投票s)
一篇关于读取和写入 MP3 文件标签的文章。
引言
阅读完本文后,您将看到读取和写入 MP3 文件 ID3 标签是多么容易!
我编写了一个小类,允许用户将 MP3 标签集成到他们的软件中,并且它非常易于使用。
背景
我需要一个应用程序来使用 ID3 标签来重命名 MP3 文件和对其进行排序等,所以我编写了自己的类,因为我遇到的其他类都太大,仅适用于我需要的功能。关于 ID3 的基本信息可以在 这里 找到。
使用代码
要使用 CMp3Tags
,首先需要将 Mp3Tags.h 包含到您的源文件之一中。 大多数人都会知道如何执行此操作,但对于那些不知道的人,我将带您逐步完成操作!
#include "CMp3Tags.h"
现在我们已经将文件包含到项目中,我们需要找到一个 MP3 文件来使用。为了节省时间,只需找到您想要使用的特定 MP3 文件,复制一份,并将其放在 C 盘的根目录下,例如 C:\mp3test.mp3。
CMp3Tags Tags;
Tags.OpenFile("C:\\mp3test.mp3");
这将创建一个 CMp3Tags
的实例并打开我们刚刚放在 C:\ 中的文件。 当我们使用此类打开文件时,它会自动读取 Id3 标签,从而节省了我们调用各种不同的函数来获取特定数据的步骤。 当它读取数据时,它会将数据存储在类的这些私有成员中
CString m_strSongTitle; CString m_strArtist; CString m_strAlbum; CString m_strYear; CString m_strComment;
由于这些是私有成员,我们无法从类外部访问它们,因此我们使用函数将这些字符串返回给我们,以便在我们的应用程序中使用。
CMp3Tags Tags; Tags.OpenFile("C:\\mp3test.mp3"); //New Code CString strTitle = Tags.GetSongTitle();
我们刚刚添加的新代码行将返回 MP3 的标题。 但是,如果 MP3 文件在标签中不包含标题,它将不返回任何内容。 因此,如果需要,我们可以进行一些检查,看看它是否返回了任何内容,如果没有,我们可以输入我们自己的标题!
就这样
CMp3Tags Tags; Tags.OpenFile("C:\\mp3test.mp3"); CString strTitle = Tags.GetSongTitle(); //New Code if ( strTitle.IsEmpty() ) { Tags.SetSongTitle("CMp3Tags - Remix"); } Tags.CloseFile();
完成了,基本上就是这样了!
以下是设置/获取变量的函数列表!
//Set Variables int SetSongTitle(LPCTSTR lpSongName); int SetArtist(LPCTSTR lpArtist); int SetAlbum(LPCTSTR lpAlbum); int SetYear(LPCTSTR lpYear); int SetComment(LPCTSTR lpComment); //Get Variables CString GetSongTitle(); CString GetArtist(); CString GetAlbum(); CString GetYear(); CString GetComment();
所有返回类型为 int
的函数都将在出错时返回 < 0,在成功时返回 0。
好了,差不多就是这样了,各位! 希望您喜欢我在 CodeProject 上的第一篇文章。 希望我能写更多 :)