检索并播放本地存储在Android VR耳机上的视频文件(Oculus Quest)

时间:2019-06-04 04:23:54

标签: android unity3d android-manifest oculus

我正在制作一些原型,这些原型需要我播放来自统一应用程序(10gb +)的大型视频文件。这些是在医院环境中播放的360部视频,因此,我很难像现在一样将这些视频上传到服务器并进行流传输。医院不允许此类下载,并且连接不够有效。

我对此的解决方案是将视频手动添加到头戴式耳机,然后通过从代码中获取视频来简单地从unity应用程序中播放视频,因为我知道它们的存储位置。 las,我似乎无法使它正常工作。

我曾尝试将视频放入流媒体资产文件夹中,但尝试此操作时甚至无法建立统一性,因为我遇到了Java堆空间问题,我还向Android清单添加了权限,因此它应具有获取视频的权限。

 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

我想知道是否有人对这种事情有经验,可以很好地阐明如何将视频文件本地放置在头戴式耳机(很可能是在com中。<公司名称>。<应用程序名称) >文件夹或“永久路径”),然后从脚本或视频播放器的网址/路径播放。

谢谢。 Unity 2019.2 0b1

1 个答案:

答案 0 :(得分:1)

将视频置于StreamingAssets中对于某些文件大小在Android上不起作用。因此,我对Oculus Go MediaPlayer所做的就是将所有视频放入耳机的文件夹中,然后使用绝对路径加载它们。 在Unity中,您可以像这样获取android的rootpath:

rootPath = Application.persistentDataPath.Substring(0, Application.persistentDataPath.IndexOf("Android", StringComparison.Ordinal));

然后从那里添加您自己创建的文件夹的路径,例如:

string path = Path.Combine(Path.Combine(rootPath, "ExampleFolder/ExampleSubdirectory"), FileName);