AnyChat技术支持论坛

标题: 2016-02-01 增加远程协助功能,开放API接口 [打印本页]

作者: admin    时间: 2016-2-1 14:26
标题: 2016-02-01 增加远程协助功能,开放API接口
远程协助分两部分:
1、远程桌面视频的截取、传输及显示,可参考:(a、AnyChat新增屏幕共享(远程桌面)功能;b、新增多路音视频流输入功能,实现本地摄像头视频与远程桌面同步传输
2、本地的键盘、鼠标事件传输到远程并执行。

一、开放API接口
本次开放的API接口属于后者,即本地键盘、鼠标事件的传输与执行。

开放的API接口如下:
  1. // 内核参数定义(API:BRAC_SetSDKOption、BRAC_GetSDKOption 传入参数)
  2. #define BRAC_SO_CORESDK_REMOTEASSISTHWND        214        ///< 远程协助窗口句柄
  3. #define BRAC_SO_CORESDK_REMOTEASSISTXPOS        215        ///< 远程协助窗口滚动条位置(X)
  4. #define BRAC_SO_CORESDK_REMOTEASSISTYPOS        216        ///< 远程协助窗口滚动条位置(Y)

  5. // 视频呼叫标志定义(API:BRAC_VideoCallControl 传入参数)
  6. #define BRAC_VIDEOCALL_FLAGS_ASSISTREQ        0x0100        ///< 请求目标用户远程协助
  7. #define BRAC_VIDEOCALL_FLAGS_CONTROLREQ       0x0200        ///< 请求控制目标用户
复制代码
二、工作流程
1、使用视频呼叫API接口:BRAC_VideoCallControl建立通道(参考:AnyChat视频呼叫业务逻辑详解);
2、如果是希望本地被远程控制(请求目标用户远程协助),则调用BRAC_VideoCallControl发起呼叫时,dwFlags=BRAC_VIDEOCALL_FLAGS_ASSISTREQ;
3、如果是希望本地主动控制远程用户(请求控制目标用户),则调用BRAC_VideoCallControl发起呼叫时,dwFlags=BRAC_VIDEOCALL_FLAGS_CONTROLREQ;
4、主控端设置远程协助窗口句柄:BRAC_SetSDKOption(BRAC_SO_CORESDK_REMOTEASSISTHWND, (CHAR*)&hVideoWnd, sizeof(DWORD)); 设置该句柄后,AnyChat将会主动捕获该窗口上的键盘、鼠标事件并传输到目标计算机执行;
5、当远程协助窗口有滚动条,在滚动条移动后,在滚动条的拖动事件中需要更新AnyChat的内部状态:
    BRAC_SetSDKOption(BRAC_SO_CORESDK_REMOTEASSISTXPOS, (CHAR*)&dwXPos, sizeof(DWORD));
    BRAC_SetSDKOption(BRAC_SO_CORESDK_REMOTEASSISTYPOS, (CHAR*)&dwYPos, sizeof(DWORD));


备注:远程协助目前暂时只支持Windows平台。
参考资料:
1、AnyChat新增屏幕共享(远程桌面)功能
2、开放屏幕共享(远程桌面)参数控制接口







欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3