Calcular la duración de una canción en java

S

Buenas, tengo una pequeña duda con respecto a calcular la duración de una canción utilizando java. tengo el tamaño del fichero, pero me gustaría saber si existe alguna forma de calcular la duración exacta , un saludo.

JuAn4k4

Buscando en google

Utiliza Java Media Framework (ojo! puede estar obsoleto, seguramente haya alguna cosa por ahi mas moderna...)


Player player = Manager.createPlayer(new MediaLocator(new File(con[found+1]).toURL().toExternalForm()));
Time t = player.getDuration();
Double time = t.getSeconds() / 60;
System.out.println(time);

eXtreM3

#1 si puedes obtener el tamaño de la cancion y el bitrate, es matemática pura ^^ (no tengo ni idea de java, te he dao la solucion matematica)

S

Bueno, por si a alguien le interesa en un futuro como averiguar el tamaño de una canción le dejo aquí el código:

private static String toTime(double seconds) {
        Calendar calendar = Calendar.getInstance();
        calendar.clear();
        calendar.add(Calendar.MILLISECOND, (int)(seconds * 1000));

    SimpleDateFormat format = new SimpleDateFormat("mm:ss");
    return format.format(calendar.getTime());
}

public static String getPlayer(File file) throws IOException, NoPlayerException, CannotRealizeException {
    Player player = null;
    try {
        player = Manager.createRealizedPlayer(new URL("file:///" + file.toString()));
        String duracion=toTime(player.getDuration().getSeconds());
        return duracion;
    } catch (MalformedURLException ex) {
        ex.printStackTrace();
    } catch (CannotRealizeException ex) {
        ex.printStackTrace();
    } catch (NoPlayerException ex) {
        ex.printStackTrace();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
    return null;
}

Un saludo y gracias por vuestro tiempo ^^

1

Usuarios habituales

  • sacopapas
  • eXtreM3
  • JuAn4k4