Как воспроизвести видео из файлов расширения apk?
Я создаю развивающее приложение в Android, у которого есть около 500 МБ видео, которое я использую для загрузки файлов расширений apk. Я загружаю расширение и загружаю его, но теперь я не могу воспроизводить видео с него http://blogmobile.itude.com/2012/11/22/ расширение-ваши-горизонты-использование-расширения-файлов-для-андроида / я следую этому примеру для воспроизведения видео, но он не работает со мной http://ktakeda47.blogspot.com/2012/04/apk-expansion-files.html Я перешел по этой ссылке для загрузки файла расширения. Теперь, пожалуйста, помогите мне, как воспроизвести видео из файла расширения. Dir="/sdcard/Android/obb"?
1 ответ
Я использую следующий код для воспроизведения MP4 из OBB APKexpansion
использование файла APKExpansionSupport
Lib:
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());
Помните - вы должны упаковать zip-архив obb без какого-либо уровня сжатия. Это очень важно. Это должен быть zip-архив без сжатия (уровень =0).
Однако есть URI
упоминается в APKES документах (говоря оVideoView
) но я не могу получить клей, как получить URI
из APKES. Наконец, я нашел, как это сделать здесь. Чтобы использовать URI, вы должны расширить com.android.vending.expansion.zipfile.APEZProvider
как в его примере и внести изменения в манифест, и он должен работать.