内存播放与流播放

2019-12-03 12:28

ADX2 / ADX2LE 可以从以下方法中选择声音数据的播放方法.


内存播放

流播放

零延时流播放

这里会解说其各自的特征.

AtomCraft里可以通过素材的Streaming类型里来设置. 



内存播放


将波形数据整个放到内存上进行播放的方式.

播放时不需要进行数据的读取, 但是需要提前将声音数据加载到内存里.

常驻于内存的数据为压缩后的, 因此对内存的占用可能不会太大.

一般适用于需要频繁播放的短时间的效果音上面.

在AtomCraft的素材设置里指定了之后, 波形文件将会build到ACB文件里.


流播放


一点一点的读取文件进行播放的方式.

波形数据不需要常驻于内存里因此可以节约内存.

因为需要进行文件的读取, 播放时会产生一点延迟.

并且同时能够播放的数量受到机型的性能的影响, 一般推荐最多只能同时播放8个流播放声音.

一般适用于BGM, 环境声, 以及较长的角色台词.

在AtomCraft的素材设置里指定了之后, 波形文件将会build到AWB文件里.


零延时流播放


混合内存播放和流播放的播放方式. 是比较最近追加的新功能.

波形的开头部分使用内存播放, 其后续使用流播放. 

适用于波形太长想使用流播放, 但是又不想要播放延迟的时候.

波形的开头部分包含在ACB, 后续部分包含在AWB文件里.

开头部分的长度可以在TargetConfig里面设置. 



最后


通过使用合适的播放方式, 可以达到减少读取时间, 减少内存使用等目的.