更新时间:2024-11-22 GMT+08:00
分享

自定义指定场景图标

SetCustomUIImage

接口描述

该接口用于自定义指定场景图标。

注意事项

  1. 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。

方法定义

1
HWM_SDK_AGENT_API hwmsdk::HwmErrCode SetCustomUIImage(const HwmCustomSceneImageInfoList* customSceneImageInfoList);

回调函数

1
virtual void OnSetCustomUIImageResult(hwmsdk::HwmErrCode ret, const char* reason) {};

参数描述

表1 结构体HwmCustomSceneImageInfoList参数说明

参数

类型

描述

customSceneImageInfoListSize

unsigned int

自定义场景图标信息列表长度。

customSceneImageInfoList

HwmCustomSceneImageInfo*

自定义场景图标信息列表。

表2 结构体HwmCustomSceneImageInfo参数说明

参数

类型

描述

scene

HwmUICustomImageScene

自定义图标场景。

imagePath

char[]

自定义图标路径,使用绝对路径。如“to/path/image.svg”,支持svg/png等格式。

注:需要UTF8编码。

width

unsigned int

自定义图标宽度。

height

unsigned int

自定义图标高度。

表3 枚举HwmUICustomImageScene说明

枚举值

描述

CLOUD_RECORD_ICON_IMAGE_SCENE

会中云录制主图标(云录制菜单弹框、与会者列表、共享工具条)。

MAIN_WINDOW_CLOUD_RECORD_ICON_SCENE

主窗口云录制ICON小图标。

MAIN_WINDOW_CLOUD_RECORD_LOGO_SCENE

主窗口云录制LOGO大图标。

示例代码
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
* 自定义指定场景图标
*/
void demoCustomSceneContentDlg::OnBnClickedOk()
{
    // 获取场景图标信息
    hwmsdkagent::HwmCustomSceneImageInfo imageInfo;
    int ccomboxIndex = m_comboBoxScene.GetCurSel();
    imageInfo.scene = static_cast<hwmsdkagent::HwmUICustomImageScene>(ccomboxIndex);
    CString tempCString;
    m_imagePath.GetWindowText(tempCString);
    strncpy_s(imageInfo.imagePath, CTools::UNICODE2UTF(tempCString.GetString()).c_str(), HWM_MAX_FILE_PATH_LEN);
    m_width.GetWindowText(tempCString);
    imageInfo.width = static_cast<unsigned int>(_ttoi(tempCString));
    m_height.GetWindowText(tempCString);
    imageInfo.height = static_cast<unsigned int>(_ttoi(tempCString));

    hwmsdkagent::HwmCustomSceneImageInfoList data{};
    data.customSceneImageInfoListSize = 1;
    data.customSceneImageInfoList = new (std::nothrow)hwmsdkagent::HwmCustomSceneImageInfo[data.customSceneImageInfoListSize];
    data.customSceneImageInfoList[0] = std::move(imageInfo);
    hwmsdk::HwmErrCode ret = hwmsdkagent::SetCustomUIImage(&data);
    if (ret != hwmsdk::HWM_COMMON_SUCCESS)
    {
        CTools::OutputRetStr("Custom scene content error");
    }
    // 释放结构体内存
    if (data.customSceneImageInfoList != nullptr)
    {
        delete data.customSceneImageInfoList;
        data.customSceneImageInfoList = nullptr;
    }
}

相关文档