如何保存AVPlayer的最后播放位置

时间:2013-05-27 07:36:30

标签: xcode avplayer

我想保存我在AVPlayer中播放的视频的最后位置。因此,当我关闭应用程序并且我想再次观看视频时,它不应该从头开始。该应用程序是否有可能记住该职位?

非常感谢!

更新

我正在为iOS 6.1.3开发

1 个答案:

答案 0 :(得分:2)

您可以使用AVPlayer's currentTime属性。它返回当前AVPlayerItem的播放时间。

要在下一个会话中恢复播放时间,您可以将存储的时间传递到AVPlayer's seekToTime:

[self.player seekToTime:storedPlaybackTime];

AVPlayer currentTime docs
AVPlayer seekToTime docs

<强>更新
要保留currentTime返回的CMTime,您可以使用AVFoundation convenience methods provided by NSValue

要将CMTime包裹在NSValue中,请使用valueWithCMTime:

[NSValue valueWithCMTime:player.currentTime];

要从持久值获取CMTime结构,请使用:

CMTime persistedTime = [storeValue CMTimeValue];

CMTime实例中包装NSValue结构后,您可以使用keyed archiver&amp; NSData将时间写入磁盘。

NSHipster有一篇关于该主题的好文章:http://nshipster.com/nscoding/