【发布时间】:2012-02-01 23:50:28
【问题描述】:
我想将包含时间码轨道的 QuickTime 电影定位到用户定义的 TC 位置。 我很清楚整个 timeScale,timeValue 的东西,但我不知道我错过了什么,希望你们能在这里给我一个提示!
我想给你一个固定值的例子,以便于解释:
影片具有 NTSC 帧速率,即 29.97 fps 且无丢帧。电影直接从00:59:58:00 开始。用户输入 TC 位置01:00:00:10,我想定位到那个确切的位置。
QTMovie 的唯一选择是 setCurrentTime(QTTime time) 函数,我知道时间必须是从电影开始的“单位”的绝对值。
所以,我需要先计算偏移量。为此,我需要先使用QTTimeFromString 函数将两个时间码转换为QTTime 结构。
这就是我的问题开始的地方!
QTTimeFromString 函数需要"days:hours:minutes:seconds.timeValue/timescale" 格式的字符串
我为 timeValue 使用哪个值?我读到了一些关于frames * 100 的内容,我自己想到了通过乘以帧值将帧值“映射”到 2997 时间刻度范围内。
两种方法都行不通...当我使用setCurrentTime 将QTTimeDecrement 计算的绝对值设置为剪辑时,我总是在我想去的其他地方...。
我不知道我做错了什么,我希望你们能帮助我!! 提前致谢
【问题讨论】: