2010-02-20 11 views
10

Actualmente estoy usando TagLib Sharp como se sugiere en una de las publicaciones @stackoverflow para leer id3-Tag de mp3, flac, ogg y archivos multimedia similares ... ahora me acabo de dar cuenta de que id3v2 (tal vez incluso v1) admite etiquetas personalizadas, pero no puedo encontrar la implementación para leer/escribir etiquetas personalizadas en TagLib Sharp. ¿Alguien sabe de una biblioteca que admite campos personalizados?C# ID3 biblioteca que admite campos personalizados

Cristiano

--- --- Actualización 20100422

Aún así la búsqueda .. encontraron esta página:

http://id3.org/Implementations

+3

Si no encuentra uno, recomiendo la presentación de una solicitud de función con el proyecto de Sharp TagLib. – Foole

+0

¡buena idea, lo pensaré! /christian –

+0

Hola, ¿se ha encontrado esto alguna vez? – Fedaykin

Respuesta

1

Este artículo sobre CodeProject tiene una biblioteca que es compatible con cualquier tipo de etiquetas (incluyendo etiquetas personalizadas). Lo he usado hace mucho tiempo, pero recuerdo que admite etiquetas personalizadas. Pero creo que TagLib es más robusto.

http://www.codeproject.com/KB/cs/Do_Anything_With_ID3.aspx

3

Usted puede tratar de añadir un nuevo marco (en lugar de toda nueva etiqueta personalizada). Como ejemplo, si desea agregar un nuevo "Acoustid Duración" TXXX-marco a un archivo existente * .mp3, se puede utilizar el taglib-sharp library y algo así como

Dim MyTaglibMP3 As TagLib.File = TagLib.File.Create("C:\temp\I'm Alive.mp3") 
Dim id3v2tag As TagLib.Id3v2.Tag = CType(MyTaglibMP3.GetTag(TagLib.TagTypes.Id3v2), TagLib.Id3v2.Tag) 
Dim AcoustidDurationTXXXFrame As New TagLib.Id3v2.UserTextInformationFrame("Acoustid Duration", TagLib.StringType.UTF16) 
AcoustidDurationTXXXFrame.Text = {"207"} 
id3v2tag.AddFrame(AcoustidDurationTXXXFrame) 
... 
MyTaglibMP3.Save() 
MyTaglibMP3.Dispose() 

Por supuesto, esto funciona con todos los demás ya definido id3v2 tipo "CommentsFrame", "PrivateFrame", "TextInformationFrame" e incluso "UnsynchronisedLyricsFrame".

Si no desea que el id3v2tag será codificado con UTF-16, elija otro TagLib.StringType

Cuestiones relacionadas