Вопрос по android – Как узнать длительность захваченного видео в андроиде?

3

Используя приведенный ниже код, я захватил видео, но как получить продолжительность захваченного видео в Android? а также, когда пользователь иногда сбрасывает видео и записывает новое видео, то получает продолжительность нового видео.

Intent cameraIntent = new Intent(
android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(cameraIntent, TAKE_VIDEO);
@PadmaKumar это не дубликат, есть только курсор, а также не продолжительность Samir Mangroliya
возможно дублирование:stackoverflow.com/q/3936396/1012284 Padma Kumar

Ваш Ответ

2   ответа
7

С помощью курсора вы можете получить длительность и естьduration Столбец в курсоре и вы можете получить в виде строки.

Cursor cursor = MediaStore.Video.query(getContentResolver(),data.getData(),
                new String[] { MediaStore.Video.VideoColumns.DURATION });
System.out.println(">>>>>>>>>>"+cursor.getCount());
cursor.moveToFirst();

String duration = cursor.getString(cursor.getColumnIndex("duration"));
Error: User Rate Limit Exceeded
7

Я думаю, что самый простой способ это:

MediaPlayer mp = MediaPlayer.create(this, Uri.parse(uriOfFile);
int duration = mp.getDuration();
mp.release();
/*convert millis to appropriate time*/
return String.format("%d min, %d sec", 
        TimeUnit.MILLISECONDS.toMinutes(duration),
        TimeUnit.MILLISECONDS.toSeconds(duration) - 
        TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(duration))
    );
Error: User Rate Limit Exceededfile://Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы