私は継続時間を得るために答えを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();
}
ビデオがデータベースに存在しないか、何らかの理由でDATA列があなたのパスに正確に一致しません。何が起こっているのかを理解するために、選択とselectionArgsを削除して、 'MediaStore.Video.Media.EXTERNAL_CONTENT_URI'のすべてのエントリを取得するようにしてください。 DATA列と場合によってはIDを含むように列を変更し、DatabaseUtils.dumpCursorを使用して内容をlogcatに書き込むことができます。 – cwbowron
@cwbowron thxさんのヘルプ。 –