Tencent-RTC / TRTC_Flutter

High-quality Interactive Audio/Video Flutter SDK
https://trtc.io/
75 stars 33 forks source link

【iOS设备】- 关于本 flutter demo中,使用纹理渲染的方式情况下,无法控制视图旋转90度和视图填充模式(裁剪or黑边),请教一下~ #37

Closed maitianyihu closed 1 year ago

maitianyihu commented 2 years ago

【当前现象】:打开纹理渲染开关,进入房间enteRoom调用后设置trtcCloud.setLocalRenderParams(TRTCRenderParams(rotation:TRTCCloudDef.TRTC_VIDEO_ROTATION_90)),旋转90度不生效。 【问题时间段】:2022年 2月22日下午 【机型】:iphoneXR 【是否必现】:必现 , 【复现方法】:在本flutter demo "texture_render.dart"文件中,enterRoom函数内部: // 进入房间 enterRoom() async { userInfo['userSig'] = await GenerateTestUserSig.genTestSig(userInfo['userId']); meetModel.setUserInfo(userInfo); await trtcCloud.enterRoom( TRTCParams( sdkAppId: GenerateTestUserSig.sdkAppId, //应用Id userId: userInfo['userId'], // 用户Id userSig: userInfo['userSig'], // 用户签名 role: TRTCCloudDef.TRTCRoleAnchor, roomId: meetId!), //房间Id TRTCCloudDef.TRTC_APP_SCENE_LIVE); trtcCloud.setVideoEncoderParam(TRTCVideoEncParam( videoResolution: TRTCCloudDef.TRTC_VIDEO_RESOLUTION_480_360, videoResolutionMode: TRTCCloudDef.TRTC_VIDEO_RESOLUTION_MODE_PORTRAIT)); trtcCloud.setLocalRenderParams(TRTCRenderParams(rotation:TRTCCloudDef.TRTC_VIDEO_ROTATION_90)); }

函数末尾处添加setLocalRenderParams方法,目的是想让本地摄像头视图旋转90度,但不生效,请问是什么原因?

c1avie commented 2 years ago

纹理渲染的话不支持旋转,如果想用旋转效果的话建议使用PlatformView

maitianyihu commented 2 years ago

纹理渲染的话不支持旋转,如果想用旋转效果的话建议使用PlatformView

OK 同理还有一个现象:TRTCRenderParams中fillMode填充模式,按照API提示,设置TRTC_VIDEO_RENDER_MODE_FILL的话,对摄像头采集的视图没有起作用,也就是我拿着手机开启前置摄像头,视图设置的为正方形的话,采集的内容会在正方形视图内挤压。 那么这个问题是不是与上述问题同属一个原因呢,都需要使用PlatformView才能解决吗?

c1avie commented 2 years ago

是的,填充效果也只是针对PlatformView才生效。或者就是采集的时候设置好对应的分辨率