由于Android的开放性,不同的设备存在一些差异,某些设备所采集的视频数据显示出来在方向上存在一定的误差,这通常与硬件设备的驱动相关,新增加的API接口便是在远程显示时,可以支持手工来修正远程视频的方向。
增加的API接口参数定义(以AnyChat for Web SDK为例):
- // 远程视频方向修正标志定义
- var BRAC_ROTATION_FLAGS_MIRRORED = 0x1000; // 图像需要镜像翻转
- var BRAC_ROTATION_FLAGS_ROTATION90 = 0x2000; // 顺时针旋转90度
- var BRAC_ROTATION_FLAGS_ROTATION180 = 0x4000; // 顺时针旋转180度
- var BRAC_ROTATION_FLAGS_ROTATION270 = 0x8000; // 顺时针旋转270度
- // 用户信息控制类型定义(API:BRAC_UserInfoControl 传入参数)
- var BRAC_USERINFO_CTRLCODE_ROTATION = 8; // 让指定的用户视频在显示时旋转,wParam为旋转角度参数
复制代码
在视频显示过程中,如果需要将视频顺时针旋转90度,则可以调用如下的API:
- BRAC_UserInfoControl(mTargetUserId, BRAC_USERINFO_CTRLCODE_ROTATION, BRAC_ROTATION_FLAGS_ROTATION90, 0, "");
复制代码
在视频显示过程中,如果需要将视频顺时针旋转90度,旋转之后再镜像翻转,则可以调用如下的API:
- BRAC_UserInfoControl(mTargetUserId, BRAC_USERINFO_CTRLCODE_ROTATION, BRAC_ROTATION_FLAGS_ROTATION90 + BRAC_ROTATION_FLAGS_MIRRORED, 0, "");
复制代码
在视频显示过程中,如果需要取消旋转,则传入参数0即可,参考如下API调用:
- BRAC_UserInfoControl(mTargetUserId, BRAC_USERINFO_CTRLCODE_ROTATION, 0, 0, "");
复制代码
新增加的API接口目前暂时只支持AnyChat for Windows SDK,AnyChat for Web SDK,从AnyChat r3997开始的版本即可支持。