我用this得到的持續時間,但它不適合我。可以有人告訴我什麼是問題?如何從MediaStore獲取視頻的持續時間?
任何幫助表示讚賞。
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();
}
該視頻是不是在數據庫中,或者由於某種原因,數據列不正是你的路徑相匹配。爲了弄清楚發生了什麼,我建議你去掉''MediaStore.Video.Media.EXTERNAL_CONTENT_URI''中的所有條目,刪除你的選擇和selectionArgs。您可以更改列以包含DATA列和可能的ID,並使用DatabaseUtils.dumpCursor將內容寫入logcat。 – cwbowron
@cwbowron thx尋求幫助。 –