1.CMTime结构体
typedef struct
{
CMTimeValue value;
CMTimeScale timescale;
CMTimeFlags flags;
CMTimeEpoch epoch;
} CMTime
value/timescale = seconds计算出代表的时间(秒)
value代表分子
timescale代表分母
flags代表状态(通过位掩码实现)
epoch 暂不清楚
2.CMTime意义
从结构体中,我们看到CMTime主要是表达数字使用。
在OC中可以用NSInteger,CGFloat,double等使用。
其实double精度最大可以使用8为字节。
但是在一些视频,音频等文件时间节点经常会累加计算,如果精度低,播放几个小时的视频,最后的累加偏差会很大。
CMTime通过value,timescale每个有8个字节,实现双精度。
总结:
完整版本请看
https://xiaozhuanlan.com/topic/0372591684