2011-06-12 35 views
1

我试图从0.02秒播放相当短的视频(0.05秒)。我使用以下代码:为iPhone使用AVPlayer,SeekToTime只为我重新启动视频

CMTime tolerance = CMTimeMake(0,1); 
CMTime replayBeginTime = CMTimeMake(1, 50); 

[player seekToTime: replayBeginTime toleranceBefore: tolerance toleranceAfter: tolerance]; 
[player play]; 

其中player是AVPlayer *。视频从开始到结束都能正常播放,然后我点击一个按钮可以回到大致中途点,并且应该从那里播放,但每次只是重新启动视频。

我不是100%确定我正确使用CMTimeMake。

任何帮助搞清楚我做错了什么将不胜感激。

+0

尝试kCMTimeZero也许?这是文档引用的内容。 – axiixc 2011-06-15 03:08:59

回答

6

您正在创建一个值为1/50 = 0.02的CMTime,因此您正在使用CMTimeMake。但我想也许你应该使用CMTimeMakeWithSeconds来代替。由于CMTimeMake只能取秒数的整数值,而CMTimeMakeWithSeconds可以取一个浮点数。 你应该这样使用它。

CMTime newTime = CMTimeMakeWithSeconds(0.2, 1); 
[player seekToTime:newTime]; 

祝你好运。

相关问题