「URLから動画の取得が終了したら」という条件つきで実行したい処理
「URLから動画の取得が終了したら」という条件つきで実行したい処理があります。
(動画の取得中には実行したくない)
このような処理を実装する場合に、どのような方法が考えられますか。
以下のように非同期処理で実現しようとしたところ、クラッシュしました。
DispatchQueue.global().sync {
let url = URL(string: "http://movie.mov")
let player = AVPlayer(url: url!)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
let playerLayer = AVPlayerLayer(player: videoPlayer)
self.view.layer.addSublayer(playerLayer)
player.play()
DispatchQueue.main.sync {
//ここで処理を実行したい
}
}