视频渲染
enableInstantMediaRendering
开启音视频帧加速渲染。
abstract enableInstantMediaRendering(): number;
成功调用该方法后,SDK 会开启加速出图和出声模式,可加快用户加入频道后的首帧出图与出声速度。
适用场景
声网推荐在直播场景下,对观众开启该模式。
调用时机
该方法需要在加入频道前调用。
返回值
- 0: 方法调用成功。
 - < 0: 方法调用失败。详见错误码了解详情和解决建议。 
- -7: IRtcEngine 尚未初始化就调用方法。
 
 
setLocalRenderMode
更新本地视图显示模式。
abstract setLocalRenderMode(
    renderMode: RenderModeType,
    mirrorMode?: VideoMirrorModeType
  ): number;
初始化本地用户视图后,你可以调用该方法更新本地用户视图的渲染和镜像模式。该方法只影响本地用户看到的视频画面,不影响本地视频的发布。
调用时机
- 你可以在通话中多次调用该方法,多次更新本地用户视图的显示模式。
 
调用限制
无。
参数
- renderMode
 本地视图显示模式。详见 RenderModeType。
- mirrorMode
 本地视图的镜像模式,详见 VideoMirrorModeType。
注意如果你使用前置摄像头,默认启动本地用户视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。
返回值
- 0: 方法调用成功。
 - < 0: 方法调用失败。详见错误码了解详情和解决建议。
 
setLocalRenderTargetFps
设置本地视频渲染的最大帧率。
abstract setLocalRenderTargetFps(
    sourceType: VideoSourceType,
    targetFps: number
  ): number;
适用场景
在对视频渲染帧率要求不高的场景(例如:屏幕共享、在线教育)下,你可以调用该方法设置本地视频渲染的最大帧率,SDK 进行本地渲染的实际帧率会尽量接近该值,从而减小 CPU 消耗、提升系统性能。
调用时机
该方法在加入频道前后均可调用。
调用限制
无。
参数
- sourceType
 - 视频源的类型,详见 VideoSourceType。
 - targetFps
 - 最大渲染帧率 (fps)。支持的参数值为:1、7、10、15、24、30、60。警告请将此参数设置为低于视频实际帧率的渲染帧率,否则设置将不会生效。
 
返回值
- 0: 方法调用成功。
 - < 0: 方法调用失败。详见错误码了解详情和解决建议。
 
setLocalVideoMirrorMode
设置本地视频镜像。
abstract setLocalVideoMirrorMode(mirrorMode: VideoMirrorModeType): number;
详情
参数
- mirrorMode
 本地视频镜像模式。详见 VideoMirrorModeType。
返回值
- 0: 方法调用成功。
 - < 0: 方法调用失败。详见错误码了解详情和解决建议。
 
setRemoteRenderMode
更新远端视图显示模式。
abstract setRemoteRenderMode(
    uid: number,
    renderMode: RenderModeType,
    mirrorMode: VideoMirrorModeType
  ): number;
详情
初始化远端用户视图后,你可以调用该方法更新远端用户视图在本地显示时的渲染和镜像模式。该方法只影响本地用户看到的视频画面。
- 你可以在通话中多次调用该方法,多次更新远端用户视图的显示模式。
 
参数
- uid
 - 远端用户 ID。
 - renderMode
 远端用户视图的渲染模式,详见 RenderModeType。
- mirrorMode
 远端用户视图的镜像模式,详见 VideoMirrorModeType。
返回值
- 0:方法调用成功。
 - < 0:方法调用失败。详见错误码了解详情和解决建议。
 
setRemoteRenderModeEx
设置远端视图显示模式。
abstract setRemoteRenderModeEx(
    uid: number,
    renderMode: RenderModeType,
    mirrorMode: VideoMirrorModeType,
    connection: RtcConnection
  ): number;
详情
- 请在渲染了对应远端用户 ID 的 RtcSurfaceView 或 RtcTextureView 组件后,调用该方法。
 - 你可以在通话中多次调用该方法,多次更新远端用户视图的显示模式。
 
参数
- uid
 - 远端用户 ID。
 - renderMode
 远端视图显示模式,详见 RenderModeType。
- mirrorMode
 远端用户视图的镜像模式,详见 VideoMirrorModeType。
- connection
 - Connection 信息。详见 RtcConnection。
 
返回值
- 0:方法调用成功。
 - < 0:方法调用失败。详见错误码了解详情和解决建议。
 
setRemoteRenderTargetFps
设置视频在远端渲染的最大帧率。
abstract setRemoteRenderTargetFps(targetFps: number): number;
适用场景
在对视频渲染帧率要求不高的场景(例如:屏幕共享、在线教育)或者远端使用中低端设备的场景下,你可以调用该方法设置视频在远端渲染的最大帧率,SDK 进行远端视频渲染的实际帧率会尽量接近该值,从而减小 CPU 消耗、提升系统性能。
调用时机
该方法在加入频道前后均可调用。
调用限制
无。
参数
- targetFps
 - 最大渲染帧率 (fps)。支持的参数值为:1、7、10、15、24、30、60。警告请将此参数设置为低于视频实际帧率的渲染帧率,否则设置将不会生效。
 
