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" 中所提供的具体函式与功能的总结:
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)的时候出现报错