larksr_websdk 3.2.32 → 3.2.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,10 +12,24 @@ LarkSR 对象成员方法主要分为以下三类
12
12
  */
13
13
  initSDKAuthCode(id: string): Promise<void>;
14
14
  /**
15
- * 开始云渲染流程
16
- * @returns 是否成功。主要校验授权码是否成功
15
+ * 连接云端渲染资源
16
+ * @params appID 云端资源的 ID
17
+ * @returns Promise 调用接口并校验授权通过返回成功并自动开始连接
17
18
  */
18
- start(): Promise<void>;
19
+ connect(params: {
20
+ appliId: string;
21
+ playerMode?: number;
22
+ userType?: number;
23
+ roomCode?: string;
24
+ taskId?: string;
25
+ clientMac?: string;
26
+ groupId?: string;
27
+ regionId?: string;
28
+ targetServerIp?: string;
29
+ appKey?: string;
30
+ timestamp?: string;
31
+ signature?: string;
32
+ }): Promise<void>;
19
33
  /**
20
34
  * 重新开始云渲染流程
21
35
  */
@@ -24,6 +38,10 @@ restart(): void;
24
38
  * 重新启动云端应用
25
39
  */
26
40
  restartApp(): void;
41
+ /**
42
+ * 主动关闭连接
43
+ */
44
+ close(): void;
27
45
  ```
28
46
 
29
47
  ## 输入输出相关方法,包括鼠标,键盘,手柄,触摸
@@ -42,9 +60,156 @@ inputText(text: string): void;
42
60
  /**
43
61
  * 操作相关事件
44
62
  * 所有事件坐标相对于云端应用,不相对于网页
63
+ * CloudLark.IClientInput 是所有操作指令接口对象的合集
64
+ * 可以单独使用下面 moseMove 等接口
45
65
  * @param input 操作指令
46
66
  */
47
67
  sendInput(input: CloudLark.IClientInput): void;
68
+ /**
69
+ * 向云端发送鼠标移动事件
70
+ * 事件坐标相对于云端应用,不相对于网页
71
+ * 计算方式可以参考 https://github.com/pingxingyun/lark_sr_websdk_demos 例子中 v_cursor.vue getVMouseTouchPosition 方法
72
+ * 原理是通过 LarkSR 对象的成员 screenState.operateScale 获取相对的缩放,
73
+ * 本地坐标 X larksr.screenState.operateScale.scaleX / scaleY 即可得到相对云端的坐标
74
+ *
75
+ * @param PosX 相对云端鼠标 X 点坐标
76
+ * @param PosY 相对云端鼠标 Y 点坐标
77
+ * @param DeltaX 相对云端鼠标 X 轴移动距离
78
+ * @param DeltaY 相对云端鼠标 X 轴移动距离
79
+ */
80
+ mouseMove(PosX: number, PosY: number, DeltaX: number, DeltaY: number): void;
81
+ /**
82
+ * 向云端发送鼠标移动事件
83
+ * 事件坐标相对于云端应用,不相对于网页
84
+ * 计算方式可以参考 https://github.com/pingxingyun/lark_sr_websdk_demos 例子中 v_cursor.vue getVMouseTouchPosition 方法
85
+ * 原理是通过 LarkSR 对象的成员 screenState.operateScale 获取相对的缩放,
86
+ * 本地坐标 X larksr.screenState.operateScale.scaleX / scaleY 即可得到相对云端的坐标
87
+ *
88
+ * @param PosX 相对云端鼠标 X 点坐标
89
+ * @param PosY 相对云端鼠标 Y 点坐标
90
+ * @param DeltaX 相对云端鼠标 X 轴移动距离
91
+ * @param DeltaY 相对云端鼠标 X 轴移动距离
92
+ */
93
+ moseMove(PosX: number, PosY: number, DeltaX: number, DeltaY: number): void;
94
+ /**
95
+ * 向云端发送鼠标单击事件
96
+ * X Y 坐标计算方式同 mouseMove
97
+ *
98
+ * @param PosX 相对云端鼠标 X 点坐标
99
+ * @param PosY 相对云端鼠标 Y 点坐标
100
+ * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
101
+ */
102
+ mouseTap(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
103
+ /**
104
+ * 向云端发送鼠标按下事件
105
+ * X Y 坐标计算方式同 mouseMove
106
+ *
107
+ * @param PosX 相对云端鼠标 X 点坐标
108
+ * @param PosY 相对云端鼠标 Y 点坐标
109
+ * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
110
+ */
111
+ mouseDown(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
112
+ /**
113
+ * 向云端发送鼠标抬起事件
114
+ * X Y 坐标计算方式同 mouseMove
115
+ *
116
+ * @param PosX 相对云端鼠标 X 点坐标
117
+ * @param PosY 相对云端鼠标 Y 点坐标
118
+ * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
119
+ */
120
+ mouseUp(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
121
+ /**
122
+ * 向云端发送鼠标滚轮事件
123
+ * X Y 坐标计算方式同 mouseMove
124
+ *
125
+ * @param PosX 相对云端鼠标 X 点坐标
126
+ * @param PosY 相对云端鼠标 Y 点坐标
127
+ * @param Delata 120/-120 鼠标滚轮滚动的数值
128
+ */
129
+ mouseWheel(PosX: number, PosY: number, Delata: number): void;
130
+ /**
131
+ * 向云端发送键盘按键按下事件
132
+ * @param key KeyboardEvent.code 字段,具体内容参考 Chrome https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values
133
+ * @param isRepeat KeyboardEvent.repeat 字段,参考https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat
134
+ * @returns 是否发送成功,如果key参数传递错误可能发送失败
135
+ */
136
+ keyDown(key: string, isRepeat: boolean): void;
137
+ /**
138
+ * 向云端发送键盘按键抬起事件
139
+ * @param key KeyboardEvent.code 字段,具体内容参考 Chrome https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values
140
+ * @returns 是否发送成功,如果key参数传递错误可能发送失败
141
+ */
142
+ keyUp(key: string): void;
143
+ /**
144
+ * 向云端发送手柄按钮按下事件
145
+ * 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
146
+ * @param userIndex 手柄的索引
147
+ * @param button 按鍵
148
+ * @param isRepeat 是否重复按下
149
+ * @returns
150
+ */
151
+ gamepadButtonDown(userIndex: number, button: number, isRepeat: boolean): void;
152
+ /**
153
+ * 向云端发送手柄按钮抬起事件
154
+ * 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
155
+ * @param userIndex 手柄的索引
156
+ * @param button 按鍵
157
+ * @returns
158
+ */
159
+ gamepadButtonUp(userIndex: number, button: number): void;
160
+ /**
161
+ * 向云端发送手柄按trigger键事件
162
+ * 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
163
+ * @param userIndex 手柄的索引
164
+ * @param isleft 是否是左trigger
165
+ * @param value trigger的值
166
+ * @returns
167
+ */
168
+ gamepadTrigger(userIndex: number, isleft: boolean, value: number): void;
169
+ /**
170
+ * 向云端发送手柄按摇杆的值,即 axes 值
171
+ * 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
172
+ * @param userIndex 手柄的索引
173
+ * @param thumblx 手柄摇杆的x轴坐标
174
+ * @param thumbly 手柄摇杆的y轴坐标
175
+ * @param thumbrx 手柄摇杆的x轴相对坐标
176
+ * @param thumbry 手柄摇杆的y轴相对坐标
177
+ * @returns
178
+ */
179
+ joystick(userIndex: number, thumblx: number, thumbly: number, thumbrx: number, thumbry: number): void;
180
+ /**
181
+ * 向云端发送触摸按下事件
182
+ * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
183
+ * @param id 手指的id
184
+ * @param x 相对云端的x轴坐标
185
+ * @param y 相对云端的y轴坐标
186
+ * @returns
187
+ */
188
+ touchDown(id: number, x: number, y: number): void;
189
+ /**
190
+ * 向云端发送触摸移动事件
191
+ * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
192
+ * @param id 手指的id
193
+ * @param x 相对云端的x轴坐标
194
+ * @param y 相对云端的y轴坐标
195
+ * @returns
196
+ */
197
+ touchMove(id: number, x: number, y: number): void;
198
+ /**
199
+ * 向云端发送触摸抬起事件
200
+ * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
201
+ * @param id 手指的id
202
+ * @param x 相对云端的x轴坐标
203
+ * @param y 相对云端的y轴坐标
204
+ * @returns
205
+ */
206
+ touchUp(id: number, x: number, y: number): void;
207
+ /**
208
+ * 字符串转换为输入的鼠标按键值
209
+ * @param button 'left' | 'mid' | 'right'
210
+ * @returns LEFT = 0,RIGHT = 1,MIDDLE = 2
211
+ */
212
+ getMouseButtonType(button: 'left' | 'mid' | 'right'): CloudLark.MouseKey;
48
213
  ```
