在多人协作场景下,用户经常需要使用电子白板进行互动。
平台 API 封装了小鱼易连电子白板应用,通过 SDK 开发者可快速实现电子白板应用场景,电子白板功能包含:画线、擦除、切换颜色、切换画笔。
白板状态的变更同样会通过事件回调通知参会者,开发者获取后可进行后续业务处理。
白板的实现流程基本上和屏幕共享一致,主要功能为调用开始/结束方法以及监听白板服务状态。 首先通过 registerWhiteboardChangeListener 方法来注册白板服务监听,可以监听会中任意一个参会者发起或关闭白板引起的状态变化。主要有以下几个回调方法:
如果本地想要发起和停止白板,则可以通过调用 startWhiteboard 来启动白板服务,通过 stopWhiteboard 来停止白板服务。 白板消息的类型定义在 com.ainemo.sdk.model.BaseMessage 中,具体如下:
打开白板:
XyCallActivity.java
NemoSDK._getInstance_().startWhiteboard()
停止白板:
XyCallActivity.java
NemoSDK._getInstance_().stopWhiteboard()
白板状态处理:
XyCallActivity.java
// 注册白板监听(接收远端白板, 本地打开白板结果在此处回调)
NemoSDK._getInstance_().registerWhiteboardChangeListener(whiteboardChangeListener);
private WhiteboardChangeListener whiteboardChangeListener = new WhiteboardChangeListener() {
@SuppressLint("CheckResult")
@Override
public void onWhiteboardStart() {
//开始白板服务
}
@SuppressLint("CheckResult")
@Override
public void onWhiteboardStop() {
//关闭白板服务
}
@SuppressLint("CheckResult")
@Override
public void onWhiteboardMessage(String message) {
//白板消息
}
@SuppressLint("CheckResult")
@Override
public void onWhiteboardMessages(ArrayList<String> messages) {
//白板消息
}
}