【WideLab暑假之旅】Week06(2023/08/07-08/11)

20230807

影片剪辑+音轨调製

FlexClip | 线上影片编辑 - 免费製作影片

可自动生成字幕

20230808

影片编辑

壹、Agora房间修改

修改后reader会出现以下问题(因为reader不可创建房间!)

在fastboard_flutter内的widget处理提供的工具们,type/application是提供的工具

先把fastboard_flutter内的档案全部加上中文注解

controller是与whiteboard SDK联繫的桥樑,而widget是针对controller给的函式提供更全面的设定+配置

贰、对fastboard套件进行修改

一、把yaml指向Github路径,方便更改SDK功能

How to modify plugins Dart code Flutter?

How to Modify an existing pub package to use in your flutter project

换为自己的Github(跟Github Desktop连结)来编辑+测试 → 可执行

更改颜色测试,可行(只是要先从).yaml移出再移入,flutter pub get没有用

二、ChatGPT字数突破

用这个方法可以成功突破字数限制,问较长的问题/程式码

利用 ChatGPT 提示语突破字数限制教学,深入分析摘要2万字资料

三、Whiteboard SDK概念架构

这段程式码提供了一个用于互动式白板的客户端库,通过与Web端白板互动进行通信,实现了在应用程式中显示白板、插入内容、同步状态等功能。以下是这段程式码的主要功能、架构详述以及提供的函式与功能:

功能总结:
这个程式码的主要功能是与一个名为 "白板" 的Web端应用进行互动,并在客户端应用中实现以下功能:

显示白板画面。插入、移动、删除图片和文字等内容。同步画面状态和操作。发送自定义事件。设置画面显示模式、视野缩放比例等。

程式码架构详述:
程式码分为四个部分,分别是 "@1"、"@2"、"@3" 和 "@4"。这些部分提供了一个名为 "JavaScriptNamespaceInterface" 的类别,该类别用于管理与Web端白板的互动。该类别包含了一系列的方法,每个方法对应一个具体的功能或操作。这些方法使用 "dsBridge" 这个桥接程式库来实现客户端和Web端之间的通信。每个方法的实现根据功能的不同,执行不同的操作,例如发送请求、处理回应、更新状态等。

四、Whiteboard SDK函式提供(总览)

提供的函式与功能:
以下是 "@1"、"@2"、"@3" 和 "@4" 中所提供的具体函式与功能的总结:

"@1" 中提供的函式与功能:JavaScriptNamespaceInterface(String namespace): 创建一个JavaScript命名空间的介面,用于在客户端和Web端之间通信。setMethod(String name, Function method): 设置特定名称的方法,用于接收Web端的请求。"@2" 中提供的函式与功能:一些回调函式,用于处理不同情况下的状态变化或事件触发,例如当房间状态变化时、发生错误时等。"@3" 中提供的函式与功能:一系列与房间、成员、场景等相关的方法,用于获取房间状态、成员状态、插入图片、切换场景等操作。"@4" 中提供的函式与功能:更多的方法,用于插入图片、文字,控制画面同步,发送事件,设置画面显示模式等。

这些函式和功能共同实现了一个客户端库,使应用能够与Web端白板进行互动,并在应用中实现互动式白板的各种操作和功能。它提供了许多用于操作和控制白板的方法,使开发者能够根据需求进行自定义的互动体验。

五、WhiteBoard SDK所提供的函式

@1 中提供的函式与功能:

JavaScriptNamespaceInterface(String namespace): 创建一个 JavaScript 命名空间的介面,用于在客户端和 Web 端之间通信。setMethod(String name, Function method): 设置特定名称的方法,用于接收 Web 端的请求。

@2 中提供的函式与功能:

_fireRoomStateChanged(String value): 处理房间状态变化的回调函式,更新本地房间状态。_firePhaseChanged(String value): 处理阶段变化的回调函式,更新本地阶段状态。_fireCanUndoStepsUpdate(value): 处理可撤销步骤更新的回调函式,触发可撤销步骤状态更新。_fireCanRedoStepsUpdate(value): 处理可重做步骤更新的回调函式,触发可重做步骤状态更新。_fireDisconnectWithError(value): 处理断开连接并带有错误信息的回调函式,触发断开连接事件。_fireKickedWithReason(value): 处理被踢出房间的回调函式,触发被踢出事件。_fireCatchErrorWhenAppendFrame(value): 处理追加帧时的错误回调函式,触发错误事件。_fireMagixEvent(value): 处理魔法事件的回调函式,触发魔法事件。_fireHighFrequencyEvent(value): 处理高频事件的回调函式,触发高频事件。

@3 中提供的函式与功能:

