CMTime结构体表示存储为有理数的时间长度(参见CMTime参考)。CMTime有一个value和一个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
如果您设置videoMinFrameDurationa AVCaptureSessionis 并没有什么不同,如果您设置
connection.videoMinFrameDuration = CMTimeMake(1, 20); // or
connection.videoMinFrameDuration = CMTimeMake(2, 40);
在这两种情况下,帧之间的最小时间间隔都设置为 1/20 = 0.05 秒。