在登录页面上以全屏播放视频

时间:2017-10-18 12:09:09

标签: ios swift

我想在swift 3.0的登录界面上播放背景视频。但是当我运行程序时,视频无法全屏运行。它正在发挥作用我该如何解决这个问题?这是故事板图片。

enter image description here

enter code here
import UIKit
import AVFoundation

class ViewController: UIViewController {

var Player: AVPlayer!
var PlayerLayer: AVPlayerLayer! 


var frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.


    let URL:NSURL = NSURL(string: "https://firebasestorage.googleapis.com/v0/b/pattyapp-34c16.appspot.com/o/dog1.mp4?alt=media&token=98ab3c41-c645-4535-a70b-41511b5df602")!


    Player = AVPlayer.init(url: URL as URL)


    PlayerLayer = AVPlayerLayer(player: Player)
    PlayerLayer.videoGravity = AVLayerVideoGravityResizeAspect
    PlayerLayer.frame.size = frame.size


    Player.actionAtItemEnd = AVPlayerActionAtItemEnd.none
    Player.isMuted = true

    Player.play()

    view.layer.insertSublayer(PlayerLayer, at: 0)
    NotificationCenter.default.addObserver(self, selector: #selector(playerItemReachEnd(notification:)), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: Player.currentItem)
}
func playerItemReachEnd(notification: NSNotification) {

    Player.seek(to: kCMTimeZero)

}


override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
}

2 个答案:

答案 0 :(得分:0)

将视频播放到后台,您可以使用以下第三方库列表来解决您的问题。

VideoSplashKit

HAPlayerView

答案 1 :(得分:0)

视频您正在尝试播放的尺寸与图层尺寸不同。我建议你试试 PlayerLayer.videoGravity = AVLayerVideoGravityResize 要么 PlayerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill