MediaMetadataRetriever задушит поведение

Итак, я использую эти простые строки кода:

public static boolean checkIfAudioFileIsValid(String filePath) {
    MediaMetadataRetriever retriever = new MediaMetadataRetriever();
    long duration;
    try {
        retriever.setDataSource(filePath);
        duration = Long.parseLong(retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION));
    } catch (Exception e ) {
        return false;
    }
    return duration > 1000;
}

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

Есть ли у кого-то эта проблема и нашел способ ее решить?

0 ответов

Другие вопросы по тегам