Я использую QTMovie с QTMovieOpenForPlaybackAttribute:YES
и использую QTMovieView для его отображения. Мне нужно рассчитать частоту кадров, которую он достигает.
Один из способов, которым я могу это сделать, - это иметь обратный вызов, который вызывается каждый раз, когда кадр собирается отобразиться или готов к отображению - кто-нибудь знаком с таким обратным вызовом?
Другой способ - иметь таймер, который использует -currentFrameImage и сравнивает его с последним протестированным изображением кадра - однако, во-первых, я не знаю, как вы будете сравнивать два NSImages, а во-вторых, я бы предположил, что это будет проблематично, если бы два последовательные кадры были одинаковыми, это фактически предполагало, что кадр был отброшен, когда он не был
Последний способ, о котором я могу думать, - это снова использовать таймер, на этот раз для вызова -currentTime. Я пробовал это, однако по какой-то причине timeScale установлен на 1000000000. I прочитайте, что шкала времени должна быть 100 * fps, так почему currentTime возвращает, что FPS составляет 10000000? Это кажется совершенно неверным. В возвращаемом QTTime нет установленных флагов.
Я повсюду искал информацию об этом - любые поиски, связанные с частотой кадров, приводят меня только к тому, как установить частоту кадров при захвате, а это не то, что я ищу.