首页 文章

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

提问于
浏览
1

我想从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 回答

  • 6

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

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

    祝好运 .

相关问题