【问题标题】:How can I make my video loop in swift with playerViewController?如何使用 playerViewController 快速制作视频循环?
【发布时间】:2017-08-07 18:01:12
【问题描述】:

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

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()
    }
}

感谢任何帮助。谢谢

【问题讨论】:

    标签: swift xcode video tvos avplayerviewcontroller


    【解决方案1】:

    最快的方法是使用带有 AVPlayerLooper 的 AVQueuePlayer。您可以像使用普通 AVPlayer 一样在播放器视图控制器上设置播放器,但您需要保持对循环器的持久引用,以便它继续工作。换句话说,将其添加到视图控制器的界面中:

    var looper: AVPlayerLooper?
    

    …在你的viewDidAppear 中,替换这个:

    let player = AVPlayer(url: videoURL!)
    

    用这个:

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

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

    【讨论】:

    • 非常感谢。这完美地工作并且流畅地循环视频:)
    • 我们也可以在这里使用AVPlayerItem(url:)而不是AVPlayerItem(asset:)
    猜你喜欢
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2018-07-09
    相关资源
    最近更新 更多