如何使用playerViewController在swift中进行视频循环?

时间:2017-08-07 18:01:12

标签: swift xcode video tvos avplayerviewcontroller

我正在尝试使用Swift上的playerViewController为TVOS循环播放视频。我让视频播放得很好,但我想循环播放视频。到目前为止,这是我的代码:

override func viewDidAppear(_ animated: Bool) {
    let videoURL = URL(string: "https://url-to-video.com/video.mp4")
    let player = AVPlayer(url: videoURL!)
    let playerViewController = AVPlayerViewController()
    playerViewController.player = player        self.present(playerViewController, animated: true) {
        playerViewController.player!.play()
    }
}

感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:4)

最快的方法是使用带有AVPlayerLooper的AVQueuePlayer。您可以将播放器视图控制器上的播放器设置为与普通AVPlayer相同,但是您需要在looper周围保留一个持久性引用,以便它继续工作。换句话说,将其添加到视图控制器的界面:

var looper: AVPlayerLooper?

...并在您的viewDidAppear中,将其替换为:

let player = AVPlayer(url: videoURL!)

用这个:

let player = AVQueuePlayer()
looper = AVPlayerLooper(player: player, templateItem: AVPlayerItem(asset: AVAsset(url: videoURL!)))

然后,一旦你开始播放播放器,它的视频将无限循环。