Foros del Web » Programación para mayores de 30 ;) » .NET »

ID3 TAG, problema para editar

Estas en el tema de ID3 TAG, problema para editar en el foro de .NET en Foros del Web. Hola, estoy haciendo una aplicación para tratar ficheros mp3, pero me encuentro con un problema a la hora de realizar uno de los apartados. En ...
  #1 (permalink)  
Antiguo 06/03/2010, 20:05
 
Fecha de Ingreso: mayo-2005
Ubicación: Vimianzo. A Coruña
Mensajes: 230
Antigüedad: 18 años, 10 meses
Puntos: 1
ID3 TAG, problema para editar

Hola, estoy haciendo una aplicación para tratar ficheros mp3, pero me encuentro con un problema a la hora de realizar uno de los apartados.
En este, lo que hago es leer el ID3 y renombrar el fichero mp3(que suelen estar escritos como el culo con cientros de números y guiones bajos) con el artista y título obtenidos del ID3 TAG del fichero.

El problema viene en que según veo en el visualizador de variables del visual studio, los nombres vienen acompañados de lo siguiente "\0", repitiendo eso hasta, supongo completar la longitud del campo.
Y claro, al componer el nuevo nombre, ejemplo me queda:
newFileName="Edward Maya & Vika Jigulina\0\0\0 - Stereo Love (Molella Remix)\0\0\0.mp3"

y el sistema me lanza una excepción.

He intentado eliminar esos "\0" pero no soy capaz de ninguna forma, ni con el método replace de string me lo elimina...

Me podeis hechar una mano?

Ah, el lenguaje es C#.NET 2008

Muchas Gracias por la ayuda y un Saludo!
__________________
Técnico Superior en Desarrollo de Apliciones Informáticas
  #2 (permalink)  
Antiguo 14/03/2010, 22:25
 
Fecha de Ingreso: abril-2007
Mensajes: 14
Antigüedad: 17 años
Puntos: 1
Respuesta: ID3 TAG, problema para editar

Que tal Baldur, no tengo tu respuesta pero yo tambien quiero hacer un programa como el tuyo, pero no se como leer los datos id3 de los archivo mp3, si quisieras darme una pìsta te lo agradeceria mucho.
  #3 (permalink)  
Antiguo 15/03/2010, 07:20
 
Fecha de Ingreso: mayo-2005
Ubicación: Vimianzo. A Coruña
Mensajes: 230
Antigüedad: 18 años, 10 meses
Puntos: 1
Respuesta: ID3 TAG, problema para editar

yo al final ya resolví ese problema.
Ahora mismo no puedo contestarte que me tengo que ir, pero cuando pueda responderé a tu pregunta y pondré la solución del mi problema.
Saludos!
__________________
Técnico Superior en Desarrollo de Apliciones Informáticas
  #4 (permalink)  
Antiguo 15/03/2010, 19:33
 
Fecha de Ingreso: mayo-2005
Ubicación: Vimianzo. A Coruña
Mensajes: 230
Antigüedad: 18 años, 10 meses
Puntos: 1
Respuesta: ID3 TAG, problema para editar

la solución a mi problema fue sencilla, aunque al principio lo tenía así, me daba error...pero ahora funciona.
Código C:
Ver original
  1. nuevoNombre = fichMP3.id3Artist.Trim('\0') + " - " + fichMP3.id3Title.Trim('\0') + ".mp3";

y respecto a leer ficheros mp3, es decir, la info ID3...pues tienes que abrir el fichero y guardar parte de la información/cabecera en un array de byte.
Te dejo mi ejemplo en C#:
Código C:
Ver original
  1. FileStream fs;
  2.                 fs = new FileStream(fileMP3, FileMode.Open);
  3.                 byte[] buffer = new byte[128];
  4.                 fs.Seek(-128, SeekOrigin.End);
  5.                 fs.Read(buffer, 0, 128);
  6.                 fs.Close();

Y es esa variable buffer donde tienes la info referente al ID3.

y por último haces lo siguiente:
Código C:
Ver original
  1. Encoding enc = new ASCIIEncoding();
  2.             string id3 = enc.GetString(buffer);
  3. if (id3.Substring(0, 3).Equals("TAG"))
  4.             {
  5.                 this.id3Title = id3.Substring(3, 30).TrimEnd();
  6.                 this.id3Artist = id3.Substring(33, 30).TrimEnd();
  7.                 this.id3Album = id3.Substring(63, 30).TrimEnd();
  8.                 this.id3Year = id3.Substring(93, 4).TrimEnd();
  9.                 this.id3Comment = id3.Substring(97, 28).TrimEnd();
  10.  
  11.                 if (id3[125] == 0)
  12.                 {
  13.                     this.id3TrackNumber = buffer[126];
  14.                 }
  15.             }

lo del this. es porque lo tengo dentro de una clase.

Espero que te sirva.

Saludos!!
__________________
Técnico Superior en Desarrollo de Apliciones Informáticas
  #5 (permalink)  
Antiguo 18/03/2010, 23:39
 
Fecha de Ingreso: abril-2007
Mensajes: 14
Antigüedad: 17 años
Puntos: 1
Respuesta: ID3 TAG, problema para editar

gracias Baldur yo no se de c, yo uso vb2008 pero es buena info, ya sabiendo que se guardan esos datos en los primero 128 bytes es buena pista,
  #6 (permalink)  
Antiguo 19/03/2010, 05:59
 
Fecha de Ingreso: mayo-2005
Ubicación: Vimianzo. A Coruña
Mensajes: 230
Antigüedad: 18 años, 10 meses
Puntos: 1
Respuesta: ID3 TAG, problema para editar

está escrito en C#(igua para C,C++ y Java...jajaja), pero puse la etiqueta de C porque no hay la de C#,aunque como bien indico es igual la sintaxis para esos lenguajes...
y C# pertenece a VisualStudio 2008, asique cambiando pocas cosas de la sintaxis ya lo tienes convertido a VisualBasic.

Saludos!
__________________
Técnico Superior en Desarrollo de Apliciones Informáticas

Etiquetas: tag
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:06.