Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

同步游戏音频及音乐

前言

在任何应用程序或游戏中, 声音和音乐播放都会有轻微的延迟. 对于游戏, 这种延迟往往小到可以忽略不计. 在调用任意play()函数后, 声音效果将在几毫秒后出现. 对于音乐来说这并不重要, 因为在大多数游戏中它不会产生互动.

不过, 对于一些游戏(主要是节奏游戏), 可能会需要让玩家的操作与歌曲中发生的事情同步(通常与BPM同步). 因此, 得到一个具体播放位置的更精确的定时信息就很有用了.

极其精准地定位播放时间是非常困难的. 因为在音频回放过程中有很多因素在起作用:

  • 音频以块(不连续)的形式混合在一起, 具体取决于所使用的音频缓冲区的大小(在项目设置中检查延迟).

  • 混合的音频块不会立即播放.

  • 图形应用程序接口延迟显示两到三帧.

  • 当在电视上播放时, 由于图像处理可能会增加一