博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS CMTimeMake 和 CMTimeMakeWithSeconds 学习
阅读量:5757 次
发布时间:2019-06-18

本文共 1007 字,大约阅读时间需要 3 分钟。

CMTime是专门用于标识电影时间的结构体,通常用如下两个函数来创建CMTime

(1)CMTimeMake

CMTime CMTimeMake (   int64_t value,    //表示 当前视频播放到的第几桢数   int32_t timescale //每秒的帧数);

value =  [slider value];

timescale = self.player.currentItem.asset.duration.timescale; 

 

(2) CMTimeMakeWithSeconds

CMTime CMTimeMakeWithSeconds(     Float64 seconds,          //第几秒的截图,是当前视频播放到的帧数的具体时间     int32_t preferredTimeScale //首选的时间尺度 "每秒的帧数"  ); 

float minValue = [slider minimumValue];

float maxValue = [slider maximumValue];

float value = [slider value];

seconds  = duration * (value - minValue) / (maxValue - minValue);

preferredTimeScale =  1 *NSEC_PER_SEC//如果只写 1 的话 有很大的误差,使用 纳秒 也是为了保证指定一个时间播放视频的精确度   timescale可能就是 1   preferredTimeScale的精确度就更高 1 *NSEC_PER_SEC 具体开发时候 要斟酌 精确度设置的问题 看需求 

 关键词解释:

NSEC:纳秒。

USEC:微妙。

SEC:秒

PER:每

所以:

1.NSEC_PER_SEC,每秒有多少纳秒。

2.USEC_PER_SEC,每秒有多少毫秒。(注意是指在纳秒的基础上)

3.NSEC_PER_USEC,每毫秒有多少纳秒。

1秒可以写成如下几种: 

  1 * NSEC_PER_SEC

  1000 * USEC_PER_SEC

  USEC_PER_SEC * NSEC_PER_USEC

 

 

转载于:https://www.cnblogs.com/someonelikeyou/p/5452396.html

你可能感兴趣的文章
vim在多文件中复制粘贴内容
查看>>
Android ContentObserver
查看>>
文章“关于架构优化和设计,架构师必须知道的事情”
查看>>
疯狂java学习笔记1002---非静态内部类
查看>>
ISA2006实战系列之一:实战ISA三种客户端部署方案(上)
查看>>
TCP服务器
查看>>
U-Mail邮件系统与泛微OA系统一体化操作指南
查看>>
AC旁挂三层交换机管理ap,二层接入ap心得
查看>>
JS中比较数字大小
查看>>
springcloud 学习-eureka搭建-为eureka添加认证
查看>>
jQuery插件的开发
查看>>
基础,基础,还是基础之JAVA基础
查看>>
如何成为一个C++高级程序员
查看>>
ant android 打包签名和渠道
查看>>
一个简单的接口,被调用并同步给出响应的方法
查看>>
Hadoop序列化与压缩
查看>>
我的友情链接
查看>>
显式锁(第十三章)
查看>>
SCCM的证书配置PKI
查看>>
看linux书籍做的一些重要笔记(2011.07.03更新)
查看>>