首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在AVPlayer seekToTime中使用秒

在AVPlayer seekToTime中使用秒
EN

Stack Overflow用户
提问于 2014-03-26 23:44:48
回答 4查看 14.5K关注 0票数 13

这应该是一个简单的问题。我有一个播放视频文件的AVPlayer,我希望能够跳到特定的时间,但我在理解CMTime的工作原理时遇到了一些问题。

我需要以秒为单位指定时间。例如:如果我想跳到秒10.8,我想这样做:

代码语言:javascript
复制
[self.avPlayer.currentItem seekToTime:CMTimeMakeWithSeconds(10.8, 1];

但是我没有得到我想要的结果。

EN

回答 4

Stack Overflow用户

发布于 2014-03-28 04:59:37

http://warrenmoore.net/understanding-cmtime

可能会让你对CMTime有一个更清晰的了解。

如果你把行改成了...

代码语言:javascript
复制
[self.avPlayer.currentItem seekToTime:CMTimeMakeWithSeconds(10.8, 60000)];

你可能会得到更好的结果。60000是指一秒钟内有多少个项目。如果你用1作为这个值,那么你每秒只能跳到一个位置--把60000放在10秒和11秒之间,你就给了自己60000个位置。

票数 23
EN

Stack Overflow用户

发布于 2019-03-04 08:44:06

如果您需要寻找一个非常具体的时间,我建议您使用以下方法:

代码语言:javascript
复制
let myTime = CMTime(seconds: 10.8, preferredTimescale: 60000)    
player.seek(to: myTime, toleranceBefore: .zero, toleranceAfter: .zero)

文档:link。苹果公司建议使用它来提高精确度。

票数 7
EN

Stack Overflow用户

发布于 2017-06-21 00:36:25

Swift版本

代码语言:javascript
复制
avPlayer.seek(to:CMTimeMakeWithSeconds(10.8,1000))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22666190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档