私は Swift と iOS の開発に非常に慣れていないため、私の無知をお許しください。
ビデオの再生が終了したら、AVPlayer を自動的に閉じようとしています。「playerDidFinishPlaying」リスナーをアタッチして通知を受け取ることを考えましたが、一度取得すると、コントローラーを閉じるメソッド/イベントが見つかりません。「完了」ボタンをクリックするアクションを模倣しようとしています。
コードの小さなスニペットを次に示します。うまくいけば、これで十分な情報です。そうでない場合は、さらに情報を提供できます
let destination = segue.destinationViewController as! AVPlayerViewController
let url = NSURL(string: "video url")
destination.player = AVPlayer(URL: url!)
destination.player?.play()
以下の通知を追加しましたが、これもまた、通知が届いたらどうすればよいかわかりません...
NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerDidFinishPlaying:",
name: AVPlayerItemDidPlayToEndTimeNotification,
object: destination.player!.currentItem)
func playerDidFinishPlaying(note:NSNotification){
print("finished")
// close window/controller
}
最後に、オブザーバーを削除する必要があることはわかっていますが、いつ、どこで削除すればよいかわかりません。どんな助けでも大歓迎です。