检索Android设备上的所有视频文件
本文关键字:视频 文件 Android 检索 | 更新日期: 2023-09-27 18:01:35
我正在尝试在我的Unity3D-Android应用程序中实现视频播放器功能。想知道如何访问设备存储上的所有视频文件。到目前为止,我可以使用以下命令获取Application.persistentDataPath
上的MP4文件列表:
private List<string> DirSearch(string sDir)
{
List<string> files = new List<string>();
try
{
foreach (string f in Directory.GetFiles(sDir,"*.mp4"))
{
files.Add(f);
}
foreach (string d in Directory.GetDirectories(sDir))
{
files.AddRange(DirSearch(d));
}
}
catch (Exception ex)
{
Debug.LogError(ex.Message);
}
return files;
}
为整个设备存储和SD卡使用相同的代码,我应该从哪里开始搜索?
编辑:请注意,我在Unity3D与c#和以上代码工作良好。所以java代码是没有帮助的。相反,我需要android设备存储上的绝对路径,我可以像这样调用上面的方法:DirSearch(needThisPathAddressForAndroidRootFolder)
谢谢
查询MediaStore
内容提供者
例如
public static void printNamesToLogCat(Context context) {
Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
String[] projection = { MediaStore.Video.VideoColumns.DATA };
Cursor c = context.getContentResolver().query(uri, projection, null, null, null);
int vidsCount = 0;
if (c != null) {
vidsCount = c.getCount();
while (c.moveToNext()) {
Log.d("VIDEO", c.getString(0));
}
c.close();
}
}
Thank you slartibartfast
引用的