首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AvPlayer seekToTime问题

AvPlayer seekToTime问题
EN

Stack Overflow用户
提问于 2014-08-13 20:49:44
回答 2查看 1.6K关注 0票数 3

我正在开发视频应用程序,并在AVPlayer上播放视频。但问题是,当我在UISlider的帮助下寻找特定时间的视频时。播放器seekToTime方法以integer格式获取时间值,但我希望它以float格式获取。请帮帮忙这里是我的代码

代码语言:javascript
复制
Float32 sliderValue = (float) avPlayerSlider.value;
[mPlayer seekToTime:CMTimeMake(sliderValue, 1) toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];
EN

回答 2

Stack Overflow用户

发布于 2014-08-13 20:57:15

您可以设置适当的时间刻度。

代码语言:javascript
复制
CMTimeMake(12345, 10000); //This is 1.2345 seconds 

或者使用定义的时间尺度

代码语言:javascript
复制
#define NSEC_PER_USEC   1000ull     /* nanoseconds per microsecond */
#define USEC_PER_SEC    1000000ull  /* microseconds per second */
#define NSEC_PER_SEC    1000000000ull   /* nanoseconds per second */
#define NSEC_PER_MSEC   1000000ull  /* nanoseconds per millisecond */

在我的播放器应用中,我使用了这样的对话:

代码语言:javascript
复制
CMTime thumbTime = CMTimeMakeWithSeconds(self.currentPlaybackTime, NSEC_PER_SEC);
票数 3
EN

Stack Overflow用户

发布于 2016-05-19 17:18:57

我也被这个问题所困扰,修复它和下面的代码:

代码语言:javascript
复制
[_playerItem cancelPendingSeeks];
[_player seekToTime:CMTimeMakeWithSeconds(leftPosition, NSEC_PER_SEC) toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];

leftPosition(CGFloat)是资产的时间,单位是秒。

我希望能对你有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25286678

复制
相关文章

相似问题

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