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

问题描述:

我想在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. 
} 
} 

播放视频为背景,您可以使用第三方库的以下列表来解决问题。

VideoSplashKit

HAPlayerView

视频,你正试图播放具有尺寸与层的大小不同。我推荐你试试 PlayerLayer.videoGravity = AVLayerVideoGravityResizePlayerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill