我在项目中使用文件扩展来访问obb文件夹中的音频,视频和图像文件。 我的Obb文件是以下形式: main.1.com.example.sample --->包含三个文件夹,名称为Images,Video and Audio --->现在它包含不同的.mp4,.mp3,.jpg文件 我在Android / obb / com.example.sample / main.1.com.example.sample中有我的obb文件 现在,我正在尝试使用以下代码访问Video文件夹中的.mp4文件:
ZipResourceFile expansionFile = null;
try {
expansionFile = APKExpansionSupport.getAPKExpansionZipFile(this,1,0);
Log.e("expansion",">>>>>"+expansionFile);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(expansionFile!=null){
AssetFileDescriptor fd = expansionFile.getAssetFileDescriptor("Video/v1.mp4");
Log.e("AFDDDDDDDD",">>>>>"+fd);
}
但我得到例外: 07-30 16:14:24.685:D / zipro(22542):Zip:未找到EOCD,/ storage /emulated/0 / Android / obb / com.example.sample / main.1.com.example.sample.obb不是拉链
07-30 16:14:24.685:W / zipro(22542):错误偏移(dir 191367812,大小1771611666,eocd -1) 07-30 16:14:24.685:W / System.err(22542):java.io.IOException 07-30 16:14:24.695:W / System.err(22542):at com.android.vending.expansion.zipfile.ZipResourceFile.addPatchFile(ZipResourceFile.java:353) 07-30 16:14:24.695:W / System.err(22542):at com.android.vending.expansion.zipfile.ZipResourceFile。(ZipResourceFile.java:189) 07-30 16:14:24.695:W / System.err(22542):at com.android.vending.expansion.zipfile.APKExpansionSupport.getResourceZipFile(APKExpansionSupport.java:67) 07-30 16:14:24.695:W / System.err(22542):at com.android.vending.expansion.zipfile.APKExpansionSupport.getAPKExpansionZipFile(APKExpansionSupport.java:77)
并且无法直接从obb文件访问。请提出一个解决方案以及为什么会遇到这种异常?
由于
答案 0 :(得分:0)
我认为有人会知道这个坏偏移问题何时发生,但我没有得到单一回应。所以,我自己尝试了,花了很长时间,但问题解决了。
当取出assetfiledescriptor时,obb的文件路径错误,会发生Bad Offesets异常。这就是它在运行时发出此错误的原因。
我希望这个答案可以帮助别人,因为他们不应该面对没有得到任何答案或回应的同样问题。