%(6%+./()
5(*
%(62)
5
%(>6,(./(./( )
技术提示:你可能已经注意到我们使用 A 来表示 。这是因为 是以
整 型 来 保 存 的 。 这 个 值 是 一 个 时 间 戳 相 当 于 时 间 的 度 量 , 用 来 以 流 的
( 为单位进行时间度量。例如,如果一个流是 帧每秒,值为
的 表示这一帧应该排在第 个帧的位置如果我们每秒有 帧(这里并不
完全正确)。
我们可以通过除以帧率来把这个值转化为秒。流中的 ( 值表示 3
(对于固定帧率来说),所以得到了以秒为单位的 ,我们需要乘
以 (。
写代码:使用 来同步
现在我们得到了 。我们要注意前面讨论到的两个同步问题。我们将定义一
个函数叫做 (C78,它可以更新同步的 。这个函数也能最终
处理我们得不到 的情况。同时我们要知道下一帧的时间以便于正确设置刷
新速率。我们可以使用内部的反映当前视频已经播放时间的时钟 +
来完成这个功能。我们把这些值添加到大结构体中。
C%('"*