Wwise SDK 2024.1.1
|
在特定情况下,游戏引擎需要有关声音当前播放位置的信息。例如,支持同步渲染视频和音频内容的游戏必须查询声音的播放位置才能正确地渲染游戏画面。如果必须逐帧查询(例如对口型和对白同步),那么播放位置查询比标记(marker)要更适合。播放位置查询的另一大优势是无需编辑源文件。AK::SoundEngine::GetSourcePlayPosition() 返回事件的第一次声音播放所使用的时间。
备注: 标记适用于表明"声音文件"中发生的事件,而非"声音播放"时的小步渐进。 |
为了能够查询源的播放位置,您必须把 AK_EnableGetSourcePlayPosition 标志传递到 AK::SoundEngine::PostEvent() 方法。这告诉声音引擎应特别考虑与此事件相关联的源,因为可能会随时为此 AkPlayingID 调用 AK::SoundEngine::GetSourcePlayPosition()。
然后您可以通过传递在调用 AK::SoundEngine::PostEvent() 中所获得的 AkPlayingID 来调用 AK::SoundEngine::GetSourcePlayPosition() 方法,从而获取正在播放的源的当前播放位置。
下段代码用于说明 AK::SoundEngine::GetSourcePlayPosition() 方法的用法: