在多人协作场景下,用户经常需要使用电子白板进行互动。 平台 API 封装了小鱼易连电子白板应用,通过 SDK 开发者可快速实现电子白板应用场景,电子白板功能包含:画线、擦除、切换颜色、切换画笔。 白板状态的变更同样会通过事件回调通知参会者,开发者获取后可进行后续业务处理。
白板的实现流程基本上和屏幕共享一致,主要功能为调用开始/结束方法以及监听白板服务状态。 首先通过 nemoSDKDidWhiteboardStateChanged 方法监听会中任意一个参会者发起或关闭白板引起的状态变化。如果本地想要发起和停止白板,则可以通过调用 startWhiteboard 来启动白板服务,通过 stopWhiteboard 来停止白板服务;如果接收到远端白板发起回调,则不需要再调用startWhiteboard接口,同理,收到远端结束白板回调,也不需要调用stopWhiteboard接口。
- (void)startWhiteboard {
//开启白板
[[NemoSDK sharedInstance] startWhiteboard];
}
- (void)stopWhiteboard {
//关闭白板
[[NemoSDK sharedInstance] stopWhiteboard];
}
- (void)sendWhiteboardMsg {
//发送数据
[[NemoSDK sharedInstance] sendDataWhiteboard:@{XXX} type:NemoWhiteboardOperation_Draw];
}
- (void)nemoSDKDidWhiteboardStateChanged:(NemoWhiteboardRemoteState)remoteState reason:(NSString *)reason {
//白板状态回调
if (remoteState == NemoWhiteboardRemoteState_Start) {
//开启
}
if (remoteState == NemoWhiteboardRemoteState_Stop) {
//关闭
}
}
- (void)nemoSDKDidWhiteboardReceieved:(id)remoteMessage type:(NemoWhiteboardOperationState)type {
//接收到远端消息
}
白板