VideoCanvas

  • Unreal C++

更新时间不可用

视频画布对象的属性。

C++
struct VideoCanvas {
  uid_t uid;
  uid_t subviewUid;
  view_t view;
  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()
    : uid(0), subviewUid(0), view(NULL), 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(0), subviewUid(0), view(v), 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, uid_t u)
    : uid(u), subviewUid(0), view(v), 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, uid_t u, uid_t subu)
    : uid(u), subviewUid(subu), view(v), 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) {}
};

属性

参数名描述
uid

发布视频源的用户 ID。

subviewUid

发布某一路合图子视频流的用户 ID。

view

视频图像。你需要定义 UImage 类型的指针,并传入该参数,示例代码如下:

Text
agora::rtc::VideoCanvas videoCanvas;
    UImage* LocalVideo;
    videoCanvas.view = LocalVideo;
sourceType

视频源的类型,详见 VIDEO_SOURCE_TYPE。

mediaPlayerId

媒体播放器 ID。可通过 getMediaPlayerId 获取。

当 sourceType 为 VIDEO_SOURCE_MEDIA_PLAYER 时,此参数为必填项。

backgroundColor

视频画布的背景颜色,格式为 RGBA。默认值为 0x00000000,代表完全透明的黑色。

enableAlphaMask

(可选)是否开启 Alpha 遮罩渲染:

  • true:开启 Alpha 遮罩渲染。
  • false:(默认)关闭 Alpha 遮罩渲染。

Alpha 遮罩渲染可以创建具有透明效果的图像,还可以提取视频中的人像。与其他方法结合使用时,可以实现人像画中画、添加水印等效果。

注意:

  • 仅当发送端开启 Alpha 传输功能时,接收端才能渲染 Alpha 通道的信息。
  • 如需开启 Alpha 传输功能,请联系技术支持。
position

视频帧在视频链路中的位置。详见 VIDEO_MODULE_POSITION。

表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?