java - 我正在使用 MediaStore.Video 在手机上获取视频,但它只显示 3gp 和 MP4 视频
问题描述
我想创建一个视频播放器应用程序,所以我必须在我的应用程序上从手机中获取和显示视频。我使用 MediaStore.Video 来获取视频,但我注意到只获取了 3gp 和 MP4 视频扩展格式,我如何从手机中获取所有视频扩展(所有视频格式)这是我之前使用的代码
Uri uri=MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
String orderBy=MediaStore.Video.Media.DATE_ADDED;
String[] projection = {MediaStore.Video.Media._ID,MediaStore.Video.Media.TITLE,MediaStore.Video.Thumbnails.DATA , MediaStore.Video.Media.SIZE, MediaStore.Video.Media.DISPLAY_NAME, MediaStore.Video.Media.DURATION};
Cursor cursor=getActivity().getContentResolver().query(uri,null,null,null,orderBy);
if(cursor!=null && cursor.moveToNext()){
do{
String id=cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns._ID));
String title=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.VideoColumns.TITLE));
String displayName=cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.DISPLAY_NAME));
String size=cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.SIZE));
String duration=cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.DURATION));
String path=cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.DATA));
String dateAdded=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.VideoColumns.DATE_ADDED));
String video_thumb=cursor.getString(cursor.getColumnIndex(MediaStore.Video.Thumbnails.DATA));
MediaFiles mediaFiles=new MediaFiles(video_thumb, id,title,duration,size,dateAdded,displayName,path);
videoFiles.add(mediaFiles);
}while(cursor.moveToNext());```
Please is there no way I can fetch all types of Videos using this code. Anyone help with any other way to fetch all types of Videos
解决方案
推荐阅读
- azure - consumer.azure.com 的 v3 API 大部分时间都无法返回 offerId
- navigationbar - SwiftUI navigationBarTitle - displayMode: .inline - 崩溃
- excel - 使用 Powershell 从 Excel 工作表中获取复选框?
- reactjs - Material-UI 中添加的自托管字体不起作用?
- javascript - 如何使用 php 标签在 grid.js 中编写获取文本
- sql-server - 如何在 SQL 和 LINQ 中获取每个员工的第二个最高工资值?
- openxml - 我在 C# 中使用 OpenXML 创建 xlsx 文件,但日期为 1900 年 1 月
- c++ - 如何优雅地实现具有可变输出的单一方法?
- collection-select - 为什么我不能使用这个代码 f.collection_select
- returnn - 如何在更多数据上训练 LM?