Answers:
手动执行此操作的方法是使用AudioClip.GetData获取数组中的样本数据。然后遍历数据并找到均方根,以找到音频剪辑的“响度”。
然后,您还可以缩放整个数组,使最大值为1.0f,然后使用AudioClip.SetData将其写回到audioclip 。这称为归一化音频,它使样本具有最大音量的最大音量。请注意,这没有考虑到音频片段的音量很低但峰值很高。有更高级的技术(在下面指出)。
默认情况下,Unity也会自动进行标准化。因此,如果您未触摸导入设置,则此操作会自动完成,您无需担心。如果即使确定音频已标准化也仍然存在问题,则可能需要使用动态范围压缩来压缩音频(注意:与数据压缩完全不同,与文件大小或内存使用无关)借助外部软件满足您的需求。