Ответ 1
A CMTime
struct представляет собой период времени, который хранится как рациональное число (см. Справка CMTime). CMTime
имеет поле value
и a timescale
и представляет время value/timescale seconds
.
CMTimeMake
- это функция, которая возвращает структуру CMTime
, например:
CMTime t1 = CMTimeMake(1, 10); // 1/10 second = 0.1 second
CMTime t2 = CMTimeMake(2, 1); // 2 seconds
CMTime t3 = CMTimeMake(3, 4); // 3/4 second = 0.75 second
CMTime t4 = CMTimeMake(6, 8); // 6/8 second = 0.75 second
Последние два значения времени t3
и t4
представляют одно и то же значение времени, поэтому
CMTimeCompare(t3, t4) == 0
Если вы установите videoMinFrameDuration
для AVCaptureSession
, это не имеет значения, если вы установили
connection.videoMinFrameDuration = CMTimeMake(1, 20); // or
connection.videoMinFrameDuration = CMTimeMake(2, 40);
В обоих случаях минимальный интервал между кадрами устанавливается в 1/20 = 0,05 секунды.