⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_remove.cpp

📁 更新mp3
💻 CPP
字号:
// $Id: test_remove.cpp,v 1.13 2003/03/02 15:17:21 t1mpy Exp $#if defined(HAVE_CONFIG_H)# include "config.h"#endif#include "id3/id3lib_streams.h"
#include "id3/tag.h"#include "id3/misc_support.h"#include "id3/id3lib_strings.h"
using std::cout;using std::endl;using std::cerr;using namespace dami;typedef const char* LPCTSTR;/* CSharedTag is a wrapper I made for some features I need *//* LPCTSTR means const char * */size_t RemoveFrame(ID3_Tag& pTag, ID3_FrameID fID, LPCTSTR sDescription){  size_t nCount = 0;  const ID3_Frame * frame = NULL;  do {    if (!sDescription)    {      cerr << "*** description is null" << endl;      frame = pTag.Find(fID);    }    else    {      cerr << "*** description is \"" << sDescription << "\"" << endl;      frame = pTag.Find(fID, ID3FN_DESCRIPTION, sDescription);    }    if (frame)    {      ID3_Field* fld = frame->GetField(ID3FN_TEXT);      String text(fld->GetRawText(), fld->Size());      cerr << "*** delete frame with text \"" << text << "\"" << endl;      /* pTag is an ID3_Tag */      delete pTag.RemoveFrame(frame);      nCount++;    }  } while (frame != NULL);  return nCount;}int main( int argc, char *argv[]){  ID3_Tag tag;  ID3_Frame frame;    if (argc == 2)  {    tag.Link(argv[1]);    cerr << "removed " << RemoveFrame(tag, ID3FID_COMMENT, "") << " descriptionless comment frames" << endl;    tag.Update();      }  else  {    tag.Link("test-remove.tag");    tag.Strip(ID3TT_ALL);    tag.Clear();        frame.SetID(ID3FID_TITLE);    frame.GetField(ID3FN_TEXT)->Set("Test title");    tag.AddFrame(frame);        frame.SetID(ID3FID_COMPOSER);    frame.GetField(ID3FN_TEXT)->Set("Test composer");    tag.AddFrame(frame);        frame.SetID(ID3FID_BAND);    frame.GetField(ID3FN_TEXT)->Set("Test band");    tag.AddFrame(frame);        frame.SetID(ID3FID_CONDUCTOR);    frame.GetField(ID3FN_TEXT)->Set("Test conductor");    tag.AddFrame(frame);        frame.SetID(ID3FID_COMMENT);    frame.GetField(ID3FN_LANGUAGE)->Set("eng");    frame.GetField(ID3FN_TEXT)->Set("Test comment");    frame.GetField(ID3FN_DESCRIPTION)->Set("A Description");    tag.AddFrame(frame);        frame.SetID(ID3FID_COMMENT);    frame.GetField(ID3FN_LANGUAGE)->Set("eng");    frame.GetField(ID3FN_TEXT)->Set("Test comment 2");    frame.GetField(ID3FN_DESCRIPTION)->Set("");    tag.AddFrame(frame);        frame.SetID(ID3FID_COMMENT);    frame.GetField(ID3FN_LANGUAGE)->Set("eng");    frame.GetField(ID3FN_TEXT)->Set("ID3v1 comment text?");    frame.GetField(ID3FN_DESCRIPTION)->Set(STR_V1_COMMENT_DESC);    tag.AddFrame(frame);        tag.SetPadding(false);    tag.Update(ID3TT_ID3V2);        cerr << "removed " << ID3_RemoveArtists(&tag) << " artist frames" << endl;    tag.Update();    cerr << "removed " << ID3_RemoveTitles(&tag) << " title frames" << endl;    tag.Update();    cerr << "removed " << RemoveFrame(tag, ID3FID_COMMENT, "") << " descriptionless comment frames" << endl;    tag.Update();  }  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -