-1

好吧,我尝试在设备内存中记住 AVPlayer 中的 currentTime(),以便在应用重启后继续播放视频。

我正在制作用于从我的 Raspberry PI 观看电影的应用程序。有任何想法吗?

4

1 回答 1

2

这是 UserDefaults 的扩展,可让您保存和恢复CMTime值:

import CoreMedia

extension UserDefaults {
    func cmtime(forKey key: String) -> CMTime? {
        if let timescale = object(forKey: key + ".timescale") as? NSNumber {
            let seconds = double(forKey: key + ".seconds")
            return CMTime(seconds: seconds, preferredTimescale: timescale.int32Value)
        } else {
            return nil
        }
    }

    func set(_ cmtime: CMTime, forKey key: String) {
        let seconds = cmtime.seconds
        let timescale = cmtime.timescale

        set(seconds, forKey: key + ".seconds")
        set(NSNumber(value: timescale), forKey: key + ".timescale")
    }
}
于 2019-01-05T23:09:05.503 回答