背景
拿到一个视频的 url 地址(无论是远程还是本地),有时候在播放之前需要检测该视频是否可以播放(本地可能是文件损坏,远端地址情况更复杂),下面介绍两种适用不同情况的方法来实现。
常用的异步方法
import UIKit
import AVFoundation
class ViewController: UIViewController {
var avplayer: AVPlayer!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "http://gslb.miaopai.com/stream/24fONfescp-SRz61DjJz62WO1LLIwjIQXHthNg__.mp4")!
avplayer = AVPlayer(url: url)
avplayer.addObserver(self, forKeyPath: "status", options: .new, context: nil)
}
override func observeValue(forKeyPath keyPath: String?, of object: An