通过API可实现多种类型的内容共享,包括:
平台 | 支持的内容共享类型 |
桌面端 | 共享桌面、应用程序、音视频文件 |
移动端 | 共享桌面、图片 |
Web端 | 共享屏幕、应用程序 |
除了基础的内容共享,通过SDK还可以实现电子白板、内容标注等高级功能。共享内容的状态变更将通过事件回调进行通知。
调用 startContentSharing 方法开始内容共享,参数说明:
mode
: 共享模式,可选 XYSDKDualStreamModeenableAudio
: 是否开启音频enableVideo
: 是否开启视频调用 putContentData 方法发送共享数据,参数说明:
imageBuffer
: 图像数据缓冲区length
: 数据长度width
: 图像宽度height
: 图像高度stride
: 图像步长调用 stopContentSharing 方法结束内容共享。
/**
* 选择图片并开始共享
*/
private async selectPicture(): Promise<void> {
// 选择图片逻辑
...
// 开始内容共享
XYRTCEngine.getInstance().startContentSharing(
XYSDKDualStreamMode.VIDEO, // 视频模式
true, // 开启音频
false // 关闭视频
);
}
/**
* 发送共享内容数据
* @param imageBuffer 图像数据缓冲区
* @param length 数据长度
* @param width 图像宽度
* @param height 图像高度
* @param stride 图像步长
*/
async putContentData(
imageBuffer: ArrayBuffer,
length: number,
width: number,
height: number,
stride: number
): Promise<void> {
XYRTCEngine.getInstance().putContentData(
imageBuffer,
length,
width,
height,
stride
);
}
/**
* 结束内容共享
*/
stopSharing(): void {
XYRTCEngine.getInstance().stopContentSharing();
}