当前位置:网站首页>Unity 之 音频类型和编码格式介绍
Unity 之 音频类型和编码格式介绍
2022-07-31 17:26:00 【陈言必行】
Unity 之 音频类型和编码格式介绍
Inspector窗口显示多个导入设置。这些设置决定了:加载行为,压缩行为,质量,采样率,以及是否支持双声道音频。
一,加载音频文件
Unity可通过以下3中设置可以指定音频文件的加载方式:
- Preload Audio Data(预加载音频数据):开启则音频数据在场景初始化期间自动加载,禁用则键加载推迟到需要使用音频文件时。
- Load In Background (在后台加载):开启则在后台加载完成之前是阻塞主线程,关闭则是后台异步加载。
- Load Type(加载类型):通过加载类型近一步控制加载音频文件,后面会详细说。
二,Load Type:加载类型
Decompress On Load(加载时解压缩): 此设置压缩磁盘上的文件以节省空间,并在首次加载时将其解压到内存中。这是加载音频文件的标准方法,应该在大多数情况下使用。
解压文件需要一段时间,这会导致加载过程中的额外开销,但会减少播放音频文件时所需的工作量。
Compressed In Memory(内存中保持压缩状态):此设置在加载音频时只是将其从磁盘复制到内存中。只有在播放音频文件时,才会在运行期间对其进行解压缩。
这将在播放音频剪辑是牺牲运行时CPU,但在音频剪辑保持休眠状态是,提高了加速度,减少了运行时内存消耗。
因此,此选项最适合频繁使用的大型音频文件,或者在内存上晕倒难以置信的瓶颈,并且愿意牺牲一下CPU周期来播放音频剪辑
Streaming(流): 此设置将在运行时加载,加密和播放文件,具体做法是逐步将文件推过一个小缓冲区,在缓冲区中一次只存在整个文件的一小部分。
此方法对特定音频剪辑使用的内存量最小,但运行时CPU使用的内存量最大。由于文件的每个回放实例都需要自己的缓冲区,因此此设置有一个不幸的缺点,即多次引用音频剪辑,会导致内存中同一音频剪辑的多个副本必须单独处理,如果胡乱使用,会导致运行时CPU成文。因此此选项最后用于定期播放的单实例音频剪辑,这种音频剪辑不需要与自身的其他实例或甚至与其他流式音频剪辑重叠。例如,此设置最后与背景音乐和环境音效一起使用,这些音效需要在场景的大多数时间里播放。
小结: 默认情况下,弃用Preload Audio Data,禁用Load In Background以及使用Decompress On Load的加载类型会导致场景加载时间过长,但可以确保在需要时理解准备好场景中的每个音频剪辑。当需要音频剪辑时,不会有加载延迟,音频剪辑将在调用Play()时播放。缩短场景加载时间的一个很好的折中方法是,为以后才需要的音频剪辑弃用Load In Background,但这不应该用于场景初始化后不久就需要的音频剪辑。然后通过AudioClip.LoadAudioData() 和 AudioClip.UnloadAudioData()手动控制音频数据加载的时间。可以在一个场景中使用所有方法,已达到最佳性能。
三,编码格式与品质级别
Unity 支持3种音频剪辑编码格式,在Inspector面板汇总查看音频剪辑属性是,由Compression Format选项决定哪种格式:
Compressed :压缩算法取决于使用目标平台
- Vorbis:有损压缩。Ogg全称应该是OGG Vorbis是一种新的音频压缩格式,类似于MP3等现有的音乐格式。但有一点不同的是,它是完全免费、开放和没有专利限制的
- MP3:有损压缩。同样位速率(Bit Rate)编码的OGG与MP3相比听起来更好一些。MP3格式是受专利保护的。
- PCM:无损未压缩,提供接近模拟音频效果。它以更大的文件大小换取更高的音频质量,适用于极短且需要高清晰度是。
- ADPCM:有损压缩,此格式在大小和CPU消耗方面比PCM高效的多,但压缩会产生相当大的噪声。适用于爆炸,冲击声音,则可以忽略噪声。

边栏推荐
- INeuOS industrial Internet operating system, the equipment operational business and "low code" form development tools
- [TypeScript] OOP
- 牛客 HJ18 识别有效的IP地址和掩码并进行分类统计
- 联邦学习:联邦场景下的多源知识图谱嵌入
- 牛客 HJ16 购物单
- Taobao/Tmall get Taobao password real url API
- How to install CV2 smoothly in Anaconda
- Combinatorics Notes (6) Associative Algebra of Locally Finite Partially Ordered Sets, Möbius Inversion Formula
- ThreadLocal
- 20.支持向量机—数学原理知识
猜你喜欢

Intelligent bin (9) - vibration sensor (raspberries pie pico implementation)

动态规划(一)
![[pytorch] 1.7 pytorch and numpy, tensor and array conversion](/img/ca/b943ff8f59f08e9e23b1ba416c79a0.png)
[pytorch] 1.7 pytorch and numpy, tensor and array conversion

九齐ny3p系列语音芯片替代国产方案KT148A性价比更高420秒长度
![[TypeScript] OOP](/img/d7/b3175ab538906ac1b658a9f361ba44.png)
[TypeScript] OOP

flyway的快速入门教程

MySQL---子查询

AcWing 1282. 搜索关键词 题解((AC自动机)Trie+KMP)+bfs)

After Effects tutorial, How to adjust overexposed snapshots in After Effects?

联邦学习:联邦场景下的多源知识图谱嵌入
随机推荐
常用的安全渗透测试工具(渗透测试工具)
无主复制系统(3)-Quorum一致性的局限性
MySQL---多表查询
Go basic part study notes
基于WPF重复造轮子,写一款数据库文档管理工具(一)
几款永久免费内网穿透,好用且简单(内网穿透教程)
Introduction of Jerry voice chip ic toy chip ic_AD14NAD15N full series development
抖音根据关键词取视频列表 API
INeuOS industrial Internet operating system, the equipment operational business and "low code" form development tools
After Effects 教程,如何在 After Effects 中调整过度曝光的快照?
【愚公系列】2022年07月 Go教学课程 022-Go容器之字典
自动化测试—web自动化—selenium初识
MySQL---排序与分页
The server encountered an internal error that prevented it from fulfilling this request的一种解决办法[通俗易懂]
无主复制系统(1)-节点故障时写DB
保证接口数据安全的10种方式
牛客网刷题(一)
京东按关键字搜索商品 API
【源码解析】BeanFactory和FactoryBean
认识异常 (看完这篇你就懂了)