Android 视频查看:无法播放文件名中包含“%”字符的视频文件

Android Video view: Unable to play video files with '%' character in filename

我正在尝试播放 'VideoView' 中的文件示例名称:'sample%20video.mp4'。 文件无法播放并显示错误:

Can't play video

视频文件没有问题,因为从文件名中删除 '%' 后它工作正常。

注意:使用 'Photos' 等应用程序从文件位置启动视频 ('sample%20video.mp4') 时,'Video player' 可以正常播放,没有任何问题。

有人知道这种行为的原因吗??

您是否在未先调用 Uri.encode() 的情况下将文件名传递给 Uri.parse()?如果是这样,那么这可能是问题的原因,您需要先对其进行编码以处理任何特殊字符:

VideoView videoView = findViewById(R.id.videoView);
videoView.setVideoURI(Uri.parse(Uri.encode(videofilepath)));