您可以决定从内存播放哪些音乐,以及从 DVD、CD 或硬盘流播放哪些音乐。当从磁盘或硬盘流播放音乐时,还可以结合使用以下选项,来避免出现播放延迟和同步问题。
Look-ahead time -- 预读时间。保留特定时间量,使声音引擎能够查找流播放数据。此时间确定该轨的延迟。
Prefetch -- 预取。创建较小的音频缓冲区来预先播放音频文件的开头,同时读取文件的剩余部分,以补偿直接缓冲播放整个文件会造成的延迟。
您可以指定预读时间量和预取量的大小,以满足不同媒体源(如硬盘、CD 和 DVD)的要求。预取过小将导致延迟,过大则会占用过多内存。预读时间过小将导致段落内的音乐不能严格同步,而预读时间过大将导致整体播放延迟。您需要对预读大小和预读时间进行试验,以在音乐片段的整体延迟和同步之间找到平衡。
预读时间和预取设置可以结合使用,以保证在游戏中使用流播放音乐时,降低不同步和 voice starvation 的几率。例如,当一段音乐的同步点不在段落的开始处,或者没有使用段落的 Pre-entry (前导段)部分,那么加载至内存中的预取数据就无法使用,因此 Wwise 将使用预读时间。
注意 | |
---|---|
在 Wwise 设计工具内部播放声音时,总是使用流播放,无论是否选择了流播放选项。因此,游戏中不会进行流播放的音乐对象在 Wwise 中预览时仍将使用流播放。为避免在 Wwise 中播放这些音乐对象时音乐轨不同步和 voice starvation ,您可能需要定义内部播放预读时间。 有关设置内部播放预读时间的详细信息,请参阅 设置音乐轨预读时间。 |
流播放音乐轨的方法如下:
双击音乐轨,将其加载至属性编辑器中。
选择 Stream 选项。
流播放设置将变为可用。
在预读时间文本框内,输入要预留的毫秒数,来允许声音引擎查找流播放数据。该时间定义了音轨的延迟量,因此如果您将其设置为 100 毫秒,则会在按下 Play 按钮 100 毫秒后才听到音乐。
注意 | |
---|---|
如果段落中包含多个具有不同预读时间的音轨,则 Wwise 寻找数据时将使用这些音轨中的最长预读时间。 |
要实现从触发音乐到实际播放之间没有延迟,可以选择 Zero Latency 选项。
要达到零延迟,必须将声音开头的特定部分存储在内存中,同时不断读取文件的剩余部分,以补偿直接缓冲播放整个文件会造成的延迟。在 Prefetch length 文本框中,输入要存储在内存中的音乐的毫秒数。
注意 | |
---|---|
预取设置是基于各条音轨的,因此如果音轨中包含多个音乐源,则各个音乐源的开头部分都将加载至内存中。 |