视频渲染

  • HarmonyOS

更新时间不可用

setLocalRenderMode

更新本地视图显示模式。

TypeScript
public abstract setLocalRenderMode(renderMode: number, mirrorMode: number): number;

初始化本地用户视图后,你可以调用该方法更新本地用户视图的渲染和镜像模式。该方法只影响本地用户看到的视频画面,不影响本地视频的发布。

调用时机

  • 请在调用 setupLocalVideo 方法初始化本地视图后,调用该方法。
  • 你可以在通话中多次调用该方法,多次更新本地用户视图的显示模式。

调用限制

无。

参数

参数名描述
renderMode

本地视图显示模式。

  • RENDER_MODE_HIDDEN (1):优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉。
  • RENDER_MODE_FIT (2):优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。
mirrorMode

本地视图的镜像模式。

  • VIDEO_MIRROR_MODE_AUTO (0):SDK 决定镜像模式。如果你使用前置摄像头,默认启动本地视图镜像模式;如果你启用后置摄像头,默认关闭本地视图镜像模式。
  • VIDEO_MIRROR_MODE_ENABLED (1):开启本地视图的镜像模式。
  • VIDEO_MIRROR_MODE_DISABLED (2):关闭本地视图的镜像模式。

注意: 如果你使用前置摄像头,默认启动本地用户视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。

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

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setRemoteRenderMode

更新远端视图显示模式。

TypeScript
public abstract setRemoteRenderMode(uid: number, renderMode: number, mirrorMode: number): number;

详情

初始化远端用户视图后,你可以调用该方法更新远端用户视图在本地显示时的渲染和镜像模式。该方法只影响本地用户看到的视频画面。

注意:

  • 请在调用 setupRemoteVideo 方法初始化远端视图后,调用该方法。
  • 你可以在通话中多次调用该方法,多次更新远端用户视图的显示模式。

参数

参数名描述
uid

远端用户 ID。

renderMode

远端用户视图的渲染模式。

  • RENDER_MODE_HIDDEN (1):优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉。
  • RENDER_MODE_FIT (2):优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。
mirrorMode

远端用户视图的镜像模式。

  • VIDEO_MIRROR_MODE_AUTO (0):SDK 决定镜像模式。如果你使用前置摄像头,默认启动本地视图镜像模式;如果你启用后置摄像头,默认关闭本地视图镜像模式。
  • VIDEO_MIRROR_MODE_ENABLED (1):开启本地视图的镜像模式。
  • VIDEO_MIRROR_MODE_DISABLED (2):关闭本地视图的镜像模式。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setRemoteRenderModeEx

设置远端视图显示模式。

TypeScript
public abstract setRemoteRenderModeEx(uid:number,renderMode:number,mirrorMode:number,connection:RtcConnection):number;

详情

初始化远端用户视图后,你可以调用该方法更新远端用户视图在本地显示时的渲染和镜像模式。该方法只影响本地用户看到的视频画面。

注意:

  • 请在调用 setupRemoteVideo 方法初始化远端视图后,调用该方法。
  • 你可以在通话中多次调用该方法,多次更新远端用户视图的显示模式。

参数

参数名描述
uid

远端用户 ID。

renderMode

远端视图显示模式:

  • RENDER_MODE_HIDDEN (1):优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉。
  • RENDER_MODE_FIT (2):优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。
mirrorMode

远端用户视图的镜像模式:

  • VIDEO_MIRROR_MODE_AUTO (0):SDK 决定镜像模式。如果你使用前置摄像头,默认启动本地视图镜像模式;如果你启用后置摄像头,默认关闭本地视图镜像模式。
  • VIDEO_MIRROR_MODE_ENABLED (1):开启本地视图的镜像模式。
  • VIDEO_MIRROR_MODE_DISABLED (2):关闭本地视图的镜像模式。
connection

Connection 信息。详见 RtcConnection。

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

返回值

  • < 0:方法调用失败。详见错误码了解详情和解决建议。

setRenderMode

设置播放器视图的渲染模式。

TypeScript
public abstract setRenderMode(mode:number):number;

参数

参数名描述
mode

播放器视图的渲染模式:

  • RENDER_MODE_HIDDEN (1):优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉。
  • RENDER_MODE_FIT (2):优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setupLocalVideo

初始化本地视图。

TypeScript
public abstract setupLocalVideo(canvas: VideoCanvas): number;

该方法初始化本地视图并设置本地用户视频显示属性,只影响本地用户看到的视频画面,不影响本地视频的发布。调用该方法绑定本地视频流的显示视窗 (view),并设置本地用户视图的渲染模式和镜像模式。

退出频道后绑定仍然有效。如果需要停止渲染或解除绑定,可以调用该方法将参数 view 设为 NULL,以停止渲染并清理渲染缓存。

注意:

  • 如果你希望在通话中仅更新本地用户视图的渲染或镜像模式,请使用 setLocalRenderMode 方法。

适用场景

在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。

如果你需要在本地视频预览的画面中同时看到多个预览画面、且不同画面分别处于视频链路上不同观测点,可以重复调用该方法设置不同的 view,并针对每个 view 设置不同的观测位置。例如:将视频源设置为摄像头,然后对应两个 view 分别设置 position 为 POST_CAPTURER_ORIGIN 和 POST_CAPTURER,即可在本地视频预览中同时看到没有经过视频前处理的原始画面和已经过视频前处理(美颜、虚拟背景、水印本地预览)的画面。

调用时机

该方法在加入频道前后均可调用。

调用限制

无。

参数

参数名描述
canvas

本地视频显示属性。详见 VideoCanvas。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setupRemoteVideo

初始化远端用户视图。

TypeScript
public abstract setupRemoteVideo(canvas: VideoCanvas): number;

详情

该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。

调用该方法时需要指定远端视频的用户 ID,一般可以在进频道前提前设置好。如果无法在加入频道前得到远端用户的 ID,可以在收到 onUserJoined 回调时调用该方法。

如需解除某个远端用户的绑定视图,可以调用该方法并将 view 设置为空。

离开频道后,SDK 会清除远端用户视图的绑定关系。

注意:

  • 如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 setRemoteRenderMode 方法。

参数

参数名描述
canvas

远端视频显示属性。详见 VideoCanvas。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setupRemoteVideoEx

初始化远端用户视图。

TypeScript
public abstract setupRemoteVideoEx(remote:VideoCanvas, connection:RtcConnection) : number;

详情

该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。

调用该方法时需要在 VideoCanvas 中指定远端视频的用户 ID,一般可以在进频道前提前设置好。

如果无法在加入频道前得到远端用户的 uid,可以在收到 onUserJoined 回调时调用该方法。如果启用了视频录制功能,视频录制服务会做为一个哑客户端加入频道,因此其他客户端也会收到它的 onUserJoined 事件, App 不应给它绑定视图(因为它不会发送视频流)。

如需解除某个远端用户的绑定视图,可以调用该方法并将 view 设置为空。

离开频道后,SDK 会清除远端用户视图的绑定关系。

注意:

  • 如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 setRemoteRenderModeEx 方法。

参数

参数名描述
canvas

视频画布信息。详见 VideoCanvas。

connection

Connection 信息。详见 RtcConnection。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类