49
214
 
50
215
  ## 数据通道扩展,向云端应用数据通道发送数据
@@ -64,6 +229,45 @@ sendTextToDataChannel(text: string): void;
64
229
  sendBinaryToDataChannel(binary: Uint8Array): void;
65
230
  ```
66
231
 
232
+ ## 智能语音相关接口
233
+
234
+ ```typescript
235
+ /**
236
+ * 开始智能语音对话文本输入
237
+ * 应在只能语音为开始状态下开始输入
238
+ * @param text 输入的文本
239
+ * @returns 返回对话 ID
240
+ */
241
+ aiDmTextInput(text: string): number;
242
+ /**
243
+ * 开始智能语音对话语音输入,自动请求录音权限
244
+ * 应在只能语音为开始状态下开始输入
245
+ * @returns 成功返回对话id,失败返回异常
246
+ */
247
+ startAiDmVoiceInput(): Promise<number>;
248
+ /**
249
+ * 停止智能语音输入,通知语音引擎当前用户输入对话结束
250
+ * @returns 返回当前对话的id
251
+ */
252
+ stopAiDmVoiceInput(): number;
253
+ ```
254
+
255
+ LarkSR 添加如下事件来获取智能语音服务状态:
256
+
257
+ ```typescript
258
+ larksr.on('aivoicestatus', (e) => {
259
+ // 智能语音服务状态
260
+ });
261
+
262
+ larksr.on('aivoiceasrresult', (e) => {
263
+ // 智能语音转文字识别结果
264
+ });
265
+
266
+ larksr.on('aivoicedmresult', (e) => {
267
+ // 智能语音对话结果
268
+ });
269
+ ```
270
+
67
271
  ## 其他
68
272
 
69
273
  ```typescript
