CMTimeMake和CMTimeMakeWithSeconds 详解

CMTimeMake(a,b)    a当前第几帧, b每秒钟多少帧.当前播放时间a/b

CMTimeMakeWithSeconds(a,b)    a当前时间,b每秒钟多少帧.

CMTimeMake

CMTime CMTimeMake (

int64_t value,

int32_t timescale

);

CMTimeMake顾名思义就是用来建立CMTime用的,

但是它并不是用来表示一般时间用的,

CMTime是专门用来表示影片時间用的类别,

他的用法为: CMTimeMake(time, timeScale)

time指的就是时间(不是秒),

而时间要换算成秒就要看第二個参数timeScale了.

timeScale指的是1秒需要由几个frame构成(可以视为fps),

因此真正要表达的时间就会是 time / timeScale 才是秒.

简单举个例子

CMTimeMake(60, 30);

CMTimeMake(30, 15);

在这两个例子中影片的时间都是2秒钟,

但是影片播放速率则不同, 相差了有两倍.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容