在ios中定义AV Player ViewController的视图帧大小
如何在iOS中播放video作为背景? 我按照这个问题如何用Swift播放本地video? ,但AV Player ViewController是一个控制器,不让我决定包含video的视图的位置和大小。 它总是需要一些预定义的值。
我已经完成了一个项目,我已经完成但没有使用AVPlayerViewController – 只是一个简单的AVPlayer,我添加到视图的层。 我有一个集合视图,但您可以在任意位置插入video。 尝试这样的事情:
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"my_local_file" ofType:@"mp4"]; NSURL *fileURL = [NSURL fileURLWithPath:filepath]; self.avPlayerItem = [AVPlayerItem playerItemWithURL:fileURL]; self.avPlayer = [AVPlayer playerWithPlayerItem:self.avPlayerItem]; self.avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer]; self.avPlayerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill; self.avPlayerLayer.frame = self.view.bounds; [self.view.layer insertSublayer:self.avPlayerLayer below:self.collectionView.layer]; // could also try [self.view.layer insertSublayer:self.avPlayerLayer atIndex:0]; [self.avPlayer play];
基本上,将AVPlayerLayer.frame设置为您想要的大小。