@@ -8,3 +8,47 @@
8
8
  1. [添加像素流送支持](https://docs.unrealengine.com/4.27/zh-CN/SharingAndReleasing/PixelStreaming/PixelStreamingIntro/)。
9
9
  2. 完善安全性, 添加 SDK ID 加密配置。
10
10
  3. 移除 CreateLarkSRClientFromePXYHost,CreateLarkSRClientFromeAPI, CreateLarkSRClientFromeUrl 函数。直接使用 `new LarkSR(config: ILarkSRConfig)` 方式创建对象。
11
+
12
+ ## V3.2.33
13
+
14
+ 1. 添加智能语音相关接口支持
15
+
16
+ LarkSR 对象添加:
17
+
18
+ ```typescript
19
+ /**
20
+ * 开始智能语音对话文本输入
21
+ * 应在只能语音为开始状态下开始输入
22
+ * @param text 输入的文本
23
+ * @returns 返回对话 ID
24
+ */
25
+ public aiDmTextInput(text: string) {
26
+ /**
27
+ * 开始智能语音对话语音输入,自动请求录音权限
28
+ * 应在只能语音为开始状态下开始输入
29
+ * @returns 成功返回对话id,失败返回异常
30
+ */
31
+ public startAiDmVoiceInput() {
32
+
33
+ /**
34
+ * 停止智能语音输入,通知语音引擎当前用户输入对话结束
35
+ * @returns 返回当前对话的id
36
+ */
37
+ public stopAiDmVoiceInput() {
38
+ ```
39
+
40
+ LarkSR 添加如下事件:
41
+
42
+ ```typescript
43
+ larksr.on('aivoicestatus', (e) => {
44
+ // 智能语音服务状态
45
+ });
46
+
47
+ larksr.on('aivoiceasrresult', (e) => {
48
+ // 智能语音转文字识别结果
49
+ });
50
+
51
+ larksr.on('aivoicedmresult', (e) => {
52
+ // 智能语音对话结果
53
+ });
54
+ ```