Leer archivos MP3

Iniciado por danndres, 17 Septiembre 2014, 20:02 PM

0 Miembros y 1 Visitante están viendo este tema.

danndres

Leer archivos mp3 con Java

Tengo un proyecto que hacer de parte de la universidad el cual debe leer un archivo mp3 y modificarlo, el problema es que solo puedo usar las clases FileInputStream y DataInputStream, el problema es que no se como leer las etiquetas id3. Espero puedan ayudarme, gracias de antemano.

engel lex

aquí la info al respecto
http://es.wikipedia.org/wiki/ID3


primero
Citarun fichero puede contener simultáneamente etiquetas de la versión 1.1 [o 1] y de la versión 2.0

ID3 versión 1
CitarEsta primera especificación es muy simple. Consiste en adjuntar un bloque de tamaño fijo de 128 bytes al final del fichero en cuestión. Este bloque contiene las siguientes etiquetas:

Una cabecera que identifica la presencia del bloque ID3 y su versión. En concreto, dicha cabecera consta de los caracteres TAG.
-Título: 30 caracteres.
-Artista: 30 caracteres.
-Álbum: 30 caracteres.
-Año: 4 caracteres.
-Un comentario: 30 caracteres.
-Género (musical): un carácter.
Todas las etiquetas usan caracteres ASCII, excepto el género, que es un número entero almacenado en un único byte. El género musical asociado a cada byte está predefinido en el estándar e incluye definiciones de 80 géneros, numerados del 0 al 79.

ID3 versión 1.1
CitarLa versión 1.1 simplemente "resta" los dos últimos caracteres de la etiqueta comentario para este propósito. Para distinguir esta versión de la anterior, el carácter nº 29 debe ser obligatoriamente un carácter nulo, seguido de un número entero en formato byte que almacena el número de canción en el álbum. Si el carácter nº 30 es nulo o si el nº 29 no lo es, el número de canción se presupone no especificado.


ID3 versión 2.0
CitarLos detalles técnicos son más complejos que en las versiones anteriores. Las diferencias más significativas son las siguientes:

-Utiliza caracteres Unicode, por lo que está abierto a cualquier lengua.
-Las etiquetas se sitúan al principio del fichero, no al final. Esto facilita la difusión por Internet mediante streaming, ya que no hay que esperar a que se descargue todo el fichero para conocer las etiquetas.
-Las etiquetas pueden tener mayor o menor longitud. No hay restricciones.
-Es posible incluir imágenes, no sólo texto. Por ejemplo, la carátula del álbum.
-Admite etiquetas definidas por el usuario.
-Se han predefinido más de 35 etiquetas estándar.
-La letra de la canción se puede almacenar bajo el frame Lyrics3 en la TagID3, al igual que la portada del álbum.
-Las etiquetas pueden ser cifradas.
(hay varias versiones más de 2...)

Es decir para leerlos, tienes que hacer lo siguiente:
(te explicaré en procedimientos y no en codigo, ya que conozco el procedimiento por haberlo hecho en otro leguaje)

para el ID3 v1 que es el más simple
abres el archivo
te mueves hasta la posicion final
retrocedes 128bytes
lees las cantidades de bytes especificadas para cada etiqueta...

ahí debes tener la ID3 v1

la ID3 v2 es más compleja
abres el archivo
empiezas a leer

allí lo primero que consigues son 3 caracteres que dicen "ID3"

luego de unos bytes "0" viene una etiqueta de 4 bytes
la informacion de las etiquetas y como se usa es mucho más complejo (ya que no tienen que seguir un orden especifico y cada una tiene una estructura interna independiente), aquí la info
http://id3.org/id3v2.4.0-frames


El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.