文档中心
WhiteBoardView_API 互动白板
文档中心
体验 App
SDK 中心
API 中心
常见问题
代码市场
进入控制台
立即注册
登录
中文站 English
  • 文档中心
  • 互动白板
  • 功能总览

互动白板 API

更新时间:2021-09-28 15:31

1 类型定义

1.1 白板工具

/**
 * 白板工具
 *
 */
enum ZegoWhiteboardToolType
{
    /**
     * 拖拽工具
     */
    kZegoWhiteboardToolNone = 0x00,

    /**
     * 涂鸦
     */
    kZegoWhiteboardToolPen = 0x01,

    /**
     * 文本
     */
    kZegoWhiteboardToolText = 0x02,

    /**
     * 直线
     */
    kZegoWhiteboardToolLine = 0x04,

    /**
     * 空心椭圆
     */
    kZegoWhiteboardToolEllipse = 0x08,

    /**
     * 空心矩形
     */
    kZegoWhiteboardToolRect = 0x10,

    /**
     * 选择
     */
    kZegoWhiteboardToolSelector = 0x20,

    /**
     * 橡皮擦
     */
    kZegoWhiteboardToolEraser = 0x40,

    /**
     * 激光笔
     */
    kZegoWhiteboardToolLaser = 0x80,

    /**
     * 点击
     */
    kZegoWhiteboardToolClick = 0x100,
};

1.2 文件上传状态

/**
 * 文件上传状态
 *
 */
enum ZegoWhiteboardDocsUploadStatus
{
    /**
     * 文件上传中
     */
    kZegoWhiteboardDocsUploading = 0,

    /**
     * 文件转码中
     */
    kZegoWhiteboardDocsConvering = 1
};

1.3 文件转码类型

/**
 * 文件转码类型
 *
 * 普通文件转码推荐选择kZegoWhiteboardDocsRenderTypeVectorAndIMG,动态PPT文件转码推荐选择kZegoWhiteboardDocsRenderTypeDynamicPPTH5
 *
 */
enum ZegoWhiteboardDocsRenderType
{
    /**
     * 向量模式,适用于文件共享SDK PC端、移动端做的文档智能转换,能够更好地支持文档浏览以及更清晰的缩放。
     */
    kZegoWhiteboardDocsRenderTypeVector = 1,

    /**
     * 图片模式,适用于文件共享SDK Web端、小程序使用的文档转换,按文件样式每一页都生成图片样式。
     */
    kZegoWhiteboardDocsRenderTypeIMG = 2,

    /**
     * 向量和图片模式,适用于当存在Web端、小程序、移动端、PC端,多端的并存情况,在web端、小程序将使用IMG图片模式,而PC端、移动端将使用Vector向量模式。
     */
    kZegoWhiteboardDocsRenderTypeVectorAndIMG = 3,

    /**
     * 动态PPT模式,适用于文件共享SDK PC端、移动端、Web端、小程序使用的PPT文件转码格式,会将PPT文件转成动态PPT的H5文件。
     */
    kZegoWhiteboardDocsRenderTypeDynamicPPTH5 = 6
};

1.4 文件类型

/**
 * 文件类型
 *
 */
enum ZegoWhiteboardDocsType
{
    /**
     * 未知类型
     */
    kZegoWhiteboardDocsTypeUnknown = 0x0,

    /**
     * PPT
     */
    kZegoWhiteboardDocsTypePPT = 0x1,

    /**
     * Word
     */
    kZegoWhiteboardDocsTypeDOC = 0x2,

    /**
     * Excel
     */
    kZegoWhiteboardDocsTypeELS = 0x4,

    /**
     * PDF
     */
    kZegoWhiteboardDocsTypePDF = 0x8,

    /**
     * 常见的图片类型
     */
    kZegoWhiteboardDocsTypeIMG = 0x10,

    /**
     * 普通文本文件
     */
    kZegoWhiteboardDocsTypeTXT = 0x20,

    /**
     * H5
     */
    kZegoWhiteboardDocsTypeH5 = 0x40,

    /**
     * H5 PDF
     */
    kZegoWhiteboardDocsTypeH5PDF = 0x80,

    /**
     * 图片类型的PDF
     */
    kZegoWhiteboardDocsTypeIMGAndPDF = 0x100,

    /**
     * 动态PPT
     */
    kZegoWhiteboardDocsTypeDynamicPPTH5 = 0x200,

