1.CMTime结构体
代码语言:javascript复制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