Como faço para obter o tempo total de um arquivo de som em Java?
–ATUALIZAR
Parece que este código funciona: long audioFileLength = audioFile.length ();
recordedTimeInSec = audioFileLength / (frameSize * frameRate);
Eu sei como obter o tamanho do arquivo, mas eu não estou encontrando como obter a taxa de frameworks do arquivo de som e tamanho do quadro … Alguma idéia ou link?
– ATUALIZAÇÃO
Mais um código de trabalho (usando as dicas do @mdma):
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file); AudioFormat format = audioInputStream.getFormat(); long audioFileLength = file.length(); int frameSize = format.getFrameSize(); float frameRate = format.getFrameRate(); float durationInSeconds = (audioFileLength / (frameSize * frameRate));
Dado um File
você pode escrever
File file = ...; AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file); AudioFormat format = audioInputStream.getFormat(); long frames = audioInputStream.getFrameLength(); double durationInSeconds = (frames+0.0) / format.getFrameRate();