Ich verwendete this Antwort, um die Dauer zu erhalten, aber es funktioniert nicht für mich.Kann mir jemand sagen, was ist das Problem?Wie erhält man die Dauer eines Videos aus MediaStore?
Jede Hilfe wird geschätzt.
Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
String[] columns = {MediaStore.Video.VideoColumns.DURATION};
String selection = MediaStore.Video.VideoColumns.DATA + "=?";
String selectionArgs[] = {"/data/data/com.test.test/files/video1.mp4"};
Cursor cursor = context.getContentResolver().query(uri, columns, selection, selectionArgs, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
String duration = cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.DURATION));
}
cursor.close();
}
Entweder das Video ist nicht in der Datenbank oder aus irgendeinem Grunde nicht mit der DATA-Spalte nicht genau Ihren Weg entspricht. Um herauszufinden, was vor sich geht, schlage ich vor, dass Sie versuchen, alle Einträge im 'MediaStore.Video.Media.EXTERNAL_CONTENT_URI' zu erhalten, indem Sie Ihre Auswahl und AuswahlArgs entfernen. Sie könnten Ihre Spalten so ändern, dass sie die DATA-Spalte und möglicherweise die ID enthalten, und DatabaseUtils.dumpCursor verwenden, um den Inhalt in logcat zu schreiben. – cwbowron
@cwbowron thx für Hilfe. –