Android 获取本地视频文件路径的方式
在android 项目开发过程中,遇到获取本地视频文件的问题,记录一下获取本地文件的几种方式。
首先说下sdcard在手机中的挂载位置。
android手机获取自带存储路径和sd卡存储路径的方式是:调用Environment.getExternalStorageDirectory(),返回的存储目录并不是系统内置的SD卡目录。
一部分手机将eMMC存储挂载到 /mnt/external_sd 、/mnt/sdcard2 等节点,而将外置的SD卡挂载到Environment.getExternalStorageDirectory()这个结点,此时,调用Environment.getExternalStorageDirectory(),则返回外置的SD的路径。
而另一部分手机直接将eMMC存储挂载在Environment.getExternalStorageDirectory()这个节点,而将真正的外置SD卡挂载到/mnt/external_sd、/mnt/sdcard2 等节点。此时,调用Environment.getExternalStorageDirectory(),则返回内置的SD的路径。
我们只说第一种情况,并且视频文件在/Sdcard下面
String path = Environment.getExternalStorageDirectory().getPath() + "/文件所在子目录/../你的文件名.*";
String path2 = "file:///sdcard/../文件.*";
File file = new File("/sdcard/../文件.*");
//加载视频:
VideoView videoView = (VideoView)findViewById(R.id.view);
//videoView.setVideoPath(path);
//videoView.setVideoPath(path2);
//videoView.setVideoPath(file.getAbsolutePath());
//使用videoView.setVideoURI(uri)也可以
//videoView.setVideoURI(Uri.parse(path));
//videoView.setVideoURI(Uri.parse(path2));
videoView.setVideoURI(Uri.parse(file.getAbsolutePath());
对于如何把文件导入到真机或虚拟设备上的sdcard下面,请看下一篇文章: