Android 在zip上播放.mp4文件而不解压缩zip

Android 在zip上播放.mp4文件而不解压缩zip,android,zip,android-videoview,Android,Zip,Android Videoview,在SD卡上,我有一个包含一个视频文件(.mp4)的zip文件。我需要通过VideoView播放该视频文件,而无需提取zip 到目前为止,我已经尝试: ZipFile zipFile = new ZipFile(new File("/sdcard/checking.zip")); ZipEntry zipEntry = zipFile.getEntry("checking.mp4"); InputStream inStream = zipFile.getInputStream(zipEntry)

在SD卡上,我有一个包含一个视频文件(.mp4)的zip文件。我需要通过VideoView播放该视频文件,而无需提取zip

到目前为止,我已经尝试:

ZipFile zipFile = new ZipFile(new File("/sdcard/checking.zip"));
ZipEntry zipEntry = zipFile.getEntry("checking.mp4");
InputStream inStream  = zipFile.getInputStream(zipEntry);
但是我没有发现任何API可以播放
InputStream
中的视频
zipEntry.getSize()返回值

我尝试了
videoView.setVideoURI(Uri.parse(“//sdcard/checking.zip!/checking.mp4”)来自

但它显示“不能播放视频”。
那么,我如何在android上做到这一点(标题中提到)。

使用VideoView或MediaPlayer,您无法做到这一点

老实说,我也有同样的问题。但是在扩展文件文档中,它说您需要以特定的方式压缩文件,以便直接从zip文件夹中读取。你不应该对里面的媒体进行任何压缩

希望这有助于


我真的不知道如何那样压缩。

协议在//(http://etc)之前,所以试试jar:file://sdcard/checking.zip!/正在检查.mp4仍不工作!!给定MediaPlayer:path在Logcati上为null如果SD卡直接映射到//SD卡/(可能是//storage/sdcard0/或其他东西)-使用而不是硬编码如果您有读取外部权限,我相信某些设备可能已经强制执行了它,但仍然返回:uri为:jar:file:///mnt/sdcard/checking.zip!/checking.mp4 MediaPlayer(3514):路径为空