确定同时播放的流数量

流播放声音是避免发生中断,边读取边持续播放声音片段。
因此,为避免声音中断,必须有一定程度的读取缓冲区。
与同时播放的流数量少的情况相比,如果同时播放的流数量多时则需要更多的缓冲区容量。

ADX对音频数据流的缓冲区管理由D-BAS模块执行。
系统初始化后,开始第一次流播放之前必须创建D-BAS,创建时设置同时播放的最大流数量等信息。
另外,为了执行流播放,除缓冲区外还必须有用于访问文件的加载器模块。
支持流播放的Voice必须各自有一个加载器。在文件系统初始化时,设置文件系统管理的加载器数量。
在设置加载器数量时,请考虑同时播放的最大流数量、支持流播放的Voice数、声音以外的打开的文件数等。

craftv2_tips_program_decide_maxstream00.png

在ADX的系统中,流播放的读取优先级比数据读取的高。
因此,即使流播放期间在后台读取数据,流播放也不会中断。

消除播放开始前的延迟

通过使用Prepare播放,可以消除流播放开始时受到因读取数据导致的播放延迟。
通常在流播放中,在完成可以开始播放部分的数据读取之前,延迟实际的播放处理。
如果是这样,在发声时机尤其重要的主题中将成为问题。
Prepare播放是用于设置暂停状态,轻松执行播放开始准备的功能,通过在准备完成后解除Prepare,可以在任意时机无延迟地开始播放。

craftv2_tips_program_decide_maxstream01.png