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