2015-08-19 2 views
0

Я делаю приложение для воспроизведения видео в формате AR. Я хочу воспроизводить видео с устройства, а не включать его в приложение. В поле пути в видео текстуре я должен написать путь к внутреннему хранилищу. Я написал «/storage"emulated/0/Demo.mp4» (видео называется Demo) Он работает на тестовом устройстве, но когда я пытаюсь запустить приложение на другом устройстве, он не работает, потому что путь отличается (внутренний путь is:/storage/sdcard0) Каков путь, который я должен был писать в текстуре видео, чтобы обеспечить запуск приложения независимо от устройства?Android-устройство для внутреннего хранения полный путь

+0

Как ваши конечные пользователи получат это видео? Потому что, если вы все еще собираетесь упаковывать и загружать из игры Google, вам может потребоваться перейти по пути пакета расширения. – weston

+0

Или это они могут сыграть видео по своему выбору? – weston

+0

это приложение не для публичных пользователей, это для компании с ограниченным и известным пользователям, поэтому видео должно быть в устройстве и иметь указанное имя и находиться в указанном месте. Проблема, с которой я сталкиваюсь, как упоминалось выше, - это разница во внутреннем пути хранения между устройствами, и я не знаю, какой путь я должен писать в поле пути в видео текстуре! @weston – Mohamad

ответ

0

Чтобы найти местоположения на внутреннем хранилище для вашего приложения, используйте getFilesDir(), вызываемый в любом контексте (например, ваша активность), чтобы получить объект File.

Чтобы получить местоположение на внешнем хранилище, уникальное для вашего приложения, используйте getExternalFilesDir(), вызываемый любым Контекстом (например, ваша активность), чтобы получить объект File.

Чтобы получить стандартное местоположение на внешнем хранилище для файлов общего типа (например, фильмы), используйте getExternalStoragePublicDirectory() для среды.

Чтобы получить корень внешнего хранилища, используйте getExternalStorageDirectory() для среды. Это, однако, в настоящее время считается неаккуратным программированием, поскольку оно побуждает разработчиков просто помещать файлы в случайные местоположения.

+1

Знаете ли вы, где я должен написать этот код в проекте Unity android. Что я должен писать В поле пути в инспекторе видео-текстуры? – Mohamad

+0

нет, я не знаю об единстве. –

0

жестко прописывать все это не лучший способ, но вы можете проверить, если видео существует в

/sdcard 
/mnt/sdcard 
/storage/sdcard0 
/storage/emulated/0 
/storage/emulated/legacyode 

по крайней мере те самые распространенные места для андроид устройств. Затем установите патч программно вместо использования инспектора

+0

Как установить путь программно? – Mohamad

+0

@Mohamad, если вы нашли файл, используя If's, вы должны быть abled для доступа к свойству сценария, который содержит видео-путь ... было бы полезно, если бы вы могли предоставить некоторые скриншоты! – Minzkraut

Смежные вопросы