【问题标题】:add AVPlayerViewController view to external window将 AVPlayerViewController 视图添加到外部窗口
【发布时间】:2017-10-09 18:39:20
【问题描述】:

我想以编程方式将 AVPlayerViewController 视图从 iPad 添加到外部窗口。问题是添加时,播放器视图显示“此视频正在电视上播放”

示例代码:

let player = AVPlayer(url: someUrl)
//these two properties seem to have no effect
//player.usesExternalPlaybackWhileExternalScreenIsActive = true/false
//player.allowsExternalPlayback = true/false
let viewController = AVPlayerViewController()
viewController.player = player
viewController.view.frame = frame
externalWindow.addSubview(viewController.view)
player.play()

有没有办法自己将视频视图添加到外部窗口,以便我决定大小?

【问题讨论】:

    标签: ios swift avplayer avplayerviewcontroller


    【解决方案1】:

    如果你想控制 AVPlayerViewController 的大小,你可以使用 layer 或者你可以将它添加为 childViewController

    使用图层

    let videoURL = URL(url to your file)
    let player = AVPlayer(url: videoURL!)
    let playerLayer = AVPlayerLayer(player: player)
    playerLayer.frame = self.view.bounds
    self.view.layer.addSublayer(playerLayer)
    player.play()
    

    在上面的代码中,框架可以根据需要进行调整。

    使用 ChildViewController:

    let videoURL = URL(fileURLWithPath: videoPath)
    let player = AVPlayer(url: videoURL)
    let playerViewController = AVPlayerViewController()
    playerViewController.view.frame = CGRect(give the appropriate size)
    playerViewController.player = player  
    
    self.addChildViewController(playerViewController)
    self.view.addSubview(playerViewController.view)
    playerViewController.didMove(toParentViewController: self)
    

    让我知道这是否有帮助!或需要其他任何东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多