云服务器内容精选
-
自定义会议中水印 在OpenSDKConfig中配置会中共享内容的自定义水印 共享的水印效果参考图1 使用场景 需要共享内容添加水印的场景有: 1.内部会议,共享材料比较机密,限部分人员查看 2.涉外会议,跨企业会议等,防止共享材料外泄 3.其他可能导致重要共享材料泄漏的场景 注意事项 1.SDK初始化的时候必须传入这个配置sdkConfig才会生效 图1 自定义水印 在桌面共享、程序共享、白板共享的接收端叠加水印图片,只有服务器上会中水印打开的情况下自定义水印才生效。如果不自定义,默认按照手机号、邮箱、会议ID+昵称优先级顺序显示,字体透明度10%。 示例代码 1 2 3 4 5 6 7 8 9 //自定义会中水印 public class CustomWatermarkHandle implements IWatermarkHandle { @Override public Bitmap getWatermarkBitMap(Activity curActivity) { Bitmap bitmap = BitmapFactory.decodeResource(curActivity.getResources(), R.drawable.watermark); return bitmap; } } sdkConfig.setWatermarkHandle(new CustomWatermarkHandle()); 父主题: 界面定制
-
Config 接口描述 Windows SDK中已经提供了会议中的界面,界面上的部分元素是可以自定义的。可以自定义的界面元素如下: 会议窗口名称 会议开始后,在Windows任务栏上会生成一个会议的图标,鼠标指向该图标时会显示会议的缩略窗口,该窗口的名称可以自定义。 图1 会议窗口名称 会议窗口的图标,可以替换HwmSdk\sdkResources\nativeimg目录下的video.ico图标文件。 会议信息及会议链接前缀 会议链接的 域名 前缀默认是https://bmeeting.huaweicloud.com/(如https://bmeeting.huaweicloud.com/#/j/982989574),如果入会Portal是第三方自己开发的,这个前缀需要自定义。 整个会议信息也可以自定义显示或者隐藏。 图2 会议信息 来电窗口 会议来电窗口默认在收到来电时弹出,可配置成隐藏,在收到来电通知时调用会议来电应答接口来应答: 图3 来电窗口 会控按钮 删除或者修改SDK中自带的会控按。具体可以删除和修改的按钮见按钮ID定义表。 自定义新增按钮。具体用例见自定义会控按钮。 图4 底部工具栏和更多菜单 图5 共享工具栏和更多菜单 图6 自定义子菜单项: 自定义会议信息窗口 图7 自定义会议信息框 图8 状态工具栏 图9 与会者详情头像点击 自定义会议信息窗口请参考“显示会议信息框”和“销毁会议信息框”。 注意事项 只有需要更改会议界面默认显示样式时,才需要调用该接口,若默认样式已满足要求,可以不调用该接口。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode Config(char uiConfig[HWM_MAX_CONFIG_LEN]);
-
社交分享定制 - (NSView *)socialShareView:(HWMSDKMeetingInfoModel* )confInfo; 接口描述 该接口用于分享会议拦截处理。实现代理后会拦截SDK调起分享界面的方法,如下图红框标注。 图1 分享拦截SDK弹窗 注意事项 如果实现该协议方法,则会中调用分享功能,会回调到该方法。窗口的位置以及界面的显示隐藏都有SDK内部控制。 示例代码 - (NSView *)socialShareView:(HWMSDKMeetingInfoModel *)meetingInfo { if (!self.socialView) { self.socialView = [[HWMSocialView alloc] initWithFrame:NSMakeRect(0, 0, 500, 300)]; self.socialView.wantsLayer = YES; self.socialView.layer.backgroundColor = [NSColor whiteColor].CGColor; } self.socialView.meetingInfo = meetingInfo; return self.socialView; } - (NSView *)socialShareView:(HWMConfStateInfo *)confInfo; 接口描述 该接口用于分享会议拦截处理。实现代理后会拦截SDK调起分享界面的方法,如下图红框标注。 图2 分享拦截SDK弹窗 注意事项 如果实现该协议方法,则会中调用分享功能,会回调到该方法。窗口的位置以及界面的显示隐藏都有SDK内部控制。 示例代码 - (NSView *)socialShareView:(HWMConfStateInfo *)confDetail { if (!self.socialView) { self.socialView = [[HWMSocialView alloc] initWithFrame:NSMakeRect(0, 0, 500, 300)]; self.socialView.wantsLayer = YES; self.socialView.layer.backgroundColor = [NSColor whiteColor].CGColor; } self.socialView.confDetail = confDetail; return self.socialView; } 父主题: 界面定制
-
ShowToast 接口描述 该接口用于显示toast。 注意事项 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode ShowToast(const HwmToastInfo* toastInfo); 回调函数 1 virtual void OnShowToastResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 参数说明 参数 是否必须 类型 描述 toastInfo 是 HwmToastInfo toast提示信息。 表2 结构体HwmToastInfo参数说明 参数 类型 描述 content char[] 提示内容。 duration int 提示持续时间(单位:秒)。 表3 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * 显示toast提示 */ void demoShowToastDlg::OnBnClickedOk() { hwmsdkagent::HwmToastInfo toastInfo{ 0 }; std::string toastContent = "toastContent"; strcpy_s(toastInfo.content, HWM_MAX_TOAST_CONTENT_LEN, toastContent.c_str()); toastInfo.duration = 5; int ret = hwmsdkagent::ShowToast(&toastInfo); if (hwmsdk::HWM_COMMON_SUC CES S != ret) { AfxMessageBox(_T("show toast error")); return; } }
-
getErrorMessage 接口描述 该接口可根据错误码获取错误提示。 方法定义 1 - (NSString *)getErrorMessage:(NSUInteger)code; 参数描述 表1 参数说明 参数 类型 描述 code NSUInteger 错误码。 返回值 表2 参数说明 类型 描述 NSString * 错误提示。 示例代码 1 2 3 - (void)setError:(NSError *)error { NSString *errorTips = [[HWMBizSdk getBizOpenApi] getErrorMessage:error.code]; }
-
自定义会中通知栏 该接口用于自定义通知栏中的会议通知图标,默认是如图1所示 使用场景 通知栏中通知图标使用和自己应用图标一致的场景 注意事项 1.SDK初始化的时候必须传入这个配置sdkConfig才会生效 图1 自定义会中通知栏 示例代码 1 2 3 4 5 6 sdkConfig.setNotificationStrategy(new INotificationStrategy() { @Override public int resSmallIcon() { return R.mipmap.ic_launcher; } }); 父主题: 界面定制
-
自定义会控按钮 自定义新增按钮。底部工具栏按钮、共享工具栏和更多菜单中的按钮支持第三方开发者自定义添加。目前底部工具栏和共享工具栏限制自定义按钮个数为1,超出的自定义按钮会移入更多菜单,自定义底部/共享工具栏按钮的顺序固定在“更多”按钮前;自定义更多菜单按钮会在底部和共享工具栏更多按钮中同时生效,底部工具栏的更多菜单中自定按钮添加在菜单栏最后,共享工具栏的更多菜单中自定按钮添加在“离开”按钮前。 删除自定义按钮。通过Config接口删除customButton中的按钮配置,关于清空自定义按钮操作,若赋值customButton:[],则清空全量自定义按钮;若customButton下未配置某位置下的自定义按钮,则清空该位置下的自定义按钮。 自定义按钮子菜单功能说明: 当 subMenu 为空时,点击按钮通知对应按钮 id 被点击; 当 subMenu 不为空时,点击按钮显示 subMenu 二级菜单,并且不通知; 通过Config接口增删改自定义按钮时,需要传对应位置的全量自定义按钮,支持动态刷新底部/共享工具栏,更多菜单不支持,而是在重新生成时刷新。刷新单个自定义按钮请参考刷新自定义按钮配置。 增加自定义按钮 以添加自定义带子菜单的底部工具栏按钮、共享工具栏按钮和更多菜单按钮为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "id": "customMenu", "title": "自定义按钮", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 1, "subMenu":[ { "id": "customSecondMenu", "title": "二级菜单", "buttonImg": "D:/demoResource/icon-whiteboard.svg" } ] }, { "id": "customMore", "title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "id": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 } ] } } } } 更新自定义按钮 注意确保id和buttonPos正确,修改按钮的其他信息。以重命名底部工具栏按钮为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "id": "customMenu", "title": "重命名按钮", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 1, "subMenu":[ { "id": "customSecondMenu", "title": "二级菜单", "buttonImg": "D:/demoResource/icon-whiteboard.svg" } ] }, { "id": "customMore", "title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "id": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 } ] } } } } 删除部分自定义按钮 customButton删除对应按钮,同时需要保留其他自定义按钮。以删除底部工具栏自定义按钮为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "id": "customMore", "title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "id": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 } ] } } } } 清空某个位置下的自定义按钮 customButton中删除该位置下的所有自定义按钮即可,若customButton下未配置某位置下的自定义按钮,则会清空该位置下的自定义按钮。以清空底部工具栏自定义按钮为例: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ { "id": "customMore", "title": "自定义更多", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 0 }, { "id": "customShare", "title": "自定义共享", "buttonImg": "D:/demoResource/icon-whiteboard.svg", "buttonPos": 2 }, ] } } } } 清空全量自定义按钮 customButton传入空数组,会清空所有位置下自定义按钮。清空示例如下: { "frame":{ "confMenu":{ "toolBar":{ "customButton": [ ] } } } } 父主题: 界面定制
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格