Forum: PC-Programmierung C# Bibliothek zum Lesen, Schreiben, Anlegen, Löschen von ID3 Tags (V1, V1.1, V2.3, V2.4) gesucht


von Flunder (flunder)


Lesenswert?

Hallo, ich habe mich gerade mal durch die Treffer in nuget gewühlt. 
Leider ist da nichts, was mir so wirklich gefällt. Wenn ich so auf die 
github Seiten gehe, sind da noch derbe Issues offen und seit mehreren 
Jahren kein Commit mehr. Oder ich kann die Lib nicht per nuget 
installieren, weil sie nicht zum von mir gewählten .net Framework passt. 
Oder es ist nicht so ganz klar, ob die Daten nun aus einem ID3V1 oder 
ID3V2-Tag kommen, bzw geschrieben werden. Am liebsten würde ich mich ja 
sogar noch so weit einmischen und ID3V2.3 statt ID3V2.4 vorgeben, sowie 
die Zeichencodierung und die Anzahl der Füllbytes hinter dem Tag für 
spätere Änderungen festlegen.

Ich bin gerade dran, ein Programm zu schreiben, um in allen .mp3-Dateien 
meiner Sammlung die Tags zu vereinheitlichen. Dafür suche ich diese 
Bibliothek.

Kann mir jemand von Euch eine empfehlen ?

von Harald K. (kirnbichler)


Lesenswert?

https://taglib.org/
https://github.com/larsbs/id3v2lib

Sind in C geschrieben.

Da müssest Du Dir halt 'ne DLL schnitzen, in der Du das verpacken 
kannst, damit Du mit dem vorteilhaften .Net-Unterbau arbeiten kannst.

von Flunder (flunder)


Lesenswert?

taglib wollte ich bereits probieren. Allerdings hat sich der Installer 
von scoop mit meinem Virenscanner angelegt und verloren.

von Harald K. (kirnbichler)


Lesenswert?

Flunder schrieb:
> Allerdings hat sich der Installer
> von scoop mit meinem Virenscanner angelegt und verloren.

"Scoop"? Was soll das sein? Wozu braucht man das? Welche 
Geschmacksrichtung von Schlangenöl benutzt Du?

von Wolfgang H. (drahtverhau)


Lesenswert?


von Harald K. (kirnbichler)


Lesenswert?

Wolfgang H. schrieb:
> das geht nicht?

Passt nicht zur Anspruchshaltung:

Flunder schrieb:
> Wenn ich so auf die github Seiten gehe, sind da noch derbe
> Issues offen und seit mehreren Jahren kein Commit mehr.

von Flunder (flunder)


Lesenswert?

Scoop ist wohl ein Paketmanager. Leider wird die Taglib ja nicht als 
fertig compilierte Binärdatei zur Verfügung gestellt. Wenn ich also die 
Anleitung zum Compilieren unter Windows abarbeite, brauche ich nmake und 
diverse andere Bibliotheken. Es wird vorgeschlagen, sich die mit Hilfe 
des Paketmanagers scoop zu ziehen. Wie so oft kommt man vom Hölzchen 
aufs Stöckchen.

von Armin K. (-donald-) Benutzerseite


Lesenswert?

Muss es selbstgeschrieben sein? Geht MP3Tag nicht? Ist ein gutes 
Programm.

von Flunder (flunder)


Lesenswert?

Ich habe halt eine größere MP3-Sammlung, die über längere Zeit gewachsen 
ist und bei der ich mir mal die Mühe gemacht habe, die Tags zu 
vereinheitlichen. Wobei das natürlich auch an alle MP3-Player angepasst 
ist, die ich verwende bzw. verwendet habe.

Das dafür verwendete Programm läuft nur unter Windows XP. Außerdem 
bleibt dabei auch etwas stupide Handarbeit. Ich wollte also ein 
Programm, dass die Tags so schreibt, wie bei den Dateien aus meiner 
Sammlung, das auch einfache Arbeitsschritte (Tag Zeichensatz, 
Dateinamenschema usw.) quasi selbst erledigt. Daher die Überlegung mit 
Hilfe einer Bibliothek eine eigene Software zu erstellen.

von Flunder (flunder)


Lesenswert?

MP3Tag habe ich mir übrigens angesehen. Auch MP3BookHelper und Foobar 
kenne ich.

von Günter R. (muntablues)


Lesenswert?

Ich nehme schon viele Jahre taglib-sharp, sollte alles können was du 
brauchst...

So dennn

von Günter R. (muntablues)


Lesenswert?

Ich nehme schon viele Jahre taglib-sharp, sollte alles können was du 
brauchst...

So denn

von Andreas (sandreas)


Lesenswert?

Ist zwar schon etwas her, dass die Frage gestellt wurde, aber für alle, 
die eine Lösung in managed code brauchen, schlage ich die wirklich 
hervorragende library

atldotnet (https://github.com/Zeugma440/atldotnet)

vor. Die kann fast alles (auch Custom-Felder und Kapitel) und ist sehr 
einfach zu verwenden. Ich verwende die auch in meinem eigenen 
Audio-Tagger `tone` (https://github.com/sandreas/tone)
Beispiel:
1
using ATL.AudioData;
2
3
// Initialize with a file path
4
Track theTrack = new Track(audioFilePath);
5
6
// Works the same way on any supported format (MP3, FLAC, WMA, SPC...)
7
System.Console.WriteLine("Title : " + theTrack.Title);
8
System.Console.WriteLine("Duration (ms) : " + theTrack.DurationMs);
9
10
theTrack.Composer = "Oscar Wilde (アイドル)"; // Support for "exotic" charsets
11
theTrack.AdditionalFields["customField"] = "fancyValue"; // Support for custom fields
12
theTrack.Save();

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.