    /**
     * 文件夹
     */
    kZegoWhiteboardDocsTypeFolder = 0x10000000,
};

1.5 白板类型

/**
 * 白板类型
 *
 */
enum ZegoWhiteboardRenderMode
{
    /**
     * 普通白板类型
     */
    kZegoWhiteboardRenderModeWhiteboard,

    /**
     * 文件白板类型
     */
    kZegoWhiteboardRenderModeWhiteboardDocs,
};

1.6 白板属性

/**
 * 白板属性
 *
 */
struct ZegoWhiteboardViewModel
{
    /**
     * 白板类型
     */
    ZegoWhiteboardRenderMode mode;

    /**
     * 白板所属房间id
     */
    char room_id[256];

    /**
     * 白板名称,当白板类型是文件白板时,则为文件名称
     */
    char name[128];

    /**
     * 白板的等比宽
     */
    unsigned int aspect_width;

    /**
     * 白板的等比高
     */
    unsigned int aspect_height;

    /**
     * 白板的页数
     */
    int page_count;

    /**
     * 白板的创建时间,单位毫秒
     */
    unsigned long long create_time;

    /**
     * 白板关联的文件信息,当白板类型是文件白板时,此结构必须填充
     */
    struct ZegoWhiteboardViewFileInfo file_info;
};

白板信息

描述白板的数据结构,用来初始化 ZegoWhiteboardView 以及同步相关信息到远端。

例如:如果我们需要创建一个 16:9 的白板,并且宽度可以有 5 页,那么相关参数设置为:

ZegoWhiteboardViewModel model
memset(&model,0,sizeof(model));

model.aspect_width = 16.0 * 5
model.aspect_height = 9.0
model.page_count = 5

strcpy(model.name,"白板名字");

1.7 白板关联的文件信息

/**
 * 白板关联文件信息
 *
 */
struct ZegoWhiteboardViewFileInfo
{
    /**
     * 文件ID,如果为空,表示没有关联文件
     */
    char file_id[256];

    /**
     * 文件名称,如果是Excel类型的文件,则为Sheet的名称
     */
    char file_name[256];

    /**
     * 文件共享鉴权字段,暂未使用
     */
    char auth_key[256];

    /**
     * 文件类型
     */
    enum ZegoWhiteboardDocsType file_type;
};

1.8 标识 view ID

typedef unsigned long long ZegoWhiteboardViewID;

1.9 标识白板 ID

typedef unsigned long long ZegoWhiteboardID;

2 方法

2.1 设置 log 等级和路径

/**
 * 设置log路径
 *
 * @param log_path log保存路径
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_log_folder(const char* log_path);

2.2 设置 SDK 缓存路径

/**
 * 设置SDK缓存路径
 *
 * 当使用文件白板时,此方法必须设置
 *
 * @param cache_path SDK缓存路径
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_cache_folder(const char* cache_path);

2.3 获取 SDK 版本号

/**
 * 获取SDK版本号
 *
 * @return SDK版本号
 */
ZEGOAPI const char* ZEGOCALL zego_whiteboard_get_version();

2.4 注册错误通知

/**
 * 注册错误通知
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_reg_error_notify(zego_whiteboard_error_notify fn, void* user_context);

2.5 设置是否测试环境

/**
 * 设置是否使用测试环境
 *
 * @param is_test 是否使用测试环境
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_test_env(bool isTese);

2.6 设置用户自定义属性

/**
 * 设置用户自定义属性
 *
 * @return 成功或失败
 */
ZEGOAPI bool ZEGOCALL zego_whiteboard_set_custom_config(const char* key, const char* value);

2.7 初始化 SDK

/**
 * 初始化SDK
 *
 * 在初始化房间之后,在登录房间之前调用
 *
 * @param app_sign byte数组 例如{0x7f, 0xa0, 0xba,....}
 * @param sign_len app_sign数组长度
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_initialize(unsigned int app_id, const char* app_sign, unsigned int sign_len);

2.8 注册 SDK 初始化回调

/**
 * 注册SDK初始化回调
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_reg_initialize_callback(zego_whiteboard_initialize_callback fn, void* user_context);

2.9 反初始化 SDK

/**
 * 反初始化SDK
 *
 * 在退出房间之后,反初始化房间之前调用
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_uninitialize();

2.10 注册 SDK 反初始化回调

/**
 * 注册SDK反初始化回调
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_reg_uninitialize_callback(zego_whiteboard_uninitialize_callback fn, void* user_context);

2.11 获取当前房间内所有白板

/**
 * 获取当前房间内所有白板
 *
 * 此操作会请求后台拉取房间内的白板,一般在进入房间后立即拉取一次
 *
 * @return 请求序号
 */
