Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

+1 vote
请问一下,Wwise在ios和安卓平台,理论上支持的最低播放延迟是多少ms呢,如何优化到最低延迟。谢谢
in General Discussion by 宏建 (140 points)

1 Answer

0 votes
 
Best answer

Hi 钟老师,

您好,

对于您的问题,

您可参看下面的文档《控制Android上的延迟》:

https://www.audiokinetic.com/zh/library/edge/?source=SDK&id=pg_android_fastpath.html

影响延迟时间的参数有以下三个:

我们可以假设,项目采用以下设置:

uSampleRate = 48000Hz;

uNumSamplesPerFrame = 128(非常低,CPU会一直比较繁忙);

uNumRefillsInVoice = 2 (非常小,在大部分游戏中需要至少设置成3,通常为4,这样能为CPU占用变化留出余量,以免出现噪音)

根据延迟时间计算公式 (uNumSamplesPerFrame*uNumRefillsInVoice) / uSampleRate 可知

该设置下的理论延迟时间为(128*2)/48000=5.3ms,

若uNumSamplesPerFrame = 256,

或不改变uNumSamplesPerFrame的情况下增加缓冲区数量至4,

理论延迟时间也仅约为10.6ms。

由此您可知,

若所使用设备的性能允许,

使用Wwise是可以获得极低的延迟时间的。

 

需要注意的例外情况:

蓝牙设备不支持低延迟,

也不支持使用快速路径。

实际上,

为了在蓝牙设备上拥有无故障的音频,

缓冲必须更高,

每一帧也必须更大。

Wwise将会检测蓝牙耳机的占用,

并且会自动重置音频硬件来得到长度为8192个采样点的延迟,

大约180ms。

 

希望以上回答对您有所帮助

by Hou Chenzhong (Audiokinetic) (6.0k points)
...