在运行时Unity C#Android初始化AudioClip对象

本文关键字:AudioClip 对象 初始化 C#Android 运行时 Unity | 更新日期: 2023-09-27 18:25:14

在我的应用程序中,我必须向用户显示曲目列表,用户可以从中选择特定的曲目&因此,这首曲目将作为背景音乐播放。

现在我已经复制了资源文件夹&我正在通过以下代码加载所选曲目作为AudioClip对象:

Resources.Load("Childrens Songs - Twinkle Twinkle") as AudioClip;

这段代码运行良好,但一旦我创建了项目的构建文件(apk文件)。apk文件的大小从31Mb增加到174MB。只有当我在Resources文件夹中复制我的曲目时才会发生这种情况。如果我将这些曲目复制到任何其他文件夹,apk大小约为31mbs。

有没有其他方法可以在运行时初始化AudioClip对象(即不在Resources&中使用Resources.Load()进行复制)?

还有,在资源&使用Resources.Load().

请帮帮我。

在运行时Unity C#Android初始化AudioClip对象

不,没有其他方法。如果您正在进行任何过程生成,那么除了使用Resources文件夹之外别无选择。

将文件移出Resource文件夹时,生成的项目较小的原因是,如果未使用这些文件,则生成会忽略这些文件。但是,当您将它们放在Resource文件夹中时,它们不会被忽略,因为代码可能会加载它们,因此您的构建会增加大小。

在Unity中,您通常不使用路径名来访问资产,而是通过声明成员变量来公开对资产的引用,并且然后将其分配给检查员。使用此技术时,Unity可以自动计算在构建玩家时使用的资产。这从根本上减少了玩家的规模你在内置游戏中实际使用的。在中放置资产时"资源"文件夹无法做到这一点,因此"资源"文件夹将包含在生成中。

Unity API资源信息