как рассчитать длительность загруженного mp3 файла в jsp - PullRequest
2 голосов
/ 27 января 2012

Я загрузил mp3-файл с использованием JSP.Есть ли способ узнать продолжительность загруженного mp3-файла в секундах?

Ниже приведена часть кода:

        pos = file.indexOf("filename=\"");
        pos = file.indexOf("\n", pos) + 1;
        pos = file.indexOf("\n", pos) + 1;
        pos = file.indexOf("\n", pos) + 1;
        int boundaryLocation = file.indexOf(boundary, pos) - 4;
        int startPos = ((file.substring(0, pos)).getBytes()).length;
        int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length;
            System.out.println("Content Type:"+contentType);
            System.out.println("PATAH:"+saveFile);
            System.out.println("Start :"+startPos);
            System.out.println("endPos :"+endPos);

        System.out.println("contentLength"+formDataLength);//Size of the file in Bytes

1 Ответ

2 голосов
/ 27 января 2012

Невозможно узнать длину звука только по размеру файла, лучше всего использовать для этого библиотеку.

Использование MP3 SPI: http://www.javazoom.net/mp3spi/documents.html

примеркод, который возвращает количество секунд, которое аудиофайл имеет:

private static int getDurationWithMp3Spi(File file) {
    AudioFileFormat fileFormat = AudioSystem.getAudioFileFormat(file);
    Map<?, ?> properties = ((TAudioFileFormat) fileFormat).properties();
    String key = "duration";
    Long microseconds = (Long) properties.get(key);
    int mili = (int) (microseconds / 1000);
    return (mili / 1000) % 60;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...