9

私のアプリは多くのコンテンツをユーザーに配信しようとしているため、アプリのサイズは 50 MB をはるかに超えています。コンテンツの一部を縮小または削除する方法はありません。そのため、拡張アプローチを採用することにしました。

私はこのチュートリアルに従おうとしています: Android APK Expansion Files、テストのために拡張ファイルをデバイスに入れることまで成功しています。拡張内の任意のビデオ ファイルの入力ストリームを取得できました。しかし、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 をログに記録することをお勧めします。

このログをチェックして、想定が正しいことを確認してください。

mediaplayer の APEZProvider を使用して uri を提供します。

これを標準のAndroidドキュメントで確認してください。

これがあなたを助けることを願っています。

于 2012-12-20T12:36:59.480 に答える