【发布时间】:2018-01-17 16:41:37
【问题描述】:
我有一个AVPlayer,它从远程 url 加载其内容。创建AVPlayer 时,它会显示视频的缩略图。我似乎找不到通知或属性的任何信息,我可以收听查看何时添加此缩略图,因为我想在添加缩略图之前显示加载屏幕并在之后将其删除。
class VideoView: UIView {
private var playerLayer: AVPlayerLayer {
return layer as! AVPlayerLayer
}
public var videoURL: URL? {
didSet {
guard videoURL != oldValue
else { return }
if let videoURL = videoURL {
avPlayer = AVPlayer(url: videoURL)
playerLayer.player = avPlayer
}
}
}
private var avPlayer: AVPlayer?
override public static var layerClass: AnyClass {
return AVPlayerLayer.self
}
}
我已经尝试观察玩家的currentItem.status 值何时为readyToPlay 但是在状态更改为readyToPlay 后添加缩略图
observer = currentItem.observe(\.status) { [weak self] (currentItem, change) in
if currentItem.status == .readyToPlay {
self?.overlay?.isHidden = false
}
}
谢谢
【问题讨论】:
标签: ios swift avfoundation avplayer