当前位置: 首页 > 知识库问答 >
问题:

java.io.FileNotFoundException:没有内容提供者:/storage/emulated/0/test_video.mp4

微生学
2023-03-14

通常,从图库中选择一个视频并用库剪切,问题是我需要将剪切的视频(它存储在外部存储器:/storage/emulated/0/test_video.mp4中)转换为base64,这就是它失败的地方。我该怎么解决呢?我已经将权限放在清单上,并以编程方式请求这些权限。

//Getting video from previous activity
        Uri selectedVideo = Uri.parse(intent.getStringExtra("trimmedVideo"));
        Log.d(Global.getTag(), "path: "+selectedVideo.toString());

 //Converting Selected video to base64
        try {
            InputStream in = getContentResolver().openInputStream(selectedVideo);  <---This line fails
            byte[] bytes = Global.getBytes(in);
            Log.d(Global.getTag(), "bytes size= "+bytes.length);
            video_base64 = Base64.encodeToString(bytes,Base64.DEFAULT);
            Log.d(Global.getTag(), "Base64string= "+ video_base64);
        } catch (Exception e) {
            e.printStackTrace();
        }

而我在logcast中得到的只有:

共有1个答案

寿毅庵
2023-03-14

我在github的一个帖子上找到了解决方案!只需要包括这一点:

//Getting video from previous activity
Uri selectedVideo = Uri.parse(intent.getStringExtra("trimmedVideo"));

Uri selectedVideoFinal = null;
        if (selectedVideo.getScheme() == null){
            selectedVideoFinal = Uri.fromFile(new File(selectedVideo.getPath()));
        }else{
            selectedVideoFinal = selectedVideo;
        }


 Log.d(Global.getTag(), "path: "+selectedVideoFinal);

 MediaMetadataRetriever mMMR = new MediaMetadataRetriever(); ...continue code
 类似资料:
  • 我知道这是一个老旧的,但我似乎没有找到一种方法来管理它... 我必须捕获一个相机图像,以供以后的IO处理,将其传输到一个网络共享,但在此之前我失败了很多...在阅读了一些文章之后,我找到了在KitKat上实际执行的方法,检查运行的SDK,并且它工作了…但是,现在我也在牛轧糖设备上测试它。 对于牛轧糖,我已经读到应该使用提供程序,并且我正在尝试... 捕获的映像必须存储在一个特定的文件夹中,该文件夹

  • 问题内容: 我正在尝试使用android中的异步任务下载和存储图像,当单击下载按钮时出现以下错误。 WallpaperActivity.java Android目标Api 7.1.1 清单中添加的权限 android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE 问题答案: 您需要为OS Mar

  • 我正试图在android中使用异步任务下载和存储图像,当点击下载按钮时得到以下错误。 null Android.permission.write_external_storage

  • 我遵循这个在android中播放流式广播 这里它的工作很好,但玩家加载有点慢,点击后,我需要等待30秒以上的时间 音频正在播放,但在这个错误之后,它需要大约30秒的时间,有些时候,它需要太长的时间....当我播放它,显示这个错误,然后它连接到服务器...和演奏 请帮我把这个修好

  • 我尝试使用以下方法从URI获取路径: 当我尝试压缩位图时: 我得到这个错误:

  • 可以帮助任何人回答这个(我认为很简单)问题吗?我是Android系统的纽比。谢谢你!