2

我有一个使用 SDL2/SDL_mixer 和其他几个声音库的小项目。我已经尝试了一段时间来同步我的音频和视频,但未能成功实现它。这些东西都是新手,所以请原谅穷人的逻辑和编码。起初我想在每帧之后将延迟设置为 SDL_Delay(30),然后在该范围内设置一些其他数字。不太对。然后我尝试通过获取 Ticks 来做到这一点。如果滴答声之间的增量<=30,我会得到current_ticks和last_ticks之间的差异并设置延迟,并将延迟设置为30-delta。仍然不太正确(到目前为止)。希望这里有更多经验的人可以指导我朝着正确的方向前进。关于视频,它当然是一个可视化工具,似乎是一个受欢迎的初学者项目。

4

1 回答 1

4

同步音频和视频的基本方法是选择一个用作计时器源并根据该计时器呈现另一个。最简单的通常是音频,但由于它通常在前面缓冲,因此您需要一些方法来测量音频流中实际从扬声器中发出的时间。一旦你明白了,只需等待音频到达下一个视频帧的正确时间并显示它。

于 2013-12-03T03:28:31.567 回答