webForumDet fria alternativet

C++ - Enkel ID3 klass

Programmering

0 svar · 4 680 visningar · startad av Viktor

Medlem sedan aug. 20021 752 inlägg
Frågan#1

Här är en enkel klass för att läsa ID3 taggar, den klarar av både v1.1 och v2 av ID3 taggar. Koden är väll inte den snyggaste men allt fungerar och jag har inte hittat några minnes läckor.

Här neden följer ett enkelt test program som visar hur man använder klassen för att i detta fall läsa in tre mp3 låtar och läsa av id3 taggen,

#include <iostream>
#include "id3.hpp"

using namespace std;

int main(int argc, char *argv[])
{
	CID3* id3;
	id3=new CID3();
	id3->LoadID3("track2.mp3");
	cout << "Artits: " << id3->GetArtist() << endl;
	cout << "Album: " << id3->GetAlbum() << endl;
	cout << "Track Title: " << id3->GetTrackTitle() << endl;
	cout << "Track Nr: " << id3->GetTrackNum() << endl;
	cout << "Genre: " << id3->GetGenre() << endl;
	cout << "Comments: " << id3->GetComments() << endl;

	id3->LoadID3("track1.mp3");
	cout << "Artits: " << id3->GetArtist() << endl;
	cout << "Album: " << id3->GetAlbum() << endl;
	cout << "Track Title: " << id3->GetTrackTitle() << endl;
	cout << "Track Nr: " << id3->GetTrackNum() << endl;
	cout << "Genre: " << id3->GetGenre() << endl;
	cout << "Comments: " << id3->GetComments() << endl;

	id3->LoadID3("track3.mp3");
	cout << "Artits: " << id3->GetArtist() << endl;
	cout << "Album: " << id3->GetAlbum() << endl;
	cout << "Track Title: " << id3->GetTrackTitle() << endl;
	cout << "Track Nr: " << id3->GetTrackNum() << endl;
	cout << "Genre: " << id3->GetGenre() << endl;
	cout << "Comments: " << id3->GetComments() << endl;
	delete id3;
	return(0);
}

Koden är testad och fungerar med VC++ 2003 på Windows och g++ 2.96 på Linux.

Koden

/Viktor

259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)