9

我的应用程序试图向用户提供大量内容,因此应用程序的大小远大于 50mb。我们无法减少或删除某些内容,因此我们决定采用扩展方法。

我正在尝试遵循本教程:Android APK 扩展文件,并且已成功将扩展文件放入我的设备进行测试。我可以在扩展中获取任何视频文件的输入流。但是当我尝试为 videoView 设置VideoUri 时,它开始崩溃。下面是一些代码:

ZipFileContentProvider contentProvider = new ZipFileContentProvider();
String contentPath = "content://";
File root = Environment.getExternalStorageDirectory();
String EXP_PATH = File.separator + "Android" + File.separator + "obb" + File.separator;
String path = root.toString() + EXP_PATH + context.getPackageName() + File.separator + "main.1.com.c4e1.in2cricket.obb";
String zipFileName =  contentPath + path + "/" + fileName;
Uri uri = Uri.parse(zipFileName);
videoView.setVideoUri(uri);


public class ZipFileContentProvider extends APEZProvider {

    @Override
    public String getAuthority() {
        return "com.c4e1.in2cricket.provider.ZipFileContentProvider";
    }
}
4

1 回答 1

2

在使用 zip 和 obb 文件时,记录您正在处理的 zipEntries 始终是一个好习惯。

检查此日志以确保您的假设是正确的。

使用 APEZProvider 为 mediaplayer 提供 uri。

在标准 android 文档中检查这一点。

希望这会帮助你。

于 2012-12-20T12:36:59.480 回答