我想保存我在AVPlayer
中播放的视频的最后位置。因此,当我关闭应用程序并且我想再次观看视频时,它不应该从头开始。该应用程序是否有可能记住该职位?
非常感谢!
更新
我正在为iOS 6.1.3开发
答案 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/