Согласно документации для файлов расширения APK, на самом деле это кажется довольно простым мне.
В разделе Обзор ...
Каждый файл может иметь размер до 2 ГБ и это может быть любой формат по вашему выбору, но мы рекомендуем вам использовать сжатый файл для экономии трафика во время загрузки.
Например, вы можете просто иметь свой WMV-файл как файл расширения без какой-либо упаковки. Несмотря на то, что рекомендуется использовать сжатые файлы, большинство мультимедийных файлов в любом случае сжимаются, поэтому не будет особой пользы от их помещения в ZIP-файл (например). Однако, если у вас есть более одного файла WMV, вам придется использовать что-то вроде ZIP-файла просто в качестве контейнера для них, и вам, очевидно, нужно будет распаковать их в подходящее место перед их воспроизведением.
В разделе Формат имени файла выясняется, что ваш файл будет переименован, и его расширение будет изменено на OBB вместе с префиксами для предоставления основной версии / патча и версии приложения и имени следующим образом ...
[main|patch].<expansion-version>.<package-name>.obb
Так, например, если у вас есть имя пакета com.mycompany.myapp с версией 10, ваш основной файл расширения будет переименован в ...
main.10.com.mycompany.myapp.obb
ПРИМЕЧАНИЕ. Даже если ваше исходное имя файла - myvideo.wmv (например), оно будет называться, как указано выше - это не путь, это на самом деле имя файла.
Наконец, в разделе Место хранения будет указано следующее ...
<shared-storage>/Android/obb/<package-name>/
Используя мой пример имени файла, фактический путь / имя файла будет ...
<shared-storage>/Android/obb/com.mycompany.myapp/main.10.com.mycompany.myapp.obb
Чтобы получить местоположение <shared-storage>
, вы должны использовать getExternalStorageDirectory()
, а для <package-name>
использовать getPackageName()
.
Пример кода будет ...
String extStoragePath = getExternalStorageDirectory().getAbsolutePath() + "/";
String packageName = getPackageName();
String mainExpFilename = "main.10." + packageName + ".obb";
String pathToMainExpFile = extStoragePath + "Android/obb/" + packageName + "/" + mainExpFilename;
Что касается воспроизведения файла с помощью стороннего видеоплеера, что-то вроде этого примера кода должно работать с приведенным выше ...
Uri mediaUri = Uri.parse(pathToMainExpFile);
Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setDataAndType(mediaUri, "video/*");
startActivity(i);
person
Squonk
schedule
03.08.2014
Intent
с действиемIntent.ACTION_VIEW
, затем установите uri мультимедиа и используйте mime-тип видео / *. - person Squonk   schedule 03.08.2014