ZEGOAPI ZegoSeq ZEGOCALL zego_whiteboard_get_whiteboard_list();

2.12 注册获取白板列表回调

/**
 * 注册获取白板列表回调
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_reg_get_whiteboard_list_callback(zego_whiteboard_get_whiteboard_list_callback fn, void* user_context);

2.13 创建 view

/**
 * 创建view, 用来显示白板
 *
 * 用于显示白板,view窗口与父窗口并不是实际的父子关系,view窗口始终能保持在父窗口的上层,当父窗口的位置或者大小发生变更时,需调用zego_whiteboard_show_view调整白板的位置和大小。
 *
 * @param parent 父窗口句柄
 *
 * @return 请求序号
 */
ZEGOAPI ZegoSeq ZEGOCALL zego_whiteboard_create_view(WINDOW_HANDLE parent);

2.14 注册创建 view 窗口回调

/**
 * 注册创建view窗口回调
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_reg_create_view_callback(zego_whiteboard_create_view_callback fn, void* user_context);

2.15 显示或者隐藏 view

/**
 * 显示或者隐藏view
 *
 * 1. 当父窗口移动、大小变更时,调用 zego_whiteboard_show_view(view_id, true) 调整白板位置
 * 2. 当父窗口最小化、隐藏时,调用 zego_whiteboard_show_view(view_id, false) 隐藏白板
 *
 * @param view_id view标识
 * @param show 显示或者隐藏
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_show_view(ZegoWhiteboardViewID view_id, bool show);

2.16 获取 view 的窗口句柄

/**
 * 获取view的窗口句柄
 *
 * @param view_id view标识
 *
 * @return 窗口句柄
 */
ZEGOAPI WINDOW_HANDLE ZEGOCALL zego_whiteboard_get_view_hwnd(ZegoWhiteboardViewID view_id);

2.17 销毁 view

/**
 * 销毁view
 *
 * @param view_id view标识
 *
 * @return 请求序号
 */
ZEGOAPI ZegoSeq ZEGOCALL zego_whiteboard_destroy_view(ZegoWhiteboardViewID view_id);

2.18 注册销毁 view 回调

/**
 * 注册销毁view回调
 *
 * @param fn 回调函数地址
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_reg_destroy_view_callback(zego_whiteboard_destroy_view_callback fn, void* user_context);

2.19 创建白板

/**
 * 创建白板
 *
 * @param view_model 1. 如果创建纯白板,则必须设置的值有mode、name、aspect_widht、aspect_height、page_count
 *                   2. 如果是文件白板,则必须设置的值有mode、file_info.file_id,其他均为SDK内部填充
 *
 * @return 请求序号
 */
ZEGOAPI ZegoSeq ZEGOCALL zego_whiteboard_create_whiteboard(struct ZegoWhiteboardViewModel view_model);

2.20 注册创建白板回调

/**
 * 注册创建白板回调
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_reg_create_whiteboard_callback(zego_whiteboard_create_whiteboard_callback fn, void* user_context);

2.21 销毁白板

/**
 * 销毁白板
 *
 * @param whiteboard_id 白板标识
 *
 * @return 请求序号
 */
ZEGOAPI ZegoSeq ZEGOCALL zego_whiteboard_destroy_whiteboard(ZegoWhiteboardID whiteboard_id);

2.22 注册销毁白板回调

/**
 * 注册销毁白板回调
 *
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_reg_destroy_whiteboard_callback(zego_whiteboard_destroy_whiteboard_callback fn, void* user_context);

2.23 获取白板属性

/**
 * 获取白板属性
 *
 * @param whiteboard_id 白板标识
 *
 * @return 白板属性
 */
ZEGOAPI struct ZegoWhiteboardViewModel* ZEGOCALL zego_whiteboard_get_whiteboard_view_model(ZegoWhiteboardID whiteboard_id);

2.24 设置 view 当前显示的白板

