使用AVPlayer for iPhone,SeekToTime只为我重新启动视频

时间:2011-06-12 23:36:39

标签: iphone ios ios4 video avplayer

我试图从0.02秒开始播放相当短的视频(0.05秒)。我使用下面的代码:

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

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

玩家是AVPlayer *。视频从开始到结束都很好,然后我点击一个按钮返回到大约中间点,它应该从那里播放,但每次它只是重新启动视频。

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

任何帮助弄清楚我做错了什么都会非常感激。

1 个答案:

答案 0 :(得分:6)

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

CMTime newTime = CMTimeMakeWithSeconds(0.2, 1);
[player seekToTime:newTime];
祝你好运。