Извлечение продолжительности видеофайла 3GP в Java/ Android

Я абсолютно новичок в разработке Android и пытаюсь создать небольшой видеоплеер, который может записывать видео и просматривать записанные видео. Я просматриваю список видео, записанных приложением, в ListView, где для каждого видео я показываю название и длину видео.

Я получаю список видео, используя:

File[] fileList = directory.listFiles(filter); 

Мне удалось получить название видео, используя следующее:

fileList[i].getName()

Но я не могу понять, как извлечь длину / продолжительность видео. Я не мог найти соответствующие API, которые так делают.

Как узнать продолжительность видеофайла 3GP на Java?

1 ответ

Решение

Вы можете использовать Курсор, как это...

 String[] proj = {
            MediaStore.Video.Media._ID,
            MediaStore.Video.Media.DATA,
            MediaStore.Video.Media.DISPLAY_NAME,
            MediaStore.Video.Media.SIZE,
            MediaStore.Video.Media.DATE_TAKEN,
            MediaStore.Video.Media.DURATION };

            videocursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,proj, null, null, null);

Вы можете получить длительность видео файла, используя MediaStore.Video.Media.DURATION,

Надеюсь, это поможет вам.

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