/**
 * 设置view当前显示的白板
 *
 * @param view_id view标识
 * @param whiteboard_id 白板标识
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_current_whiteboard(ZegoWhiteboardViewID view_id, ZegoWhiteboardID whiteboard_id);

2.25 获取 view 当前显示的白板

/**
 * 获取view当前显示的白板
 *
 * @param view_id view标识
 *
 * @return 白板标识
 */
ZEGOAPI ZegoWhiteboardID ZEGOCALL zego_whiteboard_get_current_whiteboard(ZegoWhiteboardViewID view_id);

2.26 获取当前滚动百分比

/**
 * 获取当前滚动百分比
 *
 * @param whiteboard_id 白板标识
 * @param horizontal 水平滚动百分比
 * @param vertical 垂直滚动百分比
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_get_current_scroll_percent(ZegoWhiteboardID whiteboard_id, float* horizontal_percent, float* vertical_percent);

2.27 滚动白板

/**
 * 滚动白板
 *
 * @param whiteboard_id 白板标识
 * @param horizontal 水平滚动百分比(0.0000000~1.0000000)
 * @param vertical 垂直滚动百分比(0.0000000~1.0000000)
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_scroll(ZegoWhiteboardID whiteboard_id, float horizontal_percent, float vertical_percent);

2.28 设置白板缩放系数

/**
 * 设置白板缩放系数
 *
 * @param whiteboard_id 白板标识
 * @param factor 缩放系数(1.0000000~3.0000000)
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_scale_factor(ZegoWhiteboardID whiteboard_id, float factor);

2.29 获取白板缩放系数

/**
 * 获取白板缩放系数
 *
 * @param whiteboard_id 白板标识
 *
 * @return 白板缩放系数
 */
ZEGOAPI float ZEGOCALL zego_whiteboard_get_scale_factor(ZegoWhiteboardID whiteboard_id);

2.30 获取白板总页数

/**
 * 获取白板总页数
 *
 * 1. 当ZegoWhiteboardAttribute.mode是kZegoWhiteboardRenderModeWhiteboard时,获取的是创建白板时设置的总页数ZegoWhiteboardAttribute.page_count
 * 2. 当ZegoWhiteboardAttribute.mode是kZegoWhiteboardRenderModeWhiteboardDocs时,获取的是文件的页数,txt与图片类型的文件页数固定为1
 *
 * @param whiteboard_id 白板标识
 *
 * @return 白板总页数
 */
ZEGOAPI unsigned int ZEGOCALL zego_whiteboard_get_page_count(ZegoWhiteboardID whiteboard_id);

2.31 获取白板当前显示的页码

/**
 * 获取白板当前显示的页码
 *
 * @param whiteboard_id 白板标识
 *
 * @return 当前页码
 */
ZEGOAPI unsigned int ZEGOCALL zego_whiteboard_get_current_page(ZegoWhiteboardID whiteboard_id);

2.32 下一页

/**
 * 下一页
 *
 * @param whiteboard_id 白板标识
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_next_page(ZegoWhiteboardID whiteboard_id);

2.33 上一页

/**
 * 上一页
 *
 * @param whiteboard_id 白板标识
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_previous_page(ZegoWhiteboardID whiteboard_id);

2.34 跳转到指定页

/**
 * 跳转到指定页
 *
 * @param whiteboard_id 白板标识
 * @param page 指定页
 */
ZEGOAPI void ZEGOCALL  zego_whiteboard_flip_page(ZegoWhiteboardID whiteboard_id, unsigned int page);

2.35 动态 PPT 下一步

/**
 * 动态ppt下一步
 *
 * 只当文件时动态ppt时才生效
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_docs_next_step(ZegoWhiteboardID whiteboard_id);

2.36 动态 PPT 上一步

/**
 * 动态ppt上一步
 *
 * 只当文件时动态ppt时才生效
 *
 * @param whiteboard_id  白板标识
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_docs_previous_step(ZegoWhiteboardID whiteboard_id);

2.37 动态 PPT 获取当前页的总步数

/**
 * 动态ppt获取当前页的总步数
 *
 * 只当文件时动态ppt时才生效
 *
 * @param whiteboard_id 白板标识
 *
 * @return 当前页总步数
 */
ZEGOAPI unsigned int ZEGOCALL zego_whiteboard_docs_get_step_count(ZegoWhiteboardID whiteboard_id);

2.38 获取动态 PPT 当前页的当前步数

