iOS CMTimeMake 和 CMTimeMakeWithSeconds 学习
CMTime是专门用于标识电影时间的结构体,通常用如下两个函数来创建CMTime
(1)CMTimeMake
1 2 3 4 | CMTime CMTimeMake ( int 64 _t value, //表示 当前视频播放到的第几桢数 int 32 _t timescale //每秒的帧数 ); |
value = [slider value];
timescale = self.player.currentItem.asset.duration.timescale;
(2) CMTimeMakeWithSeconds
1 2 3 | CMTime CMTimeMakeWithSeconds( Float 64 seconds, //第几秒的截图,是当前视频播放到的帧数的具体时间 int 32 _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
posted on 2016-05-02 15:07 ACM_Someone like you 阅读(4513) 评论(3) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体