CMTime-基础使用

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

你可能感兴趣的:(CMTime-基础使用)