/**
 * 获取动态ppt当前页的当前步数
 *
 * 只当文件时动态ppt时才生效
 *
 * @param whiteboard_id 白板标识
 *
 * @return 当前页的当前步数
 */
ZEGOAPI unsigned int ZEGOCALL zego_whiteboard_docs_get_current_step(ZegoWhiteboardID whiteboard_id);

2.39 注册房间内其他成员创建白板通知

/**
 *  注册房间内其他成员创建白板通知
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_reg_added_whiteboard_notify(zego_whiteboard_added_whiteboard_notify fn, void* user_context);

2.40 注册房间内其他成员销毁白板通知

/**
 * 注册房间内其他成员销毁白板通知
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_reg_removed_whiteboard_notify(zego_whiteboard_removed_whiteboard_notify fn, void* user_context);

2.41 注册白板滚动变更通知

/**
 * 注册白板滚动变更通知
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_reg_scroll_changed_notify(zego_whiteboard_scroll_changed_notify fn, void* user_context);

2.42 注册动态 PPT 步数变更通知

/**
 * 注册动态ppt步数变更通知
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_docs_reg_step_changed_notify(zego_whiteboard_docs_step_changed_notify fn, void* user_context);

3 白板方法

3.1 设置使用的白板工具

/**
 * 设置使用的白板工具
 *
 * @param type 白板工具类型
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_tool_type(enum ZegoWhiteboardToolType type);

3.2 获取正在使用的白板工具

/**
 * 获取正在使用的白板工具
 *
 * @return 正在使用的白板工具类型
 */
ZEGOAPI enum ZegoWhiteboardToolType ZEGOCALL zego_whiteboard_get_tool_type();

3.3 设置画笔颜色

/**
 * 设置画笔颜色
 *
 * @param argb 画笔颜色
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_brush_color(unsigned int argb);

3.4 获取当前画笔颜色

/**
 * 获取当前画笔颜色
 *
 * @return 当前白板画笔颜色
 */
ZEGOAPI unsigned int ZEGOCALL zego_whiteboard_get_brush_color();

3.5 设置画笔粗细

/**
 * 设置画笔粗细
 *
 * 绘制的画笔粗细并不是设置的值,而是根据白板实际的显示大小作调整,实际绘制的size=白板view宽度/1280*size
 *
 * @param size 画笔粗细
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_brush_size(unsigned int size);

3.6 获取当前画笔粗细

/**
 * 获取当前画笔粗细
 *
 * @return 当前白板画笔粗细
 */
ZEGOAPI unsigned int ZEGOCALL zego_whiteboard_get_brush_size();

3.7 设置文本大小

/**
 * 设置文本大小
 *
 * 绘制的文本大小并不是设置的值,而是根据白板实际的显示大小作调整,实际绘制的size=白板view宽度/1280*size
 *
 * @param size 文本大小
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_text_size(unsigned int size);

3.8 获取当前文本大小

/**
 * 获取当前文本大小
 *
 * @return 当前文本大小
 */
ZEGOAPI unsigned int ZEGOCALL zego_whiteboard_get_text_size();

3.9 设置文本是否粗体

/**
 * 设置文本是否粗体
 *
 * @param bold 是否粗体
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_text_bold(bool bold);

3.10 获取文本是否粗体

/**
 * 获取文本是否粗体
 *
 * @return 是否粗体
 */
ZEGOAPI bool ZEGOCALL zego_whiteboard_get_text_bold();

3.11 设置文本斜体

/**
设置文本斜体

@param    是否斜体
*/
ZEGOAPI void ZEGOCALL zego_whiteboard_set_text_italic(bool italic);

3.12 获取文本是否斜体

/**
 * 设置文本是否斜体
 *
 * @param italic 是否斜体
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_text_italic(bool italic);

3.13 设置白板是否允许操作

/**
 * 设置白板是否允许操作
 *
 * 白板默认允许操作,禁用后,白板不响应鼠标消息
 *
 * @param whiteboard_id 白板标识
 * @param enable 是否允许操作
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_enable(ZegoWhiteboardID whiteboard_id, bool enable);

3.14 获取白板是否允许操作

/**
 * 获取白板是否允许操作
 *
 * @return 是否允许操作
 */
ZEGOAPI bool ZEGOCALL zego_whiteboard_is_enable(ZegoWhiteboardID whiteboard_id);

