Я хочу расположить фильм QuickTime, содержащий дорожку временного кода, в заданную пользователем позицию TC.
Я хорошо осведомлен обо всем, что связано с TimeScale, timeValue, но я не знаю, чего мне не хватает, и надеюсь, что вы, ребята, можете подсказать мне здесь !!
Я хочу привести вам пример с фиксированными значениями, чтобы было легче объяснить:
Фильм имеет частоту кадров NTSC, которая составляет 29,97 кадров в секунду, и не поддерживается в кадре. Фильм начинается в 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 путем умножения значения кадра.
Ни один из способов не работает ... когда я устанавливаю абсолютное значение, рассчитанное с помощью QTTimeDecrement
, для клипа, используя setCurrentTime
Я всегда где-то еще, где я хочу быть ....
Я не знаю, что я делаю неправильно, и я надеюсь, что вы, ребята, можете мне помочь !!
Заранее спасибо