2014-10-06 138 views
0

我已经创建了AVPlayer并将forwardPlaybackEndTime设置为使本地视频在给定时间戳停止。果然,视频在我请求的时候停止。都好。在forwardPlaybackEndTime后恢复AVPlayer

现在我希望视频在用户操作触发时继续(例如,触摸按钮)。不幸的是,如果没有从一开始就重新开始视频,我似乎无法做到这一点。

饶你所有的AVPlayer设置代码(其中大部分是从AV Foundation Programming Guide拍摄),但考虑到这些变量:

AVPlayer *avPlayer; 
AVPlayerItem *playerItem; 

我可以像设置结束时间,以便:

[playerItem setForwardPlaybackEndTime: CMTimeMake(30, 30)]; 

要尝试的简历,我已经试过这样:

[playerItem setForwardPlaybackEndTime: CMTimeMake(30, 30)]; 
[avPlayer setRate: 1.0]; 

没有骰子。我也尝试设置结束时间并致电play。没有运气。我试过seekToTime将播放头放在视频停止的地方,以防有所帮助。它没有。

有人可以请解释如何使这项工作?谢谢!

回答

1

尝试将forwardPlaybackEndTime恢复为默认值kCMTimeInvalid然后继续播放视频。

[playerItem setForwardPlaybackEndTime: kCMTimeInvalid]; 
[playerItem seekToTime: CMTimeMake(30, 30) toleranceBefore: kCMTimeZero toleranceAfter: kCMTimeZero]; 
[avPlayer play]; 
+0

不起作用。这也将视频重新开始,然后运行到最后。 – Axeva 2014-10-06 21:57:17

+0

上面的编辑版本如何?寻找你离开的点,然后继续。 – picciano 2014-10-06 22:02:07

+0

仍然没有好处。视频总是从头开始重新开始。 – Axeva 2014-10-06 22:05:41