Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/03/2010, 19:33
Baldur
 
Fecha de Ingreso: mayo-2005
Ubicación: Vimianzo. A Coruña
Mensajes: 230
Antigüedad: 19 años
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