AIR / Android - воспроизведение видео из смонтированного OBB / файла расширения

У меня есть около 125 МБ видеофайлов, которые мне нужно воспроизвести из файла расширения (OBB). Сам файл OBB на месте и успешно «смонтирован» с помощью стороннего собственного расширения, поэтому я могу доступ к файлам с использованием традиционных методов, таких как класс File, класс Loader и т. д.

Я использую классы NetStream и NetConnection для воспроизведения видеофайла, но проблема в том, что для воспроизведения потока видеофайл должен находиться в той же папке, что и SWF-файл, который пытается его воспроизвести (или подпапку). Это также есть в документации Adobe:

Воспроизвести локальный файл

В Flash Player и в содержимом AIR за пределами изолированной программной среды безопасности приложения можно воспроизводить локальные видеофайлы, которые хранятся в том же каталоге, что и файл SWF, или в подкаталоге; однако вы не можете перейти в каталог более высокого уровня.

Тем не менее я попытался воспроизвести поток, просто из любопытства, и он выдает ошибку StreamNotFound (как и должно быть, потому что видеофайл находится не в той же папке / подпапке, что и SWF). Я догадываюсь, что это какая-то песочница безопасности, и есть способ обойти ее, но я не могу его найти.

Любая помощь приветствуется.


person Nedudgi    schedule 27.08.2015    source источник
comment
если бы это была проблема с песочницей безопасности, он бы сказал вам. Я предполагаю, что он не может обнаружить файл. Я не знаю, что вы имеете в виду под «смонтированным», но obb-файл - это просто zip-файл, поэтому его нужно просто распаковать в дереве изолированной программной среды безопасности приложения, чтобы его файл был доступен. Если вы делаете что-то еще, вы просто ищете неприятностей.   -  person BotMaster    schedule 27.08.2015
comment
Насколько я знаю, файл OBB - это то, что я хочу. Поэтому я использовал инструмент командной строки jobb в Android SDK для создания файла OBB. ANE, который я использую, позволяет мне получить доступ к OBB, не распаковывая его, тем самым «монтируя» его для всех намерений и целей. Если я распакую его в любую доступную для записи папку, NetStream все равно не сможет воспроизвести файл, потому что видеофайл все равно не будет в той же папке, что и SWF. Я все же исследую это. Спасибо.   -  person Nedudgi    schedule 27.08.2015
comment
Проблема с этим подходом заключается в том, что расположение OBB может меняться от устройства к устройству, и нет гарантии, что пользователь не сможет удалить его, просто выполнив какую-либо очистку. Вот почему для начала рекомендуется как минимум переместить этот файл в безопасное место, а еще лучше - распаковать его в нужное место. Лично я ищу свои файлы в корне приложения и нахожу их в своем OBB, если они не существуют, а затем копирую их в корень своего приложения. Пользователю никогда ничего не нужно ждать, и через некоторое время все мои файлы окажутся в корне.   -  person BotMaster    schedule 27.08.2015
comment
Спасибо, я понимаю, как это может сработать, но разве распаковка / копирование не увеличит пространство, используемое приложением? Размер моего приложения составляет около 300 МБ, поэтому для любой распаковки потребуется такое же количество места. Так что для установки мне понадобится около 600 МБ. Кроме того, удаление и удаление файла OBB явно не рекомендуется Google: разработчик . android.com/google/play/expansion-files.html#Rules Также от Google: «Однако, если возможно, лучше всего использовать формат файла расширения, позволяющий читать прямо из файла, а не требовать вы распаковываете данные '   -  person Nedudgi    schedule 27.08.2015
comment
@Nedudgi, подскажите, как вы добавили расширение в Adobe Flash? Я новичок в Adobe и хочу это проверить, спасибо.   -  person mrahmat    schedule 31.07.2016
comment
@mrahmat В конце концов я выбрал платное решение от Zooom. Бесплатный ANE от Pol не работал у меня. В версии Zooom есть очень хорошее руководство по началу работы.   -  person Nedudgi    schedule 31.07.2016
comment
@Nedudgi, спасибо за ответ, я бы хотел, чтобы был более простой способ с бесплатными ANE, потому что я студент и делаю это в учебных целях, и было бы бессмысленно платить за ANE   -  person mrahmat    schedule 01.08.2016
comment
@mrahmat Бесплатная версия Pol, которую я пробовал, как-то испортила всплытие событий и доставила мне много проблем. Если вы не пытаетесь сделать что-то серьезное, вы можете попробовать, но я не рекомендую его для производственных целей.   -  person Nedudgi    schedule 01.08.2016


Ответы (1)


В конце концов я смог воспроизвести видеофайл из смонтированного obb, используя встроенный класс as3 VideoPlayer, который, похоже, может воспроизводить видео из любой папки.

person Nedudgi    schedule 03.09.2015