返回值
- 0: 方法调用成功。
 - < 0: 方法调用失败。详见错误码了解详情和解决建议。
 
setRenderMode
设置播放器视图的渲染模式。
abstract setRenderMode(renderMode: RenderModeType): number;
参数
- renderMode
 播放器视图的渲染模式。详见 RenderModeType。
返回值
- 0: 方法调用成功。
 - < 0: 方法调用失败。详见错误码了解详情和解决建议。
 
startMediaRenderingTracing
开启视频帧渲染数据打点。
abstract startMediaRenderingTracing(): number;
详情
成功调用该方法后,SDK 会以调用该方法的时刻作为起点,并通过 onVideoRenderingTracingResult 回调报告视频帧渲染的相关信息。
- 如果你未调用该方法,SDK 默认以调用 joinChannel 加入频道的时刻为起始点开始打点,自动开始跟踪视频的渲染事件。你可以根据实际业务场景,在合适的时机调用该方法,进行自定义打点。
 - 离开当前频道后,SDK 会自动重置该时间点为下一次加入频道的时刻。
 
适用场景
声网推荐你将该方法和 App 中的 UI 设置(按钮、滑动条等)结合使用,用于获取符合终端用户实际体验的首帧出图耗时的场景。例如:在终端用户在点击 加入频道
 按钮的时刻调用该方法进行打点,然后通过 onVideoRenderingTracingResult 回调获取视频帧渲染过程中的各阶段耗时,从而针对各阶段耗时进行专项优化。
返回值
- 0: 方法调用成功。
 - < 0: 方法调用失败。详见错误码了解详情和解决建议。 
- -7: IRtcEngine 尚未初始化就调用方法。
 
 
startMediaRenderingTracingEx
开启视频帧渲染数据打点。
abstract startMediaRenderingTracingEx(connection: RtcConnection): number;
详情
成功调用该方法后,SDK 会以调用该方法的时刻作为起点,并通过 onVideoRenderingTracingResult 回调报告视频帧渲染的相关信息。
- 如果你未调用该方法,SDK 默认以调用 joinChannel 加入频道的时刻为起始点开始打点,自动开始跟踪视频的渲染事件。你可以根据实际业务场景,在合适的时机调用该方法,进行自定义打点。
 - 离开当前频道后,SDK 会自动重置该时间点为下一次加入频道的时刻。
 
适用场景
声网推荐你将该方法和 App 中的 UI 设置(按钮、滑动条等)结合使用,用于获取符合终端用户实际体验的首帧出图耗时的场景。例如:在终端用户在点击 加入频道
 按钮的时刻调用该方法进行打点,然后通过 onVideoRenderingTracingResult 回调获取视频帧渲染过程中的各阶段耗时,从而针对各阶段耗时进行专项优化。
参数
- connection
 - Connection 信息。详见 RtcConnection。
 
返回值
- 0: 方法调用成功。
 - < 0: 方法调用失败。详见错误码了解详情和解决建议。
 
onTranscodedStreamLayoutInfo
已接收携带布局信息的合图视频流回调。
onTranscodedStreamLayoutInfo?(
    connection: RtcConnection,
    uid: number,
    width: number,
    height: number,
    layoutCount: number,
    layoutlist: VideoLayout[]
  ): void;
详情
当本地第一次接收到合图服务器发送的合图视频流,或者合图流的布局信息有变化时,SDK 会触发该回调,报告合图视频流中每一路子视频流的布局信息。
参数
- connection
 - Connection 信息。详见 RtcConnection。
 - uid
 - 发布合图视频流的用户 ID。
 - width
 - 合图视频流的宽度 (px)。
 - height
 - 合图视频流的高度 (px)。
 - layoutCount
 - 合图视频流中布局信息的数量。
 - layoutlist
 - 某一路合图视频流的详细布局信息。详见 VideoLayout。
 
onVideoRenderingTracingResult
视频帧渲染事件回调。
onVideoRenderingTracingResult?(
    connection: RtcConnection,
    uid: number,
    currentEvent: MediaTraceEvent,
    tracingInfo: VideoRenderingTracingInfo
  ): void;
详情
调用 startMediaRenderingTracing 方法或加入频道后,SDK 会触发该回调,报告视频帧渲染的事件和渲染过程中的指标。开发者可以针对指标进行专项优化,以提高出图效率。
参数
- connection
 - Connection 信息。详见 RtcConnection。
 - uid
 - 用户 ID。
 - currentEvent
 - 当前视频帧渲染事件。详见 MediaTraceEvent。
 - tracingInfo
 - 视频帧渲染过程中的指标。开发者需要尽可能降低指标值,以提高出图效率。详见 VideoRenderingTracingInfo。