2

私は約 500 MB のビデオを持つ Android で開発中のアプリを作成します。これは、apk 拡張ファイルのアップロードに使用する方法です。拡張をアップロードしてダウンロードしますが、今はそこからビデオを再生できません http://blogmobile.itude.com/2012/11/22/ expand-your-horizo​​ns-using-expansion-files-for-android/ ビデオを再生するためにこの例に従いますが、動作しませんhttp://ktakeda47.blogspot.com/2012/04/apk-expansion-files.html拡張ファイルをダウンロードするには、このリンクをたどりました。拡張ファイル Dir="/sdcard/Android/obb" からビデオを再生する方法を教えてください。

4

1 に答える 1

2

次のコードを使用して、 libを使用して obbAPKexpansionファイルから mp4 を再生しています。APKExpansionSupport

ZipResourceFile expansionFile = null;
AssetFileDescriptor mAFD= null;
try {
    expansionFile = APKExpansionSupport.getAPKExpansionZipFile(this, 1, 0);
    mAFD = expansionFile.getAssetFileDescriptor(strVideoFile);
} catch (IOException e) {
    e.printStackTrace();
} catch (NullPointerException e) {
    e.printStackTrace();
}
    if (expansionFile==null || mAFD == null){
        Toast.makeText(this, "obb is not here or doesn't contain file: "+strVideoFile, Toast.LENGTH_LONG).show();
        return false;
    }
        mMediaPlayer.setDataSource(mAFD.getFileDescriptor(), mAFD.getStartOffset(), mAFD.getLength());

覚えておいてください-圧縮レベルなしでobb zipアーカイブをパックする必要があります. これはとても重要です。圧縮なし (レベル = 0) の zip アーカイブである必要があります。
ただしURI、APKES docs で言及されていますが (と言えばVideoView) 、APKES からを取得する方法がURIわかりません。最後に、ここでそれを行う方法を見つけた ので、URIを使用するにはcom.android.vending.expansion.zipfile.APEZProvider、彼の例のように拡張し、マニフェストに変更を加える必要があり、動作するはずです。

于 2013-09-20T08:26:00.550 に答える