TRTC_TranscodingConfigMode_Template_ScreenSharing property
final
屏幕共享模式,适用于在线教育等以屏幕共享为主的使用场景,仅支持 Windows 和 macOS 系统的 SDK。
SDK 首先会根据您设置的目标分辨率(通过 videoWidth
和 videoHeight
参数)构建一块画布。在老师开启屏幕共享前,SDK 会将摄像头画面等比缩放后绘制到画布上;在老师开启屏幕共享后,SDK 会将屏幕上的视频画面绘制到同一块画布上。
这样做的目的是确保混合转码模块的输出分辨率保持一致,避免在课程回放和网页播放(网页播放器不支持可调分辨率)时出现画面模糊的问题。
同时,默认情况下,会将开麦学生的音频混合到老师的音视频流中。
教学模式下的视频内容主要是共享的屏幕,同时传输摄像头画面和屏幕画面会浪费带宽。
因此,推荐的做法是通过 setLocalVideoRenderCallback
API 直接将摄像头画面绘制到当前屏幕上。
在此模式下,您无需设置 TRTCTranscodingConfig 中的 mixUsers
参数,SDK 不会混合学生的画面,以免干扰屏幕共享效果。
您可以将 TRTCTranscodingConfig 中的宽度 x 高度设置为 0 px x 0 px,SDK 会根据用户当前屏幕的宽高比自动计算出合适的分辨率。
- 如果老师当前屏幕宽度小于或等于 1920 px,SDK 会使用老师当前屏幕的实际分辨率。
- 如果老师当前屏幕宽度大于 1920 px,SDK 会根据当前屏幕宽高比选择 1920x1080(16:9)、1920x1200(16:10)和 1920x1440(4:3)中的一种分辨率。
Implementation
static final int TRTC_TranscodingConfigMode_Template_ScreenSharing = 4;