VideoCanvas
视频画布对象的属性。
struct VideoCanvas { view_t view; uid_t uid; uint32_t backgroundColor; media::base::RENDER_MODE_TYPE renderMode; VIDEO_MIRROR_MODE_TYPE mirrorMode; VIDEO_VIEW_SETUP_MODE setupMode; VIDEO_SOURCE_TYPE sourceType; int mediaPlayerId; Rectangle cropArea; bool enableAlphaMask; media::base::VIDEO_MODULE_POSITION position; VideoCanvas() : view(NULL), uid(0), backgroundColor(0x00000000), renderMode(media::base::RENDER_MODE_HIDDEN), mirrorMode(VIDEO_MIRROR_MODE_AUTO), setupMode(VIDEO_VIEW_SETUP_REPLACE), sourceType(VIDEO_SOURCE_CAMERA_PRIMARY), mediaPlayerId(-ERR_NOT_READY), cropArea(0, 0, 0, 0), enableAlphaMask(false), position(media::base::POSITION_POST_CAPTURER) {} VideoCanvas(view_t v, media::base::RENDER_MODE_TYPE m, VIDEO_MIRROR_MODE_TYPE mt, uid_t u) : view(v), uid(u), backgroundColor(0x00000000), renderMode(m), mirrorMode(mt), setupMode(VIDEO_VIEW_SETUP_REPLACE), sourceType(VIDEO_SOURCE_CAMERA_PRIMARY), mediaPlayerId(-ERR_NOT_READY), cropArea(0, 0, 0, 0), enableAlphaMask(false), position(media::base::POSITION_POST_CAPTURER) {} VideoCanvas(view_t v, media::base::RENDER_MODE_TYPE m, VIDEO_MIRROR_MODE_TYPE mt, user_id_t) : view(v), uid(0), backgroundColor(0x00000000), renderMode(m), mirrorMode(mt), setupMode(VIDEO_VIEW_SETUP_REPLACE), sourceType(VIDEO_SOURCE_CAMERA_PRIMARY), mediaPlayerId(-ERR_NOT_READY), cropArea(0, 0, 0, 0), enableAlphaMask(false), position(media::base::POSITION_POST_CAPTURER) {} };
属性
- view
- 视频显示窗口。
- renderMode
- 视频渲染模式,详见 RENDER_MODE_TYPE。
- mirrorMode
-
视图镜像模式,详见 VIDEO_MIRROR_MODE_TYPE。
注意:- 本地视图镜像模式:如果你使用前置摄像头,默认启动本地视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。
- 远端用户视图镜像模式:默认关闭远端用户的镜像模式。
- uid
- 用户 ID。
- sourceType
- 视频源的类型,详见 VIDEO_SOURCE_TYPE。
- setupMode
- 视图设置模式。详见 VIDEO_VIEW_SETUP_MODE。
- mediaPlayerId
- 媒体播放器 ID。可通过 getMediaPlayerId 获取。
- cropArea
- (可选)视频帧的展示区域,详见 Rectangle。其中,width 和 height 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。
- backgroundColor
- 视频画布的背景颜色,格式为 RGBA。默认值为 0x00000000,代表完全透明的黑色。
- enableAlphaMask
-
(可选)接收端是否开启 alpha 遮罩渲染:
true
:接收端开启 alpha 遮罩渲染。false
:(默认)接收端关闭 alpha 遮罩渲染。
alpha 遮罩渲染可以创建具有透明效果的图像,还可以提取视频中的人像。与其他方法结合使用时,可以实现人像画中画、添加水印等效果。
注意:- 该属性仅适用于 macOS 平台。
- 仅当发送端开启 alpha 传输功能时,接收端才能渲染 alpha 通道的信息。
- 如需开启 alpha 传输功能,请联系技术支持。