首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法使用从可移动存储上的文档文件获取的Action_View uri播放视频文件

是因为Android系统的安全机制限制了从外部存储设备(如SD卡)访问敏感数据,包括视频文件。这是为了保护用户的隐私和安全。

解决这个问题的方法是将视频文件复制到应用的内部存储目录中,然后使用应用的内部存储路径来播放视频文件。以下是解决方法的步骤:

  1. 检查权限:确保应用已经获取了读取外部存储的权限。在AndroidManifest.xml文件中添加以下权限声明:
代码语言:txt
复制
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  1. 复制视频文件:使用File类和InputStream/OutputStream将视频文件从外部存储复制到应用的内部存储目录中。以下是一个示例代码:
代码语言:txt
复制
String sourceFilePath = "/sdcard/your_video_file.mp4";
String destinationFilePath = getFilesDir().getPath() + "/your_video_file.mp4";

try {
    File sourceFile = new File(sourceFilePath);
    File destinationFile = new File(destinationFilePath);

    InputStream inputStream = new FileInputStream(sourceFile);
    OutputStream outputStream = new FileOutputStream(destinationFile);

    byte[] buffer = new byte[1024];
    int length;
    while ((length = inputStream.read(buffer)) > 0) {
        outputStream.write(buffer, 0, length);
    }

    inputStream.close();
    outputStream.close();
} catch (IOException e) {
    e.printStackTrace();
}
  1. 播放视频文件:使用VideoView或MediaPlayer类来播放应用内部存储中的视频文件。以下是一个示例代码:
代码语言:txt
复制
String videoFilePath = getFilesDir().getPath() + "/your_video_file.mp4";

VideoView videoView = findViewById(R.id.videoView);
videoView.setVideoPath(videoFilePath);
videoView.start();

请注意,上述代码仅为示例,实际使用时需要根据具体情况进行适当的修改。

推荐的腾讯云相关产品:腾讯云移动直播(https://cloud.tencent.com/product/mlvb)可以用于实时直播和点播视频的存储和分发。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券