3.15 设置白板背景色

/**
 * 设置白板背景色
 *
 * @param whiteboard_id 白板标识
 * @param a_rgb 白板背景色
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_set_background_color(ZegoWhiteboardID whiteboard_id, unsigned int argb);

3.16 获取白板背景色

/**
 * 获取白板背景色
 *
 * @param whiteboard_id 白板标识
 *
 * @return 白板背景色
 */
ZEGOAPI unsigned int ZEGOCALL zego_whiteboard_get_background_color(ZegoWhiteboardID whiteboard_id);

3.17 撤销白板操作

/**
 * 撤销白板操作
 *
 * 只能撤销本地的操作
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_undo(ZegoWhiteboardID whiteboard_id);

3.18 重做白板操作

/**
 * 重做白板操作
 *
 * 只能重做本地操作
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_redo(ZegoWhiteboardID whiteboard_id);

3.19 清空白板所有内容

/**
 * 清空白板所有内容
 *
 * 清空操作无法撤销
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_clear(ZegoWhiteboardID whiteboard_id);

4 文件方法

4.1 上传文件并转码

/**
 * 上传文件并转码
 *
 * @param file_path 文件本地路径,utf8编码
 * @param type 转码类型,动态ppt类型文件选择kZegoWhiteboardDocsRenderTypeVectorAndIMG,其他类型可选择kZegoWhiteboardDocsRenderTypeVectorAndIMG
 * @param password 密码,暂未使用
 *
 * @return 请求序号
 */
ZEGOAPI ZegoSeq ZEGOCALL zego_whiteboard_docs_upload(const char* file_path, enum ZegoWhiteboardDocsRenderType type, const char* password);

4.2 注册上传文件进度通知

/**
 * 注册上传文件进度通知
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_docs_reg_upload_progress_notify(zego_whiteboard_docs_upload_progress_notify fn, void *user_context);

4.3 注册上传文件结果回调

/**
 * 注册上传文件结果回调
 *
 * @param fn 回调函数地址
 * @param user_context 用户自定义数据
 */
ZEGOAPI void ZEGOCALL zego_whiteboard_docs_reg_upload_callback(zego_whiteboard_docs_upload_callback fn, void* user_context);

4.4 获取指定 PPT 所有页的备注

/**
 * 获取指定ppt所有页的备注
 *
 * @param file_id 文件ID
 *
 * @return 所有页的备注,以“|”分割,note1|note2|note3|....
 */
ZEGOAPI const char* ZEGOCALL zego_whiteboard_docs_get_ppt_notes(const char* file_id);

4.5 获取指定文件所有页的缩略图

/**
 * 获取指定文件所有页的缩略图
 *
 * @param file_id 文件ID
 *
 * @return 所有页的缩略图url,以“|”分割,url1|url2|url3|....
 */
ZEGOAPI const char* ZEGOCALL zego_whiteboard_docs_get_thumbnail_url(const char* file_id);

5 回调原型定义

5.1 SDK 运行错误通知

