NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
### **屏幕共享** **模块简述** (1)AnyChat Harmony端屏幕共享功能最低适配API12设备,通过接口控制开启和关闭,以实现屏幕共享功能。 (2)由于屏幕共享属于系统级,因此在开启了屏幕共享后,按home键界面切换到后台和重新回到前台界面时,最好在Page对应生命周期方法(onPageHide()内关闭处理、onPageShow()内重新打开)内做好关闭屏幕共享流和重新打开屏幕共享流的处理,否则可能会将本应用界面之外的画面共享出去,从而引发安全问题; 屏幕共享的操作必须在房间内进行,用户打开本地屏幕共享流后,房间内其他用户只需获取该用户的屏幕共享流即可查看该用户的屏幕信息。 屏幕共享模块包括:开启屏幕共享,开启屏幕共享权限回调处理,关闭屏幕共享 。 注意 :屏幕共享功能要求最低为API12设备,且集成开发时要集成AnyChat V9.5及以上版本。 **屏幕共享流程** 开启屏幕共享 -->开启屏幕共享权限回调处理 -->关闭屏幕共享 ### **开启屏幕共享** openScreenShare(shreType: ScreenShareType, json string, pageId?: string) #### 接口说明: 开启屏幕共享 #### 接口参数简介: | 名称 | 类型 | 说明 | 是否必须 | | --- | --- | --- | --- | | shareType| ScreenShareType | 屏幕共享类型 | 是 | | json| string| 自定义流号设置(json字符串形式 ,为空时默认1号流开启屏幕共享); 流号的取值范围1-7; 示例:{"streamIndex":1} | 否 | | pageId| string | 应用内共享时需要共享的组件ID | 是 | **注意: 自定义屏幕共享流号设置时,流号的取值范围1-7;** ### **开启屏幕共享权限授权结果回调** setScreenShareEvent(event: AnyChatShareScreenEvent) #### 接口说明: 开启屏幕共享权限回调 (1)鸿蒙设备系统级屏幕共享截屏需要用户授权,所以需要设置setScreenShareEvent方法,以处理用户手动授权返回的结果; (2)在设置的AnyChatShareScreenEvent接口回调OnScreenCaptureStateChanged(state: number)方法中,state=0授权成功,state=1授权失败。 #### 接口参数简介: | 名称 | 类型 | 说明 | 是否必须 | | --- | --- | --- | --- | | state| number| state = 0,同意授权,state=1,取消授权| 是 | ### **关闭屏幕共享** closeScreenShare(shareType: ScreenShareType) #### 接口说明: 关闭屏幕共享 #### 接口参数简介: | 名称 | 类型 | 说明 | 是否必须 | | --- | --- | --- | --- | | shareType| ScreenShareType| 屏幕共享类型| 是 | 示例代码 ~~~ 1.开启屏幕共享 (1)系统级共享 let shareScreenJson: object = new Object(); shareScreenJson['streamindex'] = 1; shareScreenJson['width'] = 768; shareScreenJson['height'] = 1280; shareScreenJson['fps'] = 10; shareScreenJson['bitrate'] = 800 * 1000; let shareScreenData = JSON.stringify(shareScreenJson); AnyChatSDK.getInstance().openScreenShare(ScreenShareType.InSystem, shareScreenData); (2)应用级共享 let shareScreenJson: object = new Object(); shareScreenJson['streamindex'] = 1; shareScreenJson['fps'] = 10; shareScreenJson['bitrate'] = 800 * 1000; shareScreenJson['scale'] = 1; let shareScreenData = JSON.stringify(shareScreenJson); AnyChatSDK.getInstance().openScreenShare(ScreenShareType.InApp, shareScreenData, "pageId"); 2.关闭屏幕共享 (1)系统级共享 AnyChatSDK.getInstance().closeScreenShare(ScreenShareType.InSystem); (2)应用级共享 AnyChatSDK.getInstance().closeScreenShare(ScreenShareType.InApp); ~~~