小编nie*_*xin的帖子

如何让RTCEAGLVideoView不变形全屏显示

我正在使用 RTCEAGLVideoView 显示 RTCVideoTrack,并希望它是全屏的,但它总是变形。我尝试使用 AVMakeRectWithAspectRatioInsideRect 方法来显示此视图,没有失真但也没有全屏,这是我的代码。

RTCEAGLVideoView *remoteVideoView = [[RTCEAGLVideoView alloc] initWithFrame:self.backView.bounds];
remoteVideoView.contentMode = UIViewContentModeScaleAspectFill;
_remoteVideoView = remoteVideoView;
[remoteVideoView renderFrame:nil];
[remoteVideoTrack addRenderer:remoteVideoView];
remoteVideoView.delegate = self;
self.remoteVideoTrack = remoteVideoTrack;
[self.backView addSubview:remoteVideoView];
Run Code Online (Sandbox Code Playgroud)

当 didChangeVideoSize 委托调用时:

- (void)videoView:(RTCEAGLVideoView*)videoView didChangeVideoSize:(CGSize)size {
    if (videoView == _remoteVideoView) {
        _remoteVideoSize = size;
    }
    CGRect bounds = self.view.bounds;
    if (_remoteVideoSize.width > 0 && _remoteVideoSize.height > 0) {
        // Aspect fill remote video into bounds.
        CGRect remoteVideoFrame =
        AVMakeRectWithAspectRatioInsideRect(_remoteVideoSize, bounds);
        CGFloat scale = 1;
        if (remoteVideoFrame.size.width > remoteVideoFrame.size.height) { …
Run Code Online (Sandbox Code Playgroud)

ios webrtc

4
推荐指数
1
解决办法
1498
查看次数

标签 统计

ios ×1

webrtc ×1