/**
 * SDK 运行错误通知
 *
 * @param error_code 错误码
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_error_notify)(ZegoWhiteboardErrorCode error_code, void* user_context);

5.2 初始化 SDK 的回调

/**
 * 初始化SDK的回调
 *
 * @param error_code 错误码
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_initialize_callback)(ZegoWhiteboardErrorCode error_code, void* user_context);

5.3 反初始化 SDK 的回调

/**
 * 反初始化SDK的回调
 *
 * @param error_code 错误码
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_uninitialize_callback)(ZegoWhiteboardErrorCode error_code, void* user_context);

5.4 获取当前房间内白板列表的回调

/**
 * 获取当前房间内白板列表的回调
 *
 * @param seq 调用zego_whiteboard_get_whiteboard_list返回的请求序号
 * @param error_code 错误码
 * @param whiteboard_id_list 房间内的白板列表
 * @param count 房间内的白板数量
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_get_whiteboard_list_callback)(ZegoSeq seq, ZegoWhiteboardErrorCode error_code, ZegoWhiteboardID* whiteboard_id_list, unsigned int count, void* user_context);

5.5 创建 view 的回调

/**
 * 创建view的回调
 *
 * @param seq 调用 zego_whiteboard_create_view 返回的请求序号
 * @param error_code 错误码
 * @param view_id 白板viewID
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_create_view_callback)(ZegoSeq seq, ZegoWhiteboardErrorCode error_code, ZegoWhiteboardViewID view_id, void* user_context);

5.6 销毁 view 的回调

/**
 * 销毁view的回调
 *
 * @param seq 调用 zego_whiteboard_destroy_view 返回的请求序号
 * @param error_code 错误码
 * @param view_id 被销毁的白板viewID
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_destroy_view_callback)(ZegoSeq seq, ZegoWhiteboardErrorCode error_code, ZegoWhiteboardViewID view_id, void* user_context);

5.7 创建白板的回调

/**
 * 创建白板的回调
 *
 * @param seq 调用 zego_whiteboard_create_whiteboard 返回的请求序号
 * @param error_code 错误码
 * @param whiteboard_id_list 创建成功返回的白板列表
 * @param count 白板数量,创建Excel类型的白板时,返回的是Sheet的数量,因为一个Sheet对应一个白板,其他类型均为1
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_create_whiteboard_callback)(ZegoSeq seq, ZegoWhiteboardErrorCode error_code, ZegoWhiteboardID* whiteboard_id_list, int count, void* user_context);

5.8 销毁白板的回调

/**
 * 销毁白板的回调
 *
 * @param seq 调用 zego_whiteboard_destroy_whiteboard 返回的请求序号
 * @param error_code 错误码
 * @param whiteboard_id 被销毁的白板
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_destroy_whiteboard_callback)(ZegoSeq seq, ZegoWhiteboardErrorCode error_code, ZegoWhiteboardID whiteboard_id, void* user_context);

5.9 房间内其他成员创建白板的通知

/**
 * 房间内其他成员创建白板的通知
 *
 * @param whiteboard_id_list 其他成员创建的白板列表
 * @param count 白板数量
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_added_whiteboard_notify)(ZegoWhiteboardID* whiteboard_id_list, unsigned int count, void* user_context);

5.10 房间内其他成员销毁白板的通知

/**
 * 房间内其他成员销毁白板的通知
 *
 * @param whiteboard_id 被销毁的白板
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_removed_whiteboard_notify)(ZegoWhiteboardID whiteboard_id, void* user_context);

5.11 白板发生滚动的通知

/**
 * 白板发生滚动的通知
 *
 * 本端的翻页、滚动和房间内其他成员的翻页、滚动都会触发此通知
 *
 * @param whiteboard_id 发生滚动的白板
 * @param horizontal_percent 滚动之后的水平百分比
 * @param vertical_percent 滚动之后的垂直百分比
 * @param page 滚动之后的当前页码
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_scroll_changed_notify)(ZegoWhiteboardID whiteboard_id, float horizontal_percent, float vertical_percent, unsigned int page, void* user_context);

5.12 文件上传转码进度通知

/**
 * 文件上传转码进度通知
 *
 * @param seq 调用 zego_whiteboard_docs_upload 返回的请求序号
 * @param status 文件上传转码状态
 * @param rate 文件上传进度
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_docs_upload_progress_notify)(ZegoSeq seq, enum ZegoWhiteboardDocsUploadStatus status, float rate, void *user_context);

5.13 文件上传转码的回调

/**
 * 文件上传转码的回调
 *
 * @param seq 调用 zego_whiteboard_docs_upload 返回的请求序号
 * @param error_code 错误码
 * @param file_id 文件ID,创建白板时使用
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_docs_upload_callback)(ZegoSeq seq, ZegoWhiteboardErrorCode error_code, const char* file_id, void* user_context);

5.14 动态 PPT 发生滚动或者步数变更的通知

/**
 * 动态ppt发生滚动或者步数变更的通知
 *
 * @param whiteboard_id 发生滚动的白板
 * @param horizontal_percent 滚动后的水平百分比
 * @param vertical_percent 滚动后的垂直百分比
 * @param page 滚动后的当前页码
 * @param step 滚动后的当前页的当前步数
 * @param user_context 用户自定义数据
 */
typedef void(*zego_whiteboard_docs_step_changed_notify)(ZegoWhiteboardID whiteboard_id, float horizontal_percent, float vertical_percent, unsigned int page, unsigned int step, void* user_context);
本篇目录
  • 免费试用
  • 提交工单
    咨询集成、功能及报价等问题
    电话咨询
    400 1006 604
    咨询客服
    微信扫码,24h在线

    联系我们

  • 文档反馈