【问题标题】:AVPlayerLayer Position in UIView LayerAVPlayerLayer 在 UIView 层中的位置
【发布时间】:2016-08-31 21:55:08
【问题描述】:

我正在使用 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()

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

谢谢!

【问题讨论】:

    标签: ios swift uiview http-live-streaming avplayerlayer


    【解决方案1】:

    所以碰巧您不能将子层放置在视图中的特定位置。这是解决方案:

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

    我必须设置播放器的特定高度,然后设置位置。

    【讨论】:

      【解决方案2】:

      我没有看到您在哪里将 PlayerLayer 与 View 关联和/或将其作为子视图/图层添加到任何东西?您需要将其添加为子图层。

      let player = AVPlayer(URL: url!)
      let playerLayer = AVPlayerLayer(player: player)
      playerLayer.frame = CGRectMake(0,50,screenSize.width, screenSize.height)
      self.view.layer.addSublayer(playerLayer)
      player.play()
      

      按照您在问题中建议的方式,我将 Y 位置移动了 50。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多