我有一个名为 videoView
的容器 UIView。我在该 View 中添加了一个 AVPLayerLayer。我不知道如何将 videoView
调整为与 avplayer 层相同的比例。使用 videoGravity
并没有达到预期的效果。
AVPlayerItem* playerItem = [AVPlayerItem playerItemWithURL:path];
_videoPlayer = [[AVPlayer alloc] initWithPlayerItem:playerItem];
AVPlayerLayer *layer = [AVPlayerLayer layer];
[_avplayerLayer setPlayer:_videoPlayer];
[_avplayerLayer setBackgroundColor:[UIColor whiteColor].CGColor];
[_avplayerLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
[_avplayerLayer setFrame:_videoView.bounds];
[_videoView.layer addSublayer:_avplayerLayer];
我正在使用自动布局,我的布局将适应 _videoView 高度的变化。
videoGravity 不会改变 View 的帧,而是用视频填充当前帧。
我认为您应该检查每个视频的 resolution在播放之前调整 videoView
的高度限制(应该是一个 ivar 并限制为 videoView
的宽度)multiplier . videoView
宽度应限制为屏幕宽度。
关于ios - 根据视频的纵横比调整 AVPlayerItem 容器 View 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35118676/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |