Ios m3u8视频的AVURLAsset持续时间为0
我正在尝试获取m3u8格式的远程视频(通过http流传输)的持续时间。对于某些本地持续时间较长的视频,无法获取资源的持续时间。 我目前正在使用KVO捕获AVPlayerItem的.Ready状态,然后调用委托方法Ios m3u8视频的AVURLAsset持续时间为0,ios,swift,avfoundation,avurlasset,Ios,Swift,Avfoundation,Avurlasset,我正在尝试获取m3u8格式的远程视频(通过http流传输)的持续时间。对于某些本地持续时间较长的视频,无法获取资源的持续时间。 我目前正在使用KVO捕获AVPlayerItem的.Ready状态,然后调用委托方法 let asset = AVURLAsset(URL: url) let playerItem = AVPlayerItem(asset: asset!) let player = AVPlayer(playerItem: playerItem!) .... override fu
let asset = AVURLAsset(URL: url)
let playerItem = AVPlayerItem(asset: asset!)
let player = AVPlayer(playerItem: playerItem!)
....
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
if object as? AVPlayerItem == player?.currentItem {
if keyPath == "status" {
guard let status = player?.currentItem?.status
else { return }
delegate?.videoViewController(self, statusDidChange: status)
}
}
}
print(asset?.duration)
print(playerItem?.duration)
print(playerItem?.asset.duration)
print(playerItem?.tracks[0].assetTrack.asset?.duration)