createRoomInterface(): 创建房间介面,设置与房间相关的方法。_fireRoomStateChanged(String value): 更新房间状态并触发房间状态变化事件。_firePhaseChanged(String value): 更新阶段状态并触发阶段变化事件。_fireCanUndoStepsUpdate(value): 触发可撤销步骤状态更新事件。_fireCanRedoStepsUpdate(value): 触发可重做步骤状态更新事件。_fireDisconnectWithError(value): 触发断开连接事件并带有错误信息。_fireKickedWithReason(value): 触发被踢出事件并带有原因。_fireCatchErrorWhenAppendFrame(value): 触发追加帧时的错误事件。_fireMagixEvent(value): 触发魔法事件。_fireHighFrequencyEvent(value): 触发高频事件。isDisconnectedBySelf(): 检查是否是自己断开连接。setGlobalState(GlobalState modifyState): 设置全局状态。getGlobalState<T extends GlobalState>(GlobalStateParser<T> parser): 获取全局状态。setMemberState(MemberState state): 设置成员状态。getMemberState(): 获取成员状态。getRoomMembers(): 获取房间成员列表。setViewMode(ViewMode viewMode): 设置视图模式。getBroadcastState(): 获取广播状态。getRoomStateNative(): 获取本地缓存的房间状态。getRoomState(): 获取最新的房间状态。getRoomPhaseNative(): 获取本地阶段状态。getRoomPhase(): 获取最新的阶段状态。disconnect(): 断开连接。disableOperations(bool value): 允许/禁止白板操作。disableCameraTransform(bool value): 允许/禁止视图移动缩放。disableDeviceInputs(bool value): 允许/禁止使用白板工具。disableWindowOperation(bool value): 允许/禁止窗口操作。disableEraseImage(bool value): 允许/禁止擦除图片。getWritable(): 获取是否可写状态。setWritable(bool writable): 设置是否可写状态。debugInfo(): 获取调试信息。pptNextStep(): 下一步幻灯片。pptPreviousStep(): 上一步幻灯片。addPage([Scene? scene, bool after = false]): 添加场景。nextPage(): 下一页场景。prevPage(): 上一页场景。putScenes(String dir, List<Scene> scene, int index): 放置场景。setScenePath(String path): 设置场景路径。setSceneIndex(int index): 设置场景索引。moveScene(String sourcePath, String targetDirOrPath): 移动场景。removeScenes(String dirOrPath): 删除场景或场景组。getScenes(): 获取场景

六、(fastboard) controller.dart提供函式

FastRoomController 构造函数:FastRoomController(fastRoomOptions):初始化 FastRoomController 实例,并接受 FastRoomOptions 作为参数。覆盖物和事件流:onOverlayChanged():返回一个流(Stream),用于监听覆盖物(overlay)变化的事件。onError():返回一个流,用于监听快速房间产生错误的事件。onSizeChanged():返回一个流,用于监听快速房间视图尺寸变化的事件。设定和操作白板房间:changeOverlay(int key):切换覆盖物,通过添加 OverlayChangedEvent 到事件流。notifyFastError(WhiteException exception):通知快速房间产生错误,将 FastErrorEvent 添加到事件流。notifySizeChanged(Size size):通知视图尺寸变化,将 SizeChangedEvent 添加到事件流。cleanScene():清除当前场景的绘画元素和图像。addPage():在当前场景的目录中添加一个新页面。prevPage():切换到上一个页面。nextPage():切换到下一个页面。removePages():移除所有页面。setAppliance(FastAppliance fastAppliance):设定白板工具,例如画笔、橡皮擦等。setStrokeWidth(num strokeWidth):设定元素的绘画笔触宽度。setStrokeColor(Color color):设定元素的绘画笔触颜色。setWritable(bool writable):设定使用者在房间中的写入权限。undo():撤销上一步操作。redo():重做一步操作。zoomTo(num zoomScale):将白板缩放至指定比例。zoomReset():重置白板的缩放比例。joinRoomWithSdk(WhiteSdk whiteSdk):使用指定的 WhiteSdk 加入白板房间。joinRoom():加入白板房间。reconnect():重新连接房间。insertImage(String url, num width, num height):在白板上插入一个图片。insertVideo(String url, String title):在白板的子窗口插入一个视频或音频。insertDoc(InsertDocParams params):在白板的子窗口插入一个文档。setContainerSizeRatio(double ratio):设定容器的大小比例。updateRoomLayoutSize(Size size):更新 FastRoomView 的布局尺寸。updateThemeData(bool useDarkTheme, FastThemeData themeData):更新白板的主题。RoomState 和事件处理:_onRoomStateChanged(RoomState newState):处理房间状态变化事件。_onRoomPhaseChanged(String phase):在重新连接时,处理房间阶段变化事件,清除 redo 和 undo 计数。_onRoomKicked(String reason):处理房间被踢出事件。_onRoomError(String error):处理房间错误事件。_onRoomDisconnected(String error):处理房间断开事件。_onCanRedoUpdated(int redoCount):处理可重做计数更新事件。_onCanUndoUpdated(int undoCount):处理可撤销计数更新事件。释放资源:dispose():在 FastRoomController 被销毁时,关闭相关的事件流。

参、另外Web Doc

GitHub - Nero-Hu/Whiteboard-Web-doc at 8632690570b284f80bc7841e020cd0c2186757b3

20230809

壹、Disconnect

加函式在controller → 在default增加初始设定元素 → 在

在default UI介面中加入icon测试disconnect

terminal会出现以下讯息与显示持续loading的画面

加上段disconnect后返回上一页功能:Termenal显示状态转换与页面成功回到上一页

新增了文字模式

文件转换相关流程:

禁用设备功能:

20230810

测试房间加人:修改add 人的页面

20230811

测试link实行

create white leaf API修理ing ,无法呼叫:

目前link取得资料测试可成功

但在确认资料(把三项参数带入example constand.dart)的时候出现报错

找不到错误问题点QAO报错显示js,params无收到消息,在whiteboradBridge里面无法看懂

报错问题详述:


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章