如何将路径转换为uri

时间:2017-12-31 16:03:00

标签: android

目前,我的目的是捕获一个视频,之后,我获得了视频路径的引用(此视频在本地保存在存储文件中),然后我将视频路径保存在数据库中,然后当我想播放此视频时,我将此路径转换为URI并播放视频。

此代码解释了我这样做的尝试:

   @Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
        Uri videoUri = intent.getData();
        String path = videoUri.getPath();
        Uri uri2 = Uri.fromFile(new File(path));
        v.setVideoURI(uri2);
        v.start();
    }
}

其中V是 videoView

当我尝试将uri2设置为videoView(v)时,我收到一个我无法播放的错误  这个视频。

任何人都可以说出我做错了什么。

2 个答案:

答案 0 :(得分:0)

请尝试这样

Uri.fromFile(new File("/sdcard/sample.jpg"))

答案 1 :(得分:0)

我在@CommonsWare建议的帮助下解决了我的问题,将uri本身保存在数据库中,这可以通过以下方式完成

   @Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
        Uri videoUri = intent.getData();
        String s = videoUri.toString();
        Uri mUri = Uri.parse(s);
        v.setVideoURI(mUri);
        v.start();
    }
}