ios - 如何在 UIView swift 中播放视频?

标签 ios swift avplayer

我有一个视频,我想从服务器下载并以固定 View 流式传输。 我在 Storyboard中设置了一个具有固定约束的 UIView,这是我在代码中所做的:

@IBOutlet weak var videoView: UIView!
var player: AVPlayer!
var avpController = AVPlayerViewController()

在我的 viewDidLoad 中我做了这个:

let url = URL(string:myURL)
player = AVPlayer(url: url!)

avpController.player = player
avpController.videoGravity = AVLayerVideoGravity.resizeAspect.rawValue
self.addChildViewController(avpController)
avpController.view.frame = videoView.frame
self.containerView.addSubview(avpController.view)
videoView.layer.masksToBounds = true

我的问题是我的视频不符合我为 videoView 设置的大小,而且在每台设备上我的视频大小都不一样。在某些设备中,视频高度大于我设置的高度,它覆盖了我在 videoView 下方的项目。如何以正确的方式在 View 中播放视频?

最佳答案

如果要使用 AVPlayerViewController:

let videoURL = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
let player = AVPlayer(url: videoURL!)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
self.present(playerViewController, animated: true) {
    playerViewController.player!.play()
}

对于 AVPlayer:

let videoURL = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
let player = AVPlayer(url: videoURL!)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer)
player.play()

关于ios - 如何在 UIView swift 中播放视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50653779/

相关文章:

ios - 相互交换 Sprite 位置

ios - XCode 5.1 预处理器宏不工作

ios - 如何使用 swift 在 iOS 应用程序中生成 QR 图像

ios - Azure 媒体服务 Fairplay DRM AVPlayer 快速实现

iphone - iOS AVPlayer 流媒体音乐问题

ios - 在 swift 中禁用特殊方法的自动旋转?

ios - 我是否需要 iOS 设备来测试 PhoneGap Built 应用程序?

ios - 如何从我的 Swift 应用程序请求 Facebook publish_actions 权限?

swift - 滚动时禁用隐藏搜索栏

ios - AVPlayer 设置 fps