AVPlayerLayer 在 UIView 层中的位置

rec*_*rks 4 uiview http-live-streaming ios avplayerlayer swift

我正在使用 Swift 编写一个应用程序,以通过 HLS 查看监控摄像头。我有基本的设备列表工作,我能够转至实时视图并显示流,但是,我需要移动 AVPlayerLayer,但我无法弄清楚这一点。这是我当前的代码:

    let player = AVPlayer(URL: url!)
    let playerLayer = AVPlayerLayer(player: player)
    let view = UIView(frame: CGRectMake(0, 0, screenSize.width, screenSize.height))

    self.view.layer.borderWidth = 1
    self.view.layer.borderColor = UIColor(red:222/255.0, green:225/255.0, blue:227/255.0, alpha: 1.0).CGColor
    self.view.layer.addSublayer(playerLayer)

    playerLayer.frame = view.bounds
    player.play()
Run Code Online (Sandbox Code Playgroud)

我希望将 AVPlayerLayer 放置在顶部下方 50 点处,因为每个视图场景都有一个标题。

谢谢!

rec*_*rks 5

因此,碰巧您无法在视图中的特定位置放置子图层。这是解决方案:

    let player = AVPlayer(URL: url!)
    let playerController = AVPlayerViewController()
    playerController.player = player

    playerController.view.frame = CGRectMake(0, 50, screenSize.width, 240)
    self.view.addSubview(playerController.view)
    self.addChildViewController(playerController)

    player.play()
Run Code Online (Sandbox Code Playgroud)

我必须设置玩家的特定高度,然后是位置。