Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity Android patch.obb文件的创建和使用_Android_Unity3d_Video Streaming_Apk Expansion Files - Fatal编程技术网

Unity Android patch.obb文件的创建和使用

Unity Android patch.obb文件的创建和使用,android,unity3d,video-streaming,apk-expansion-files,Android,Unity3d,Video Streaming,Apk Expansion Files,我们目前正在进行Unity Android项目,该项目必须有本地化的mp4流媒体视频。为了实现这一点,我希望把视频文件在一个扩展obb文件,然后我们可以有相同的apk和提交不同的obb文件根据语言 不幸的是,没有视频的应用程序仍然超过50Mb,因此我们需要为应用程序使用第一个“main.1.name.obb” 但是,我们也可以以“patch.1.name.obb”的名义提交第二份obb。然而,我有困难,使这和使用它。以前有人试过团结吗 应用程序使用第一个obb文件构建并运行完全正常(即游戏在没有

我们目前正在进行Unity Android项目,该项目必须有本地化的mp4流媒体视频。为了实现这一点,我希望把视频文件在一个扩展obb文件,然后我们可以有相同的apk和提交不同的obb文件根据语言

不幸的是,没有视频的应用程序仍然超过50Mb,因此我们需要为应用程序使用第一个“main.1.name.obb”

但是,我们也可以以“patch.1.name.obb”的名义提交第二份obb。然而,我有困难,使这和使用它。以前有人试过团结吗

应用程序使用第一个obb文件构建并运行完全正常(即游戏在没有视频的情况下运行)。问题在于补丁obb的创建

我曾尝试使用压缩率为0%的LinuxZip命令创建obb,然后将其重命名为.obb文件,但没有成功。(例如,patch.1.packname.zip到patch.1.packname.obb)

我试着用jobb工具创建obb,它可以很好地添加视频,但仍然在游戏中没有找到/播放它们

视频肯定在obb文件中的“资产”文件夹中(我认为流媒体资产必须在该文件夹中)

我伪造了流媒体资产路径(Application.streamingAssetsPath)以将“main”替换为“patch”,并通过logcat看到它确实试图从补丁obb文件中获取视频。 (例如,“jar:file:///[storagelocation]/Android/obb/packname/patch.1.packname.obb!/vid01.mp4)

我们在AndroidManifest.xml中的版本代码(如果肯定为1)。 有人能提出其他建议来尝试或指出我在尝试这样做时犯的明显错误吗


请告诉我您可能需要帮助的更多信息,并提前表示感谢。

我以前没有与Unity合作过,但根据我的经验,我可以指出在使用“.obb”文件时发现的一些问题:

  • 简单地将“.zip”文件重命名为“.obb”文件将不起作用。您需要创建一个名为“.obb”的文件夹。然后将所有需要的资源文件添加到此文件夹,然后压缩此文件夹,当然使用0%的压缩。确保压缩后的文件只包含根目录中的资源文件,而不包含子文件夹(您以前创建的文件夹)。现在您有一个名为“.obb.zip”的zip文件。此时,您可以将该文件重命名为“.obb”。当然,这些文件可能位于obb文件(您的案例中的资产文件夹)内的子文件夹中,但我不确定这会产生什么后果

  • 关于您在使用jobb工具后未找到的文件所做的声明,这很可能是由于某个地方的拼写错误,或者在我的情况下,从以前的应用程序复制包后忘记重命名包。我知道这看起来很愚蠢,可能是侮辱(在这种情况下,我深表歉意),但它确实发生了

这个答案基于我的个人经验,可能有点偏离中心,但以下是我使用的一些链接:


您成功创建了补丁文件吗?不幸的是,没有。最后,我们使用perforce streams设置了我们需要的内容。我们为每种语言都设置了一个流,每种语言都有一个StreamingAssets文件夹的自定义映射。这样,每种语言的perforce stream看起来都一样,但都有正确的视频,让我们能够让Unity按照自己的方式构建自己只使用“主”obb文件。