美文网首页
17期_AVFoundation_CMTime

17期_AVFoundation_CMTime

作者: 萧修 | 来源:发表于2023-09-25 01:00 被阅读0次
    public struct CMTime {
        public var value: CMTimeValue
        public var timescale: CMTimeScale 
        public var flags: CMTimeFlags 
        public var epoch: CMTimeEpoch
    
        public init()
        public init(value: CMTimeValue, timescale: CMTimeScale, flags: CMTimeFlags, epoch: CMTimeEpoch)
    }
    

    CMTimeValue:64位有符号整型变量
    CMTimeScale:32位有符号整型变量

    CMTime定义了C语言的结构体,CMTime是以分数的形式表示时间,
    value表示分子,
    timescale表示分母。
    flags是位掩码,表示时间的指定状态。

    以32位或者64位存储,以防止计算时精度丢失。

    CMTime

    CMTime的创建

    • CMTimeMake
    // CMTimeMake(int64_t value, <#int32_t timescale#>)
    // value代表分子,timescale代表分母,tCMime
    
    //表示5秒可以有
    CMTime start = CMTimeMake(5, 1);
    CMTime start1 = CMTimeMake(3000, 600);
    CMTime end = CMTimeMake(5000, 1000);
    
    • CMTimeMakeWithSeconds
    CMTimeMakeWithSeconds(Float64 seconds, <#int32_t preferredTimescale#>)
    
    seconds:表示当前的时间,单位是s
    preferredTimescale:表示时间精度
    
    //表示当前时间是3秒,每秒帧率是600
    CMTime time1 = CMTimeMakeWithSeconds(3, 600);
    
    

    CMTimeRange

    创建CMTimeRange

    CMTimeRange
    
    CMTimeRangeMake(<#CMTime start#>, <#CMTime duration#>) 指定时间的开始和长度
    
    CMTimeRange tRange = CMTimeRangeMake(CMTimeMake(5, 1), CMTimeMake(5, 1))
    
    CMTimeRangeFromTimeToTime(CMTime start, <#CMTime end#>)
    CMTimeRange tRange0 =  CMTimeRangeFromTimeToTime(CMTimeMake(5000, 1000), CMTimeMake(10000, 1000));
    
    

    包含时间点和范围

    Boolean b = CMTimeRangeContainsTime(tRange0, CMTimeMake(8000, 1000));
    
    CMTimeRangeContainsTimeRange(<#CMTimeRange range#>, <#CMTimeRange otherRange#>)
    

    时间合集和交集

    //        交集
    //        CMTimeRangeGetIntersection(<#CMTimeRange range#>, <#CMTimeRange otherRange#>)
            
    //        合集
    //        CMTimeRangeGetUnion(<#CMTimeRange range#>, <#CMTimeRange otherRange#>)
    

    timescale

    表示每秒分割的“切片”数,CMTime整体精度受这个限制,如果timescale

    相关文章

      网友评论

          本文标题:17期_AVFoundation_CMTime

          本文链接:https://www.haomeiwen.com/subject/zhscvdtx.html