如何使用Swift在UIView(非全屏)中播放视频?

时间:2018-10-11 10:30:20

标签: ios swift video embed avplayer

因此,在Swift应用程序的UIView中播放视频时遇到很多麻烦。首先,这可能甚至不是正确的方法。我要实现的是在ViewController顶部的矩形内播放视频,例如,不能全屏播放。但是无论我尝试什么,只要按下播放按钮,它就会切换为全屏模式。我将如何去做呢?谢谢大家

这是我用来播放视频的代码

@IBAction func feedConnect(_ sender: Any) {
    let url = feedUrl.text
    writeToFile(fileName: "connections", stringToWrite: url!)
    let movieURL:NSURL? = NSURL(string: url!)

    if let url = movieURL {
        self.avPlayer = AVPlayer(url: url as URL)
        self.avPlayerViewController.player = self.avPlayer
        self.avPlayerViewController.entersFullScreenWhenPlaybackBegins = false

    }
    self.present(self.avPlayerViewController, animated: true, completion: {() -> Void in self.avPlayerViewController.player?.play()})

}

我想像这样在灰色矩形内播放视频:1

1 个答案:

答案 0 :(得分:0)

可以使用AVPlayerViewController而不是使用AVPlayerLayer。给它提供所需的框架,然后将其作为子层添加到视图层。

例如,这里有一个名为playerArea的UIView,它是您的灰色矩形:

let playerLayer = AVPlayerLayer(player: player) playerLayer.frame = playerArea.frame playerArea.layer.addSublayer(playerLayer)