larksr_websdk 3.2.320 → 3.2.323
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.
- package/dist/larksr-web-sdk.min.js +1 -1
- package/package.json +2 -1
- package/types/api.d.ts +2 -0
- package/types/index.d.ts +2 -1
- package/types/lark/application.d.ts +2 -1
- package/types/lark/peer_connection.d.ts +3 -2
- package/types/larksr.d.ts +47 -3
- package/types/operation/gesture.d.ts +3 -1
- package/types/operation/gesture_handler.d.ts +37 -0
- package/types/operation/keyboard_handler.d.ts +3 -0
- package/types/operation/operation.d.ts +30 -5
- package/types/utils/capabilities.d.ts +2 -0
- package/types/utils/ios-inner-height.d.ts +4 -0
- package/types/utils/unit.d.ts +0 -5
- package/dist/doc/config.md +0 -145
- package/dist/doc/events.md +0 -139
- package/dist/doc/functions.md +0 -406
- package/dist/doc/index.md +0 -82
- package/dist/doc/member_variables.md +0 -162
- package/dist/doc/sdkid_encryption.md +0 -40
- package/dist/doc/update.md +0 -162
- package/dist/types/api.d.ts +0 -124
- package/dist/types/appli_params.d.ts +0 -289
- package/dist/types/common/cmd.d.ts +0 -28
- package/dist/types/common/constant.d.ts +0 -4
- package/dist/types/common/interface.d.ts +0 -30
- package/dist/types/config.d.ts +0 -59
- package/dist/types/event/event_base.d.ts +0 -11
- package/dist/types/event/iframe_poster.d.ts +0 -9
- package/dist/types/index.d.ts +0 -22
- package/dist/types/lark/Worker.d.ts +0 -0
- package/dist/types/lark/application.d.ts +0 -178
- package/dist/types/lark/custom.d.ts +0 -7
- package/dist/types/lark/ice_candiadate_parser.d.ts +0 -24
- package/dist/types/lark/lark_event_type.d.ts +0 -113
- package/dist/types/lark/message.d.ts +0 -20
- package/dist/types/lark/peer_connection.d.ts +0 -173
- package/dist/types/lark/recoder.d.ts +0 -55
- package/dist/types/lark/sdp_util.d.ts +0 -36
- package/dist/types/lark/test_pixel_streaming.d.ts +0 -54
- package/dist/types/lark/websocket_channel.d.ts +0 -56
- package/dist/types/lark/websocket_proxy.d.ts +0 -56
- package/dist/types/larksr.d.ts +0 -890
- package/dist/types/localization/base.d.ts +0 -8
- package/dist/types/localization/gesture_ins.d.ts +0 -4
- package/dist/types/localization/language.d.ts +0 -6
- package/dist/types/localization/loader.d.ts +0 -14
- package/dist/types/localization/message.d.ts +0 -81
- package/dist/types/localization/ui.d.ts +0 -58
- package/dist/types/operation/gamepad_handler.d.ts +0 -67
- package/dist/types/operation/gesture.d.ts +0 -70
- package/dist/types/operation/gesture_handler.d.ts +0 -16
- package/dist/types/operation/handler_base.d.ts +0 -8
- package/dist/types/operation/keyboard_handler.d.ts +0 -18
- package/dist/types/operation/keymap.d.ts +0 -24
- package/dist/types/operation/letter_keymap.d.ts +0 -8
- package/dist/types/operation/mouse_handler.d.ts +0 -42
- package/dist/types/operation/num_keymap.d.ts +0 -12
- package/dist/types/operation/operation.d.ts +0 -72
- package/dist/types/operation/pixel_streaming_input.d.ts +0 -82
- package/dist/types/operation/touch_handler.d.ts +0 -11
- package/dist/types/operation/utils.d.ts +0 -18
- package/dist/types/protobuf/cloudlark.d.ts +0 -7384
- package/dist/types/screen_state.d.ts +0 -116
- package/dist/types/utils/browser_type.d.ts +0 -37
- package/dist/types/utils/capabilities.d.ts +0 -52
- package/dist/types/utils/full_screen.d.ts +0 -25
- package/dist/types/utils/lock_pointer.d.ts +0 -23
- package/dist/types/utils/log.d.ts +0 -25
- package/dist/types/utils/scale_mode.d.ts +0 -26
- package/dist/types/utils/unit.d.ts +0 -147
package/dist/doc/functions.md
DELETED
|
@@ -1,406 +0,0 @@
|
|
|
1
|
-
# LarkSR 对象成员方法
|
|
2
|
-
|
|
3
|
-
LarkSR 对象成员方法主要分为以下三类
|
|
4
|
-
|
|
5
|
-
## 控制流程方法,包括启动,关闭,重启,注册授权码等。
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
|
-
* @param id sdk id 初始化sdkid
|
|
11
|
-
* @returns
|
|
12
|
-
*/
|
|
13
|
-
initSDKAuthCode(id: string): Promise<void>;
|
|
14
|
-
/**
|
|
15
|
-
* 连接云端渲染资源
|
|
16
|
-
* @params appID 云端资源的 ID
|
|
17
|
-
* @returns Promise 调用接口并校验授权通过返回成功并自动开始连接
|
|
18
|
-
*/
|
|
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>;
|
|
33
|
-
/**
|
|
34
|
-
* 重新开始云渲染流程
|
|
35
|
-
*/
|
|
36
|
-
restart(): void;
|
|
37
|
-
/**
|
|
38
|
-
* 重新启动云端应用
|
|
39
|
-
*/
|
|
40
|
-
restartApp(): void;
|
|
41
|
-
/**
|
|
42
|
-
* 主动关闭连接
|
|
43
|
-
*/
|
|
44
|
-
close(): void;
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## 输入输出相关方法,包括鼠标,键盘,手柄,触摸
|
|
48
|
-
|
|
49
|
-
```typescript
|
|
50
|
-
/**
|
|
51
|
-
* 切换当前操作者
|
|
52
|
-
* @param uid 用户id
|
|
53
|
-
*/
|
|
54
|
-
changeOperater(uid: number): void;
|
|
55
|
-
/**
|
|
56
|
-
* 向云端应用发送文字。当云端应用出现输入框时,可以将本地文本填写进去.
|
|
57
|
-
* @param text 文字
|
|
58
|
-
*/
|
|
59
|
-
inputText(text: string): void;
|
|
60
|
-
/**
|
|
61
|
-
* 操作相关事件
|
|
62
|
-
* 所有事件坐标相对于云端应用,不相对于网页
|
|
63
|
-
* CloudLark.IClientInput 是所有操作指令接口对象的合集
|
|
64
|
-
* 可以单独使用下面 moseMove 等接口
|
|
65
|
-
* @param input 操作指令
|
|
66
|
-
*/
|
|
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
|
-
* 手柄接口消息按照 windows xbox 360 手柄标准定义,即包含 xbox 360 手柄的功能,如按钮,摇杆,扳机键。windows 上最多支持4个手柄,
|
|
145
|
-
* 当前版本服务端只处理1个手柄,后续会放开多个手柄的支持。接口中发送的按键值为对应的 windows 中定义的按键值。
|
|
146
|
-
* 向云端发送手柄按钮按下事件
|
|
147
|
-
* 參考 js 中获取手柄事件,参考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
|
|
148
|
-
* @param userIndex 手柄的索引,硬件设备索引 0-3. 第一个连接的手柄为0,第二个为1,以此类推。
|
|
149
|
-
* @param button 按鍵 @see https://docs.microsoft.com/en-us/windows/win32/api/xinput/ns-xinput-xinput_gamepad
|
|
150
|
-
* export const enum XINPUT_BUTTONS {
|
|
151
|
-
* XINPUT_GAMEPAD_DPAD_UP = 0x0001,
|
|
152
|
-
* XINPUT_GAMEPAD_DPAD_DOWN = 0x0002,
|
|
153
|
-
* XINPUT_GAMEPAD_DPAD_LEFT = 0x0004,
|
|
154
|
-
* XINPUT_GAMEPAD_DPAD_RIGHT = 0x0008,
|
|
155
|
-
* XINPUT_GAMEPAD_START = 0x0010,
|
|
156
|
-
* XINPUT_GAMEPAD_BACK = 0x0020,
|
|
157
|
-
* XINPUT_GAMEPAD_LEFT_THUMB = 0x0040,
|
|
158
|
-
* XINPUT_GAMEPAD_RIGHT_THUMB = 0x0080,
|
|
159
|
-
* XINPUT_GAMEPAD_LEFT_SHOULDER = 0x0100,
|
|
160
|
-
* XINPUT_GAMEPAD_RIGHT_SHOULDER = 0x0200,
|
|
161
|
-
* XINPUT_GAMEPAD_A = 0x1000,
|
|
162
|
-
* XINPUT_GAMEPAD_B = 0x2000,
|
|
163
|
-
* XINPUT_GAMEPAD_X = 0x4000,
|
|
164
|
-
* XINPUT_GAMEPAD_Y = 0x8000,
|
|
165
|
-
* XINPUT_UNKNOWN = -1,
|
|
166
|
-
* }
|
|
167
|
-
* @param isRepeat 是否重复按下
|
|
168
|
-
* @returns
|
|
169
|
-
*/
|
|
170
|
-
gamepadButtonDown(userIndex: number, button: number, isRepeat: boolean): void;
|
|
171
|
-
/**
|
|
172
|
-
* 向云端发送手柄按钮抬起事件
|
|
173
|
-
* 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
|
|
174
|
-
* @param userIndex 手柄的索引
|
|
175
|
-
* @param button 按鍵
|
|
176
|
-
* @returns
|
|
177
|
-
*/
|
|
178
|
-
gamepadButtonUp(userIndex: number, button: number): void;
|
|
179
|
-
/**
|
|
180
|
-
* 向云端发送手柄按trigger键事件
|
|
181
|
-
* 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
|
|
182
|
-
* @param userIndex 手柄的索引
|
|
183
|
-
* @param isleft 是否是左trigger
|
|
184
|
-
* @param value trigger的值 扳机键的值 0-255
|
|
185
|
-
* @returns
|
|
186
|
-
*/
|
|
187
|
-
gamepadTrigger(userIndex: number, isleft: boolean, value: number): void;
|
|
188
|
-
/**
|
|
189
|
-
* 向云端发送手柄按摇杆的值,即 axes 值
|
|
190
|
-
* win MAX
|
|
191
|
-
* |
|
|
192
|
-
* MIN-------------MAX
|
|
193
|
-
* |
|
|
194
|
-
* MIN
|
|
195
|
-
* js 中获取硬件手柄參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
|
|
196
|
-
* @param userIndex 手柄的索引
|
|
197
|
-
* @param thumblx 左摇杆 X 值,-32767 到 32767
|
|
198
|
-
* @param thumbly 左摇杆 Y 值,-32767 到 32767
|
|
199
|
-
* @param thumbrx 右摇杆 X 值,-32767 到 32767
|
|
200
|
-
* @param thumbry 右摇杆 Y 值,-32767 到 32767
|
|
201
|
-
* @returns
|
|
202
|
-
*/
|
|
203
|
-
joystick(userIndex: number, thumblx: number, thumbly: number, thumbrx: number, thumbry: number): void;
|
|
204
|
-
/**
|
|
205
|
-
* 向云端发送触摸按下事件
|
|
206
|
-
* 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
|
|
207
|
-
* @param id 手指的id
|
|
208
|
-
* @param x 相对云端的x轴坐标
|
|
209
|
-
* @param y 相对云端的y轴坐标
|
|
210
|
-
* @returns
|
|
211
|
-
*/
|
|
212
|
-
touchDown(id: number, x: number, y: number): void;
|
|
213
|
-
/**
|
|
214
|
-
* 向云端发送触摸移动事件
|
|
215
|
-
* 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
|
|
216
|
-
* @param id 手指的id
|
|
217
|
-
* @param x 相对云端的x轴坐标
|
|
218
|
-
* @param y 相对云端的y轴坐标
|
|
219
|
-
* @returns
|
|
220
|
-
*/
|
|
221
|
-
touchMove(id: number, x: number, y: number): void;
|
|
222
|
-
/**
|
|
223
|
-
* 向云端发送触摸抬起事件
|
|
224
|
-
* 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
|
|
225
|
-
* @param id 手指的id
|
|
226
|
-
* @param x 相对云端的x轴坐标
|
|
227
|
-
* @param y 相对云端的y轴坐标
|
|
228
|
-
* @returns
|
|
229
|
-
*/
|
|
230
|
-
touchUp(id: number, x: number, y: number): void;
|
|
231
|
-
/**
|
|
232
|
-
* 字符串转换为输入的鼠标按键值
|
|
233
|
-
* @param button 'left' | 'mid' | 'right'
|
|
234
|
-
* @returns LEFT = 0,RIGHT = 1,MIDDLE = 2
|
|
235
|
-
*/
|
|
236
|
-
getMouseButtonType(button: 'left' | 'mid' | 'right'): CloudLark.MouseKey;
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
## 数据通道扩展,向云端应用数据通道发送数据
|
|
240
|
-
|
|
241
|
-
```typescript
|
|
242
|
-
/**
|
|
243
|
-
* 发送文字消息给数据通道
|
|
244
|
-
* 注意 云端应用要继承数据通道功能
|
|
245
|
-
* > V3.2.314 版本对应服务器版本和数据通道版本为 3.2.5.1 及以上
|
|
246
|
-
* @param text 文字
|
|
247
|
-
*/
|
|
248
|
-
sendTextToDataChannel(text: string): void;
|
|
249
|
-
/**
|
|
250
|
-
* 发送字节消息给数据通道
|
|
251
|
-
* 注意 云端应用要继承数据通道功能
|
|
252
|
-
* @param binary 字节消息
|
|
253
|
-
*/
|
|
254
|
-
sendBinaryToDataChannel(binary: Uint8Array): void;
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
## 智能语音相关接口
|
|
258
|
-
|
|
259
|
-
```typescript
|
|
260
|
-
/**
|
|
261
|
-
* 开始智能语音对话文本输入
|
|
262
|
-
* 应在只能语音为开始状态下开始输入
|
|
263
|
-
* @param text 输入的文本
|
|
264
|
-
* @returns 返回对话 ID
|
|
265
|
-
*/
|
|
266
|
-
aiDmTextInput(text: string): number;
|
|
267
|
-
/**
|
|
268
|
-
* 开始智能语音对话语音输入,自动请求录音权限
|
|
269
|
-
* 应在只能语音为开始状态下开始输入
|
|
270
|
-
* @returns 成功返回对话id,失败返回异常
|
|
271
|
-
*/
|
|
272
|
-
startAiDmVoiceInput(): Promise<number>;
|
|
273
|
-
/**
|
|
274
|
-
* 停止智能语音输入,通知语音引擎当前用户输入对话结束
|
|
275
|
-
* @returns 返回当前对话的id
|
|
276
|
-
*/
|
|
277
|
-
stopAiDmVoiceInput(): number;
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
LarkSR 添加如下事件来获取智能语音服务状态:
|
|
281
|
-
|
|
282
|
-
```typescript
|
|
283
|
-
larksr.on('aivoicestatus', (e) => {
|
|
284
|
-
// 智能语音服务状态
|
|
285
|
-
});
|
|
286
|
-
|
|
287
|
-
larksr.on('aivoiceasrresult', (e) => {
|
|
288
|
-
// 智能语音转文字识别结果
|
|
289
|
-
});
|
|
290
|
-
|
|
291
|
-
larksr.on('aivoicedmresult', (e) => {
|
|
292
|
-
// 智能语音对话结果
|
|
293
|
-
});
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
## 麦克风输入接口
|
|
297
|
-
|
|
298
|
-
客户端打开后云端应用可直接通过读取声卡上的麦克风接收到音频。
|
|
299
|
-
|
|
300
|
-
> 该功能匹配的服务端版本最低为 V3.2.51
|
|
301
|
-
> 使用该功能要注意在后台开启智能语音功能
|
|
302
|
-
> 注意要在连接成功之后打开媒体设备。即 `mediaPlayed` 之后调用才有效
|
|
303
|
-
|
|
304
|
-
```typescript
|
|
305
|
-
/**
|
|
306
|
-
* 打开一个音频设备,要注意浏览器限制在 https 或者 localhost 下才能打开音频
|
|
307
|
-
* @param deviceId 音频设备id,如果不传将打开默认设备。@see getConnectedAudioinputDevices
|
|
308
|
-
* @returns
|
|
309
|
-
*/
|
|
310
|
-
openAudio(deviceId?: string);
|
|
311
|
-
/**
|
|
312
|
-
* 关闭当前的音频设备
|
|
313
|
-
* @returns
|
|
314
|
-
*/
|
|
315
|
-
closeAudio(): boolean | undefined;
|
|
316
|
-
/**
|
|
317
|
-
* 返回已连接的音频设备列表,设备列表中的设备的 deviceId 可用来打开某个音频设备
|
|
318
|
-
* @returns
|
|
319
|
-
*/
|
|
320
|
-
getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
|
|
321
|
-
/**
|
|
322
|
-
* 设置当前已开启的音频track是否启用状态
|
|
323
|
-
* @param enable 是否启用
|
|
324
|
-
* @returns
|
|
325
|
-
*/
|
|
326
|
-
setAudioEnable(enable: boolean): void | undefined;
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
larksr 配置项自动打开麦克风配置,在`new LarkSR({ ... 此处省略其他配置 ... audioInputAutoStart: true})` 时传入,
|
|
330
|
-
|
|
331
|
-
> 手动传入的 `audioInputAutoStart` 优先级高于后台配置
|
|
332
|
-
|
|
333
|
-
```javascript
|
|
334
|
-
/**
|
|
335
|
-
* 当启用音频输入功能,是否自动连入音频设备。
|
|
336
|
-
* 默认关闭。
|
|
337
|
-
* 需要注意默认打开的是系统中默认的音频设备。
|
|
338
|
-
*/
|
|
339
|
-
audioInputAutoStart?: boolean;
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
## 视频输入接口
|
|
343
|
-
|
|
344
|
-
客户端打开后云端应用可直接通过读取服务端的摄像头读取视频数据。
|
|
345
|
-
|
|
346
|
-
> 该功能匹配的服务端版本最低为 V3.2.61
|
|
347
|
-
> 使用该功能要注意在后台应用管理中开启视频输入功能
|
|
348
|
-
> 注意要在连接成功之后打开媒体设备。即 `mediaPlayed` 之后调用才有效
|
|
349
|
-
|
|
350
|
-
```typescript
|
|
351
|
-
/**
|
|
352
|
-
* 打开一个视频设备,要注意浏览器限制在 https 或者 localhost 下才能打开视频
|
|
353
|
-
* @param audio boolean 是否同时开启音频
|
|
354
|
-
* @param cameraId 视频设备id,如果不传将打开默认设备。@see getConnectedVideoinputDevices
|
|
355
|
-
* @returns Promise
|
|
356
|
-
*/
|
|
357
|
-
openVideo(audio?: boolean, cameraId?: string);
|
|
358
|
-
/**
|
|
359
|
-
* 打开默认媒体设备,要注意浏览器限制在 https 或者 localhost 下
|
|
360
|
-
* 如果需要指定特殊的媒体设备请单独使用 @see openAudio @see openVideo
|
|
361
|
-
* @param video 是否包含视频
|
|
362
|
-
* @param audio 是否包含音频
|
|
363
|
-
* @returns Promise
|
|
364
|
-
*/
|
|
365
|
-
openDefaultMedia(video?: boolean, audio?: boolean)>;
|
|
366
|
-
/**
|
|
367
|
-
* 返回已连接的视频设备
|
|
368
|
-
* @returns Promise<MediaDeviceInfo[]>
|
|
369
|
-
*/
|
|
370
|
-
getConnectedVideoinputDevices();
|
|
371
|
-
/**
|
|
372
|
-
* 设置当前已开启的视频track是否启用状态
|
|
373
|
-
* @param enable 是否启用
|
|
374
|
-
* @returns void
|
|
375
|
-
*/
|
|
376
|
-
setVideoEnable(enable: boolean);
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
larksr 配置项自动打开视频输入配置,在`new LarkSR({ ... 此处省略其他配置 ... videoInputAutoStart: true})` 时传入
|
|
380
|
-
|
|
381
|
-
> 手动传入的 `videoInputAutoStart` 优先级高于后台配置
|
|
382
|
-
|
|
383
|
-
```javascript
|
|
384
|
-
/**
|
|
385
|
-
* 当启用视频输入功能,是否自动连入视频设备。
|
|
386
|
-
* 默认关闭。
|
|
387
|
-
* 需要注意默认打开的是系统中默认的视频设备。
|
|
388
|
-
*/
|
|
389
|
-
videoInputAutoStart?: boolean;
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
## 其他
|
|
393
|
-
|
|
394
|
-
```typescript
|
|
395
|
-
/**
|
|
396
|
-
* 采集一帧图像
|
|
397
|
-
*/
|
|
398
|
-
captrueFrame(data: any)
|
|
399
|
-
/**
|
|
400
|
-
* 设置是否强制横屏显示内容.
|
|
401
|
-
* handelRootElementSize 必须设置为 true 才有作用。
|
|
402
|
-
* 要注意强制横屏模式下网页的坐标系xy和视觉上相反,如果通过外部输入 input 事件。要注意调整
|
|
403
|
-
* @param force 是否强制横屏
|
|
404
|
-
*/
|
|
405
|
-
setMobileForceLandScape(force: boolean): void;
|
|
406
|
-
```
|
package/dist/doc/index.md
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
## 安装
|
|
4
|
-
|
|
5
|
-
1. npm 方式
|
|
6
|
-
|
|
7
|
-
```cmd
|
|
8
|
-
npm i larksr_websdk
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
2. 直接引入
|
|
12
|
-
|
|
13
|
-
```html
|
|
14
|
-
<script src="larksr-web-sdk.min.js"></script>
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
> 直接引入模式下 SDK 挂载为全局对象 larksr_websdk。
|
|
18
|
-
|
|
19
|
-
## 使用
|
|
20
|
-
|
|
21
|
-
### 注意
|
|
22
|
-
|
|
23
|
-
> V3.2.30 开始仅支持服务端 [V3.2.3.1](https://www.pingxingyun.com/devCenter.html) 以上版本。
|
|
24
|
-
> [老版本 SDK Demo 下载](https://github.com/pingxingyun/lark_sr_websdk_demos/releases/tag/V3.2.10)
|
|
25
|
-
> V3.2.314 版本对应服务器版本和数据通道版本为 3.2.5.1 及以上
|
|
26
|
-
|
|
27
|
-
## 创建 LarkSR 实例
|
|
28
|
-
|
|
29
|
-
```typescript
|
|
30
|
-
/**
|
|
31
|
-
* LarkSR 客户端。所有操作和事件通过该类传递
|
|
32
|
-
* @param config 本地配置, 优先级最高
|
|
33
|
-
*/
|
|
34
|
-
constructor(config: ILarkSRConfig);
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
example:
|
|
38
|
-
|
|
39
|
-
```js
|
|
40
|
-
var client = new LarkSR({
|
|
41
|
-
// 设置挂载显示的元素
|
|
42
|
-
// 注意*不要*设置为 document.documentElement
|
|
43
|
-
rootElement: document.getElementById('container'),
|
|
44
|
-
// 服务器地址,实际使用中填写您的服务器地址
|
|
45
|
-
// 如:http://222.128.6.137:8181/
|
|
46
|
-
// 当使用平行云托管服务时服务器地址自动分配,可留空。
|
|
47
|
-
// larksr.connectWithPxyHost 进入应用
|
|
48
|
-
serverAddress: "Lark 服务器前台地址",
|
|
49
|
-
// SDK ID 也可在 initSDKAuthCode 设置
|
|
50
|
-
authCode: '您的 SDK ID',
|
|
51
|
-
// 测试载入背景图
|
|
52
|
-
// loadingBgUrl: 'https://home-obs.pingxingyun.com/homePage_4_0/bg.jpg',
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
// start connect;
|
|
56
|
-
// 使用平行云托管服务时,用 connectWithPxyHost 进入应用并自动分配服务器.
|
|
57
|
-
client.connect({
|
|
58
|
-
// 要使用的云端资源的应用 ID,从后云雀后台接口获取
|
|
59
|
-
// 参考查询应用一栏文档
|
|
60
|
-
// https://www.pingxingyun.com/online/api3_2.html?id=476
|
|
61
|
-
// 如 222.128.6.137:8181 系统下的 879408743551336448 应用
|
|
62
|
-
appliId: "应用ID"
|
|
63
|
-
})
|
|
64
|
-
.then(() => {
|
|
65
|
-
console.log('enter success');
|
|
66
|
-
})
|
|
67
|
-
.catch((e) => {
|
|
68
|
-
console.error(e);
|
|
69
|
-
});
|
|
70
|
-
// ...
|
|
71
|
-
// 主动关闭并清理资源
|
|
72
|
-
// client.close();
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## 文档目录
|
|
76
|
-
|
|
77
|
-
### [参数配置](./config.md)
|
|
78
|
-
### [LarkSR 对象方法](./functons.md)
|
|
79
|
-
### [LarkSR 事件](./events.md)
|
|
80
|
-
### [LarkSR 对象成员](./member_variables.md)
|
|
81
|
-
### [SDK ID 加密](./sdkid_encryption.md)
|
|
82
|
-
### [SDK 更新](./update.md)
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
# LarkSR 对象成员变量
|
|
2
|
-
|
|
3
|
-
LarkSR 对象成员变量,注意以下划线开头的变量为内部使用私有变量或只读成员变量,不建议修改直接使用。
|
|
4
|
-
|
|
5
|
-
> 以下代码中 larksr 为创建好的 LarkSR 对象实例。省略创建过程。
|
|
6
|
-
|
|
7
|
-
```javascript
|
|
8
|
-
let larksr;
|
|
9
|
-
|
|
10
|
-
...// create code.
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## 视频组件
|
|
14
|
-
|
|
15
|
-
1. `videoComponent` 视频组件
|
|
16
|
-
|
|
17
|
-
```javascript
|
|
18
|
-
// 获取播放的 <video /> 视频元素
|
|
19
|
-
larksr.videoComponent.getVideo();
|
|
20
|
-
// 播放视频,async 方法播放失败抛出异常
|
|
21
|
-
larksr.videoComponent.playVideo();
|
|
22
|
-
// 停止视频播放
|
|
23
|
-
larksr.videoComponent.stopVideo();
|
|
24
|
-
// 播放视频声音,取消静音播放
|
|
25
|
-
larksr.videoComponent.sountPlayout();
|
|
26
|
-
// 截取一帧,返回 base64,并抛出截图成功事件
|
|
27
|
-
larksr.videoComponent.captrueFrame(data);
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
2. `videoElement` html `video` 视频元素本身
|
|
31
|
-
|
|
32
|
-
```javascript
|
|
33
|
-
larksr.videoElement;
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
3. 控制显示元素
|
|
37
|
-
|
|
38
|
-
```javascript
|
|
39
|
-
// 是否显示移动端触摸点
|
|
40
|
-
larksr.isEnableTouchPonit = false;
|
|
41
|
-
// 是否显示载入画面时底部文字
|
|
42
|
-
larksr.isEnableLoadingStateBar = false;
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
```javascript
|
|
46
|
-
// 设置缩放模式
|
|
47
|
-
larksr.scaleMode = ScaleMode.CONTAIN_APP;
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## 配置参数
|
|
51
|
-
|
|
52
|
-
```javascript
|
|
53
|
-
// `config` IAppliParams传入的 ILarkSRConfig 对象
|
|
54
|
-
larksr.config;
|
|
55
|
-
// `params` 构造函数中传入的 IAppliParams 对象
|
|
56
|
-
larksr.params;
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## 用户模式
|
|
60
|
-
|
|
61
|
-
```javascript
|
|
62
|
-
// `playerModeType` 当前的玩家模式;
|
|
63
|
-
larksr.playerModeType;
|
|
64
|
-
// `userType` 当前用户类型;
|
|
65
|
-
larksr.userType;
|
|
66
|
-
// 当前是否是交互模式,交互默认即可以操作的模式
|
|
67
|
-
larksr.isInteractiveMode;
|
|
68
|
-
// 是否是观看者模式
|
|
69
|
-
larksr.isObMode;
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## 当前 app 的状态
|
|
73
|
-
|
|
74
|
-
```javascript
|
|
75
|
-
larksr.appState;
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
具体状态值如下:
|
|
79
|
-
|
|
80
|
-
```javascript
|
|
81
|
-
export enum APP_STATE {
|
|
82
|
-
BEFORE_CREATE = 0,
|
|
83
|
-
INITED,
|
|
84
|
-
WEBSOCKET_CHANNEL_OPEN,
|
|
85
|
-
LOGIN_SUCCESS,
|
|
86
|
-
RTC_CONNECTED,
|
|
87
|
-
MEDIA_LOADED,
|
|
88
|
-
MEDIA_PLAED,
|
|
89
|
-
RTC_RETRY,
|
|
90
|
-
APP_RETRY,
|
|
91
|
-
BEFORE_DESTORY,
|
|
92
|
-
WEBSOCKET_CLOSED,
|
|
93
|
-
RTC_CLOSED,
|
|
94
|
-
DESTROYED,
|
|
95
|
-
}
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
```javascript
|
|
99
|
-
// 云端画面是否准备好,准备好后才可以发送输入事件
|
|
100
|
-
larksr.remoteScreenReady
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## 当前的屏幕状态
|
|
104
|
-
|
|
105
|
-
```javascript
|
|
106
|
-
// 通知视口改变或者需要重新计算显示属性
|
|
107
|
-
larksr.screenState.resize();
|
|
108
|
-
// 当前云端 APP 的大小
|
|
109
|
-
larksr.screenState.appSize;
|
|
110
|
-
// 当前云端 APP 的鼠标状态
|
|
111
|
-
larksr.screenState.appMouseMode;
|
|
112
|
-
// 当前渲染容器的大小
|
|
113
|
-
larksr.screenState.viewPort;
|
|
114
|
-
// 强制横屏模式
|
|
115
|
-
larksr.screenState.screenOrientation;
|
|
116
|
-
// 缩放模式
|
|
117
|
-
larksr.screenState.scaleMode;
|
|
118
|
-
// 是否全屏状态
|
|
119
|
-
larksr.screenState.isFullScreen;
|
|
120
|
-
// 是否锁定鼠标状态
|
|
121
|
-
larksr.screenState.isLockMouse;
|
|
122
|
-
// 云端应用的鼠标样式
|
|
123
|
-
larksr.screenState.cursorStyle;
|
|
124
|
-
// 初始化鼠标模式
|
|
125
|
-
larksr.screenState.initCursorMode;
|
|
126
|
-
// 是否是手机模式
|
|
127
|
-
larksr.screenState.isMobile;
|
|
128
|
-
// 是否渲染本地鼠标
|
|
129
|
-
larksr.screenState.isLocalRenderMouse;
|
|
130
|
-
// 是否锁定鼠标
|
|
131
|
-
larksr.screenState.isLockMosue;
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
## 操作类实例
|
|
135
|
-
|
|
136
|
-
```javascript
|
|
137
|
-
// 开始监听,默认情况下自动开始
|
|
138
|
-
larksr.op.startListening();
|
|
139
|
-
// 结束监听输入事件.
|
|
140
|
-
larksr.op.stopListenling();
|
|
141
|
-
// 开启或关闭鼠标输入事件
|
|
142
|
-
larksr.op.setMouseEnable(enable: boolean);
|
|
143
|
-
// 开启或关闭键盘输入事件
|
|
144
|
-
larksr.op.setKeyboardEnable(enable: boolean);
|
|
145
|
-
// 开启或关闭手柄输入事件
|
|
146
|
-
larksr.op.setGamepadEnable(enable: boolean);
|
|
147
|
-
// 开启或关闭触摸屏幕输入事件
|
|
148
|
-
larksr.op.setTouchEnable(enable: boolean);
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## 全屏锁屏
|
|
152
|
-
|
|
153
|
-
```javascript
|
|
154
|
-
// 进入全屏模式
|
|
155
|
-
larksr.fullScreen.launchFullScreen();
|
|
156
|
-
// 退出全屏模式
|
|
157
|
-
larksr.fullScreen.exitFullscreen();
|
|
158
|
-
// 锁定鼠标
|
|
159
|
-
larksr.lockPointer.lockPointer();
|
|
160
|
-
// 释放鼠标
|
|
161
|
-
larksr.lockPointer.exitPointerLock();
|
|
162
|
-
```
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# SDK ID 加密配置
|
|
2
|
-
|
|
3
|
-
使用 larksr SDK 首先需要从平行云商务 business@pingxingyun.com 或者在 https://www.pingxingyun.com/console 获取 SDK 授权码(注意不是服务器端的授权码)。
|
|
4
|
-
|
|
5
|
-
通过 larksr config 传入 `authCode` 或者通过 larksr.initSDKAuthCode('您的SDKID') 方法设置授权码。
|
|
6
|
-
|
|
7
|
-
为保护 SDK ID 的安全性,可以从服务端 3.2.3.0 开始可以对 SDK ID 进行加密配置。
|
|
8
|
-
|
|
9
|
-
配置 SDK 加密:
|
|
10
|
-
|
|
11
|
-
1. 首先在 larkxr 平台后台登陆,找到系统设定->接入管理->SDKID密钥管理生成 SDK ID 加密 KEY
|
|
12
|
-
|
|
13
|
-
2. 对 SDK ID 进行加密
|
|
14
|
-
|
|
15
|
-
以下 java 代码为例:
|
|
16
|
-
|
|
17
|
-
```java
|
|
18
|
-
public static void main(String[] args) {
|
|
19
|
-
/**
|
|
20
|
-
* @param res 被加密的原生字符串
|
|
21
|
-
* @param key 16位字符作为加密的key
|
|
22
|
-
*/
|
|
23
|
-
try {
|
|
24
|
-
String res = "被加密的原生字符串";
|
|
25
|
-
String key = "16位字符作为加密的key";
|
|
26
|
-
String ALGORITHM = "AES";
|
|
27
|
-
String CHARSET = "UTF-8";
|
|
28
|
-
SecretKeySpec sks = new SecretKeySpec(key.getBytes(CHARSET), ALGORITHM);
|
|
29
|
-
Cipher cipher = Cipher.getInstance(ALGORITHM);
|
|
30
|
-
cipher.init(cipher.ENCRYPT_MODE, sks);
|
|
31
|
-
byte[] result = cipher.doFinal(res.getBytes());
|
|
32
|
-
// BASE64Encoder encoder = new BASE64Encoder(); //java8
|
|
33
|
-
Base64.Encoder encoder = Base64.getEncoder(); //java9+
|
|
34
|
-
System.out.println(encoder.encodeToString(result));
|
|
35
|
-
}catch (Exception e){
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
3. 获取到加密好的字符串传入 lark 配置中即可。
|