Cuando vimos Gestión de Archivos en Python, desarrollamos un ejemplo que leia el ID3 Tag de un MP3. En esta ocasión, vamos a hacer lo mismo, pero utilizando C#.
El código:
fileDialogAbrir.Filter = "Archivos MP3 (*.mp3)|*.mp3";
fileDialogAbrir.ShowDialog();
String fileMP3 = textMP3.Text = fileDialogAbrir.FileName;
//Lectura de ID3 Tag v1 y v1.1
if (fileMP3.Length> 0)
{
FileStream fs;
fs = new FileStream( fileMP3 , FileMode.Open);
byte[] buffer = new byte[128];
fs.Seek(-128, SeekOrigin.End);
fs.Read(buffer,0, 128);
fs.Close();
Encoding enc = new ASCIIEncoding();
string id3 = enc.GetString(buffer);
if ( id3.Substring(0,3).Equals("TAG") ) {
textTitulo.Text = id3.Substring( 3, 30).TrimEnd();
textArtista.Text = id3.Substring(33, 30).TrimEnd();
textAlbum.Text = id3.Substring(63, 30).TrimEnd();
textAño.Text = id3.Substring(93, 4).TrimEnd();
textComentario.Text = id3.Substring(97, 28).TrimEnd();
if (id3[125] == 0) {
textNumero.Text = Convert.ToString(buffer[126]);
}
comboGenero.SelectedIndex = Convert.ToInt16(buffer[127]);
}
else
{
MessageBox.Show("IDE3 Tag no disponible", "LuAuF", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
El proyecto para descargar.




Rocky
agosto 7, 2008
Hola ,quisiera que me ayudaras amigo, quiero leer los id3 tags de “todos” mis archivos mp3 de mi compu, creo ke es exactamente lo ke pusistes pero kiero hacerlo en C++, y ir colocando cada registro o cada informacion de cada mp3 en un archivo txt, y tmb ….para empesar como le hago para decirle a mi makina por medio de mi programa ….donde estan mis archivos mp3, espero pronta respuesta ,gracias.
Luciano
agosto 7, 2008
Está buena la idea, si me ayudas lo vamos haciendo entre ambos ¿te parece?
Seraphinux
septiembre 29, 2008
@Rocky:
Con el permiso de Luciano (sí aprueba mi comentario
), espero poder contestar tu pregunta.
Si observas el codigo C#:
fs.Read(buffer,0, 128);
Lo unico que hacemos es leer los primero 128 bytes del archivo y los almacenamos en el array de bytes “buffer”. Esto mismo lo podemos hacer en C usando la funcion:
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
La cual esta ubicada en la libreria stdio.h, te dejo el enlace a la referencia (la cual cuenta con un ejemplo):
http://www.cplusplus.com/reference/clibrary/cstdio/fread.html
Lo anterior lo puedes hacer = con PHP, con Python, con Java, etc. siempre y cuando el lenguaje tenga funciones para leer archivos.
Espero te sea de utilidad, saludos!!!
Luciano
septiembre 29, 2008
Muchas gracias por el aporte!!!
Saludos.
lisi
octubre 1, 2008
hola, soy una chica que estudia un ciclo de Administración de sistemas informáticos y tengo que realizar un proyecto de final de ciclo
mi idea era hacer un catalogador de CD’s de mp3, de manera que con Visual Studio 2005 y usando bases de datos SQL solucionase el problema
quiero que al meter un cd de mp3, el programa lea los tags de los mp3 y los meta en una base de datos
alguien podria ayudarme? es que estoy un poco perdida con todo esto del proyecto.
Gracias!
por cierto, pensaba hacerlo en C# y con formularios de Windows y todo eso
Luciano
octubre 1, 2008
@lisi, yo te dare una mano. Ahorita me contacto contigo por medio de email.
Saludos.
Roger
febrero 24, 2009
Hola muy interesate el ejemplo talvez puedas talvez expplicar como editar canciones es decir si quisiera cortar una parte de una cancion de mp3 es decir del seg 25 hasta el seg 51, o talvez alguna pagina donde pueda conseguir esta informacion gracias
yeison soto
octubre 7, 2009
Que cosas habria que cambiarle pa utilizarlo en java
xEGAx
marzo 21, 2010
hola que tal disculpa la molestia de casualidad no sabes como leo la duracion del mp3 y la calidad ej: 4400 Hz, 128 Kbps, ya me sirvio mucho tu post esta de lujo pero necesito sacar la duracion y la calidad para terminar un proyecto.
un saludo.
Ricardo
febrero 9, 2012
Que tal!…esta excelente el ejemplo, es lo que andaba buscando..pero no lo tienes en JAVA…necesito un ejemplo asi pero para Java….por favor espero..puedas ayudarme