1

我们目前正在开发一个必须具有本地化 mp4 流视频的 Unity Android 项目。为了实现这一点,我希望将视频文件放在一个扩展的 obb 文件中,然后我们可以拥有相同的 apk 并根据语言使用不同的 obb 文件提交。

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

但是,我们也可以提交名为“patch.1.name.obb”的第二个 obb。但是我在制作和使用它时遇到了麻烦。有没有人以前统一尝试过这个?

应用程序使用第一个 obb 文件构建和运行非常好(即游戏没有视频也可以运行),问题只是在补丁 obb 创建中。

我试图通过使用 0% 压缩的 linux zip 命令创建 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。任何人都可以提出其他建议尝试或指出我在尝试执行此操作时犯的明显错误吗?

让我知道您可能需要帮助的更多信息,并提前致谢。

4

1 回答 1

0

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

  • 简单地将“.zip”文件重命名为“.obb”文件是行不通的。您需要创建一个名为“.obb”的文件夹。然后将所有需要的资源文件添加到这个文件夹,然后压缩这个文件夹,当然使用 0% 压缩。确保压缩文件仅包含根目录中的资源文件,而不是子文件夹(您之前创建的文件夹)。现在您有一个名为“.obb.zip”的 zip 文件。此时您可以将文件重命名为“.obb”。当然,这些文件可能位于 obb 文件(在您的情况下为 assets 文件夹)内的子文件夹中,但我不确定这样做的后果。

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

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

于 2015-08-13T14:05:06.580 回答