OGeek|极客世界-中国程序员成长平台

标题: ios - 根据视频的纵横比调整 AVPlayerItem 容器 View 的大小 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 10:22
标题: ios - 根据视频的纵横比调整 AVPlayerItem 容器 View 的大小

我有一个名为 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 高度的变化。



Best Answer-推荐答案


videoGravity 不会改变 View 的帧,而是用视频填充当前帧。

我认为您应该检查每个视频的 resolution在播放之前调整 videoView 的高度限制(应该是一个 ivar 并限制为 videoView 的宽度)multiplier . videoView 宽度应限制为屏幕宽度。

关于ios - 根据视频的纵横比调整 AVPlayerItem 容器 View 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35118676/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4