10

ボタンを押すとムービーが再生されるシンプルな iPad アプリを作成しています。映画が再生され、映画が終了したら、AVPlayerView を閉じてメイン画面に戻りたいと思います。現在、ビデオが終了すると、最後のフレームにとどまります。現時点で私のViewController.Swift。

import UIKit
import AVKit
import AVFoundation

class ViewController: UIViewController {
//MARK : Properties 

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}
//MARK: Actions

@IBAction func playButton(_ sender: AnyObject) {

    let movieURL = Bundle.main.url(forResource: "ElephantSeals", withExtension: "mov")!
    let player = AVPlayer(url: movieURL as URL)

    let playerViewController = AVPlayerViewController()

    playerViewController.player = player

    self.present(playerViewController, animated: true) {
        playerViewController.player!.play()
        }
//    player.actionAtItemEnd = playerViewController.dismiss(animated: true)
}
}

ご覧のとおり、actionAtItemEnd に何かあるのではないかと思いますが、それを実装する方法がわかりません。ありがとうございました。

4

5 に答える 5

0

AVPlayerViewControllerDelegate を呼び出します。

viewDidLoad でデリゲートを初期化し、このメソッドを実装します

func playerViewControllerDidStopPictureInPicture(AVPlayerViewController) {
      AVPlayerViewController.dismiss(animated: true)
}

https://developer.apple.com/reference/avkit/avplayerviewcontrollerdelegate

于 2016-10-18T04:26:41.093 に答える