larksr_websdk 3.2.310 → 3.2.311
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/dist/types/api.d.ts +3 -1
- package/dist/types/appli_params.d.ts +6 -0
- package/dist/types/common/cmd.d.ts +28 -0
- package/dist/types/common/constant.d.ts +4 -0
- package/dist/types/common/interface.d.ts +30 -0
- package/dist/types/event/event_base.d.ts +11 -0
- package/dist/types/event/iframe_poster.d.ts +9 -0
- package/dist/types/lark/Worker.d.ts +0 -0
- package/dist/types/lark/application.d.ts +176 -0
- package/dist/types/lark/custom.d.ts +7 -0
- package/dist/types/lark/ice_candiadate_parser.d.ts +24 -0
- package/dist/types/lark/lark_event_type.d.ts +111 -0
- package/dist/types/lark/message.d.ts +20 -0
- package/dist/types/lark/peer_connection.d.ts +171 -0
- package/dist/types/lark/recoder.d.ts +55 -0
- package/dist/types/lark/sdp_util.d.ts +36 -0
- package/dist/types/lark/test_pixel_streaming.d.ts +54 -0
- package/dist/types/lark/websocket_channel.d.ts +56 -0
- package/dist/types/lark/websocket_proxy.d.ts +56 -0
- package/dist/types/larksr.d.ts +62 -3
- package/dist/types/localization/base.d.ts +8 -0
- package/dist/types/localization/gesture_ins.d.ts +4 -0
- package/dist/types/localization/language.d.ts +6 -0
- package/dist/types/localization/loader.d.ts +14 -0
- package/dist/types/localization/message.d.ts +81 -0
- package/dist/types/localization/ui.d.ts +58 -0
- package/dist/types/operation/gamepad_handler.d.ts +67 -0
- package/dist/types/operation/gesture.d.ts +70 -0
- package/dist/types/operation/gesture_handler.d.ts +16 -0
- package/dist/types/operation/handler_base.d.ts +8 -0
- package/dist/types/operation/keyboard_handler.d.ts +18 -0
- package/dist/types/operation/keymap.d.ts +24 -0
- package/dist/types/operation/letter_keymap.d.ts +8 -0
- package/dist/types/operation/mouse_handler.d.ts +42 -0
- package/dist/types/operation/num_keymap.d.ts +12 -0
- package/dist/types/operation/operation.d.ts +71 -0
- package/dist/types/operation/pixel_streaming_input.d.ts +82 -0
- package/dist/types/operation/touch_handler.d.ts +11 -0
- package/dist/types/operation/utils.d.ts +18 -0
- package/dist/types/protobuf/cloudlark.d.ts +7378 -0
- package/dist/types/utils/browser_type.d.ts +37 -0
- package/dist/types/utils/capabilities.d.ts +52 -0
- package/dist/types/utils/full_screen.d.ts +25 -0
- package/dist/types/utils/lock_pointer.d.ts +23 -0
- package/dist/types/utils/log.d.ts +25 -0
- package/dist/types/utils/scale_mode.d.ts +26 -0
- package/dist/types/utils/unit.d.ts +153 -0
- package/package.json +2 -2
- package/types/api.d.ts +3 -1
- package/types/appli_params.d.ts +6 -0
- package/types/lark/application.d.ts +38 -0
- package/types/lark/peer_connection.d.ts +51 -0
- package/types/larksr.d.ts +62 -3
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export default class BrowserType {
|
|
2
|
+
static Type: {
|
|
3
|
+
Chrome: string;
|
|
4
|
+
iOSChrome: string;
|
|
5
|
+
Firefox: string;
|
|
6
|
+
Edge: string;
|
|
7
|
+
Opera: string;
|
|
8
|
+
IE: string;
|
|
9
|
+
Safari: string;
|
|
10
|
+
};
|
|
11
|
+
static Support: {
|
|
12
|
+
Chrome: number;
|
|
13
|
+
Firefox: number;
|
|
14
|
+
Edge: number;
|
|
15
|
+
};
|
|
16
|
+
static AdviseSupportVersion: {
|
|
17
|
+
Chrome: number;
|
|
18
|
+
Firefox: number;
|
|
19
|
+
Edge: number;
|
|
20
|
+
};
|
|
21
|
+
static SupportMobile: {
|
|
22
|
+
Chrome: number;
|
|
23
|
+
iOSChrome: number;
|
|
24
|
+
Firefox: number;
|
|
25
|
+
Edge: number;
|
|
26
|
+
};
|
|
27
|
+
static getBrowserType(): string;
|
|
28
|
+
/**
|
|
29
|
+
* @return
|
|
30
|
+
* -2 推荐升级版本
|
|
31
|
+
* -1 有问题版本
|
|
32
|
+
* 0 不支持
|
|
33
|
+
* 1 支持
|
|
34
|
+
*/
|
|
35
|
+
static checkSupport(): 0 | 1 | -1 | -2;
|
|
36
|
+
static getBrowserVersion(type?: string): number;
|
|
37
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
declare class Capabilities {
|
|
2
|
+
/**
|
|
3
|
+
* @private
|
|
4
|
+
*/
|
|
5
|
+
static $language: string;
|
|
6
|
+
/**
|
|
7
|
+
* @language zh_CN
|
|
8
|
+
* 表示运行内容的系统的语言代码。语言指定为 ISO 639-1 中的小写双字母语言代码。
|
|
9
|
+
* 对于中文,另外使用 ISO 3166 中的大写双字母国家/地区代码,以区分简体中文和繁体中文。<br/>
|
|
10
|
+
* 以下是可能但不限于的语言和值:
|
|
11
|
+
* <ul>
|
|
12
|
+
* <li>简体中文 zh-CN</li>
|
|
13
|
+
* <li>繁体中文 zh-TW</li>
|
|
14
|
+
* <li>英语 en</li>
|
|
15
|
+
* <li>日语 ja</li>
|
|
16
|
+
* <li>韩语 ko</li>
|
|
17
|
+
* </ul>
|
|
18
|
+
*/
|
|
19
|
+
static get language(): string;
|
|
20
|
+
/**
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
static $isMobile: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* 表示程序内容是否运行在移动设备中(例如移动电话或平板电脑)。
|
|
26
|
+
*/
|
|
27
|
+
static get isMobile(): boolean;
|
|
28
|
+
static $isWeChat: boolean;
|
|
29
|
+
static get isWeChat(): boolean;
|
|
30
|
+
static $isQQ: boolean;
|
|
31
|
+
static get isQQ(): boolean;
|
|
32
|
+
static $isHuawei: boolean;
|
|
33
|
+
static get isHuawei(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
static $os: string;
|
|
38
|
+
/**
|
|
39
|
+
* @language zh_CN
|
|
40
|
+
* 指示当前的操作系统。os 属性返回下列字符串:
|
|
41
|
+
* <ul>
|
|
42
|
+
* <li>苹果手机操作系统 "iOS"</li>
|
|
43
|
+
* <li>安卓手机操作系统 "Android"</li>
|
|
44
|
+
* <li>微软手机操作系统 "Windows Phone"</li>
|
|
45
|
+
* <li>微软桌面操作系统 "Windows PC"</li>
|
|
46
|
+
* <li>苹果桌面操作系统 "Mac OS"</li>
|
|
47
|
+
* <li>未知操作系统 "Unknown"</li>
|
|
48
|
+
* </ul>
|
|
49
|
+
*/
|
|
50
|
+
static get os(): string;
|
|
51
|
+
}
|
|
52
|
+
export default Capabilities;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { EventBase, LocalEvent } from '../event/event_base';
|
|
2
|
+
export declare const enum FullScreenEventType {
|
|
3
|
+
FullScreenChange = 0,
|
|
4
|
+
FullScreenFailed = 1
|
|
5
|
+
}
|
|
6
|
+
export interface FullScreenEvent extends LocalEvent<FullScreenEventType> {
|
|
7
|
+
isFullScreen: boolean;
|
|
8
|
+
error: any;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 全屏显示
|
|
12
|
+
*/
|
|
13
|
+
export default class FullScreen extends EventBase<FullScreenEventType, FullScreenEvent> {
|
|
14
|
+
get isFullScreen(): boolean;
|
|
15
|
+
element: HTMLElement;
|
|
16
|
+
private _isFullScreen;
|
|
17
|
+
constructor();
|
|
18
|
+
startListening(): void;
|
|
19
|
+
stopListening(): void;
|
|
20
|
+
private fullscreenChange;
|
|
21
|
+
private fullscreenError;
|
|
22
|
+
launchFullScreen(): void;
|
|
23
|
+
exitFullscreen(): void;
|
|
24
|
+
private createEvent;
|
|
25
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EventBase, LocalEvent } from '../event/event_base';
|
|
2
|
+
export declare const enum LockPointerEventType {
|
|
3
|
+
LockPointChange = 0,
|
|
4
|
+
LockPointFailed = 1
|
|
5
|
+
}
|
|
6
|
+
export interface LockPointerEvent extends LocalEvent<LockPointerEventType> {
|
|
7
|
+
isLockPointer: boolean;
|
|
8
|
+
error: any;
|
|
9
|
+
}
|
|
10
|
+
export default class LockPointer extends EventBase<LockPointerEventType, LockPointerEvent> {
|
|
11
|
+
get isLockPointer(): boolean;
|
|
12
|
+
private _isLockPointer;
|
|
13
|
+
element: HTMLElement;
|
|
14
|
+
constructor(element: HTMLElement);
|
|
15
|
+
listenLockChange(): void;
|
|
16
|
+
removeListenLockChange(): void;
|
|
17
|
+
lockPointer(): void;
|
|
18
|
+
requestLockPointer(): void;
|
|
19
|
+
exitPointerLock(): void;
|
|
20
|
+
private pointerlockChange;
|
|
21
|
+
private lockscreenFailed;
|
|
22
|
+
private createEvent;
|
|
23
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare class Level {
|
|
2
|
+
static INFO: string;
|
|
3
|
+
static WARN: string;
|
|
4
|
+
static ERR: string;
|
|
5
|
+
static TRACE: string;
|
|
6
|
+
static getLevelIndex(level: string): 0 | 2 | 1 | 3 | 4;
|
|
7
|
+
}
|
|
8
|
+
export interface LogObserver {
|
|
9
|
+
onLog(msg: string): void;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export default class Log {
|
|
15
|
+
static get logLevel(): string;
|
|
16
|
+
static set logLevel(level: string);
|
|
17
|
+
static _logLevel: string;
|
|
18
|
+
static info(...info: any[]): void;
|
|
19
|
+
static warn(...warn: any[]): void;
|
|
20
|
+
static err(...err: any[]): void;
|
|
21
|
+
static trace(...log: any[]): void;
|
|
22
|
+
static setObserver(ob: LogObserver): void;
|
|
23
|
+
private static _observer;
|
|
24
|
+
private static log;
|
|
25
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export default class ScaleMode {
|
|
2
|
+
/**
|
|
3
|
+
* fit模式,完整的显示内容,如果太大就缩小至合适的大小
|
|
4
|
+
*/
|
|
5
|
+
static FIT_SCREEN: string;
|
|
6
|
+
/**
|
|
7
|
+
* 以视频的宽高为基准缩放
|
|
8
|
+
*/
|
|
9
|
+
static CONTAIN_VIDEO: string;
|
|
10
|
+
/**
|
|
11
|
+
* 以应用原始尺寸的缩放.
|
|
12
|
+
*/
|
|
13
|
+
static CONTAIN_APP: string;
|
|
14
|
+
/**
|
|
15
|
+
* 裁剪模式,完全填充屏幕但保留宽高比
|
|
16
|
+
*/
|
|
17
|
+
static FILL_CLIP: string;
|
|
18
|
+
/**
|
|
19
|
+
* 拉伸模式,完全填充屏幕但不保留宽高比
|
|
20
|
+
*/
|
|
21
|
+
static FILL_STRETCH: string;
|
|
22
|
+
/**
|
|
23
|
+
* offset 控制条的高度
|
|
24
|
+
*/
|
|
25
|
+
static OFFSET: number;
|
|
26
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit 类 常用单元函数
|
|
3
|
+
*/
|
|
4
|
+
import { CSSPosition, Point, ViewPort, OffsetView, Vector } from '../common/interface';
|
|
5
|
+
export default class Unit {
|
|
6
|
+
static queryString(name: string): string;
|
|
7
|
+
static queryURL(uri: URL, name: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* 深度拷贝对象,创建新对象
|
|
10
|
+
* @param source 输入对象
|
|
11
|
+
*/
|
|
12
|
+
static deepCopy(source: any): any;
|
|
13
|
+
static deepCopyArray<T>(source: T[]): T[];
|
|
14
|
+
/**
|
|
15
|
+
* 浏览器窗口大小相关
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* 获取浏览器窗口大小
|
|
19
|
+
* @returns { width: 窗口宽, height: 窗口高 }
|
|
20
|
+
*/
|
|
21
|
+
static viewport(): ViewPort;
|
|
22
|
+
static getElementViewport(element: HTMLElement): ViewPort;
|
|
23
|
+
/**
|
|
24
|
+
* 获取某元素距离文档的距离
|
|
25
|
+
* @param element 元素对象
|
|
26
|
+
* @returns 高度
|
|
27
|
+
*/
|
|
28
|
+
static elementTop(element: HTMLElement): number;
|
|
29
|
+
/**
|
|
30
|
+
* 获取元素距离文档左侧的距离
|
|
31
|
+
* @param element 元素对象
|
|
32
|
+
* @returns 左侧距离
|
|
33
|
+
*/
|
|
34
|
+
static elementLeft(element: HTMLElement): number;
|
|
35
|
+
/**
|
|
36
|
+
* 获取元素相对文档位置
|
|
37
|
+
* @param element 元素对象
|
|
38
|
+
* @returns { offsetX:X, offsetY:Y }
|
|
39
|
+
*/
|
|
40
|
+
static offsetViewport(element: HTMLElement): OffsetView;
|
|
41
|
+
static singlePointRelativePosition(e: Touch | MouseEvent, element: HTMLElement): Point;
|
|
42
|
+
/**
|
|
43
|
+
* 获取触摸点相对元素的坐标
|
|
44
|
+
* @param {e} e 触摸回调事件
|
|
45
|
+
* @param offset getOffsetViewport 获取的 offset 对象. {offsetX,offsetY}
|
|
46
|
+
* @return res[] 包含多指操作触摸点的数组
|
|
47
|
+
*/
|
|
48
|
+
static touchRelativePosition(e: any, offset: OffsetView): Array<any>;
|
|
49
|
+
/**
|
|
50
|
+
* 计算两个点之间的距离
|
|
51
|
+
*/
|
|
52
|
+
static pointsDistance(p1: Point, p2: Point): number;
|
|
53
|
+
/**
|
|
54
|
+
* 获取两点间的向量
|
|
55
|
+
* @p1 start point
|
|
56
|
+
* @p2 end point
|
|
57
|
+
*/
|
|
58
|
+
static vector(p1: Point, p2: Point): Vector;
|
|
59
|
+
static vectorModule(v: Vector): number;
|
|
60
|
+
static vectorCosAngle(v1: Vector, v2: Vector): number;
|
|
61
|
+
static vectorDotProduct(v1: Vector, v2: Vector): number;
|
|
62
|
+
static vectorDet(v1: Vector, v2: Vector): number;
|
|
63
|
+
static midpointCoordinate(pointList: Point[]): Point;
|
|
64
|
+
/**
|
|
65
|
+
* 格式化输出时间
|
|
66
|
+
* @param t 输入时间,以秒计算
|
|
67
|
+
* @return 输出时间字符串 aa:bb:cc
|
|
68
|
+
*/
|
|
69
|
+
static formatTimeString(t?: number): string;
|
|
70
|
+
/**
|
|
71
|
+
* 格式化输出时间
|
|
72
|
+
* @param t 输入时间,以分钟计算
|
|
73
|
+
* @return 输出时间字符串 aa:bb:cc
|
|
74
|
+
*/
|
|
75
|
+
static formatMinTimeString(t?: number): string;
|
|
76
|
+
/**
|
|
77
|
+
* get sign
|
|
78
|
+
* -0 ===> -1
|
|
79
|
+
* +0 ===> +1
|
|
80
|
+
* 22 ===> +1
|
|
81
|
+
* -2 ===> -1
|
|
82
|
+
*/
|
|
83
|
+
static sign(num: number): number;
|
|
84
|
+
/**
|
|
85
|
+
* cover css position to point
|
|
86
|
+
*/
|
|
87
|
+
static coverPointToCssPosition(p: Point): CSSPosition;
|
|
88
|
+
/**
|
|
89
|
+
* cover point to css position
|
|
90
|
+
*/
|
|
91
|
+
static coverCssPositionToPoint(p: CSSPosition): Point;
|
|
92
|
+
/**
|
|
93
|
+
* 获取浏览器窗口大小
|
|
94
|
+
* @returns { width: 窗口宽, height: 窗口高 }
|
|
95
|
+
*/
|
|
96
|
+
static getViewport(): {
|
|
97
|
+
width: number;
|
|
98
|
+
height: number;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* 获取某元素距离文档的距离
|
|
102
|
+
* @param element 元素对象
|
|
103
|
+
* @returns 高度
|
|
104
|
+
*/
|
|
105
|
+
static getElementTop(element: HTMLElement): number;
|
|
106
|
+
/**
|
|
107
|
+
* 获取元素距离文档左侧的距离
|
|
108
|
+
* @param element 元素对象
|
|
109
|
+
* @returns 左侧距离
|
|
110
|
+
*/
|
|
111
|
+
static getElementLeft(element: HTMLElement): number;
|
|
112
|
+
/**
|
|
113
|
+
* 获取元素相对文档位置
|
|
114
|
+
* @param element 元素对象
|
|
115
|
+
* @returns { offsetX:X, offsetY:Y }
|
|
116
|
+
*/
|
|
117
|
+
static getOffsetViewport(element: HTMLElement): {
|
|
118
|
+
offsetX: number;
|
|
119
|
+
offsetY: number;
|
|
120
|
+
};
|
|
121
|
+
static getBoundingClientRect(element: HTMLElement): {
|
|
122
|
+
top: number;
|
|
123
|
+
left: number;
|
|
124
|
+
right: number;
|
|
125
|
+
bottom: number;
|
|
126
|
+
};
|
|
127
|
+
static getBoundingClientRectSize(element: HTMLElement): {
|
|
128
|
+
width: number;
|
|
129
|
+
height: number;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* 获取鼠标相对元素的坐标
|
|
133
|
+
* @param {*} e 鼠标回调事件
|
|
134
|
+
* @param element dom 元素
|
|
135
|
+
*/
|
|
136
|
+
static getMousePositon(e: MouseEvent, element: HTMLElement): {
|
|
137
|
+
x: number;
|
|
138
|
+
y: number;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* 刷新当前页面
|
|
142
|
+
*/
|
|
143
|
+
static fresh(): void;
|
|
144
|
+
static ab2str(buf: ArrayBuffer): string;
|
|
145
|
+
static strToU8Arraybuf(str: string): ArrayBuffer;
|
|
146
|
+
static bytesEqual(buf1: Uint8Array, buf2: Uint8Array): boolean;
|
|
147
|
+
/**
|
|
148
|
+
* 获取手机端相对像素
|
|
149
|
+
* ue图宽度 1340
|
|
150
|
+
*/
|
|
151
|
+
static getMobliePixelWidth(px: number, mobilePixelUnit: number): number;
|
|
152
|
+
static IsIframe(): boolean;
|
|
153
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "larksr_websdk",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.311",
|
|
4
4
|
"description": "Larksr websdk. Easy to build a cloud render client for larksr system or ue4 pixelstreaming.docs: https://pingxingyun.github.io/webclient_sdk/",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pingxingyun",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"build": "webpack --config webpack.config.js",
|
|
24
24
|
"build:typings": "tsc --build tsconfig.type.json",
|
|
25
25
|
"copy-dts": "copyfiles -u 1 \"src/**/*.d.ts\" dist/types/",
|
|
26
|
-
"dist": "webpack --config webpack.config.js && copyfiles -u 1 \"src/**/*.d.ts\" ./types/ && copyfiles -u 1 \"doc/*\" dist/doc/ && copyfiles -u 1 \"types
|
|
26
|
+
"dist": "webpack --config webpack.config.js && copyfiles -u 1 \"src/**/*.d.ts\" ./types/ && copyfiles -u 1 \"doc/*\" dist/doc/ && copyfiles -u 1 \"types/**/*.d.ts\" ./dist/types/ && copyfiles -u 1 \"dist/*\" ./sample-plain-html/source/dist/"
|
|
27
27
|
},
|
|
28
28
|
"author": "fcx@pingxingyun.com",
|
|
29
29
|
"license": "ISC",
|
package/types/api.d.ts
CHANGED
|
@@ -33,6 +33,8 @@ export interface GetTaskResult {
|
|
|
33
33
|
updateDate: string;
|
|
34
34
|
useGamepad: number;
|
|
35
35
|
wm: number;
|
|
36
|
+
textInputEventPrompt: number;
|
|
37
|
+
audioInput: number;
|
|
36
38
|
}
|
|
37
39
|
export interface StartAppInfo {
|
|
38
40
|
appliId: string;
|
|
@@ -108,7 +110,7 @@ export default class API {
|
|
|
108
110
|
appKey?: string;
|
|
109
111
|
timestamp?: string;
|
|
110
112
|
signature?: string;
|
|
111
|
-
}): Promise<StartAppInfo>;
|
|
113
|
+
} | any): Promise<StartAppInfo>;
|
|
112
114
|
static CheckUTLockInfo(config: ILarkSRConfig): Promise<UTLockInfo>;
|
|
113
115
|
static GetTask(config: ILarkSRConfig, taskid: string): Promise<GetTaskResult>;
|
|
114
116
|
static LogError(errorCode: number, errorMsg: string, params: string, config: ILarkSRConfig): void;
|
package/types/appli_params.d.ts
CHANGED
|
@@ -190,6 +190,9 @@ export interface IAppliParams {
|
|
|
190
190
|
toastLevel: number;
|
|
191
191
|
appKey: string;
|
|
192
192
|
groupId: string;
|
|
193
|
+
textInputEventPrompt: boolean;
|
|
194
|
+
audioInput: boolean;
|
|
195
|
+
audioInputAutoStart: boolean;
|
|
193
196
|
}
|
|
194
197
|
export declare enum AppliType {
|
|
195
198
|
DESKTOP = 1,
|
|
@@ -249,6 +252,9 @@ export declare class AppliParams implements IAppliParams {
|
|
|
249
252
|
toastLevel: number;
|
|
250
253
|
appKey: string;
|
|
251
254
|
groupId: string;
|
|
255
|
+
textInputEventPrompt: boolean;
|
|
256
|
+
audioInput: boolean;
|
|
257
|
+
audioInputAutoStart: boolean;
|
|
252
258
|
static copyAndCreate(params?: IAppliParams): AppliParams;
|
|
253
259
|
static setUpWithSDKConfig(params: IAppliParams, config: ILarkSRConfig): AppliParams;
|
|
254
260
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EventBase, LocalEvent } from '../event/event_base';
|
|
2
2
|
import * as Msg from '../protobuf/cloudlark';
|
|
3
3
|
import WebSocektChannel from './websocket_channel';
|
|
4
|
+
import { RTCMediaTrackBinding } from './peer_connection';
|
|
4
5
|
import WebsocketProxy from './websocket_proxy';
|
|
5
6
|
import { LarkSR } from '../larksr';
|
|
6
7
|
import PixelStreamingWebsocketChannel from './test_pixel_streaming';
|
|
@@ -56,6 +57,8 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
|
|
|
56
57
|
get state(): APP_STATE;
|
|
57
58
|
set state(state: APP_STATE);
|
|
58
59
|
private _state;
|
|
60
|
+
get audioDeviceId(): string | undefined;
|
|
61
|
+
get audioTrack(): MediaStreamTrack | undefined;
|
|
59
62
|
private retryTime;
|
|
60
63
|
private larksr;
|
|
61
64
|
get voiceId(): number;
|
|
@@ -110,6 +113,41 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
|
|
|
110
113
|
private onRtcError;
|
|
111
114
|
private onIceStateChange;
|
|
112
115
|
retryPeerconnection(): void;
|
|
116
|
+
setAudioEnable(enable: boolean): void | undefined;
|
|
117
|
+
setVideoEnable(enable: boolean): void | undefined;
|
|
118
|
+
setShareEnable(enable: boolean): void | undefined;
|
|
119
|
+
closeAudio(): boolean | undefined;
|
|
120
|
+
closeVideo(): boolean | undefined;
|
|
121
|
+
closeShare(): boolean | undefined;
|
|
122
|
+
openAudio(deviceId?: string): Promise<{
|
|
123
|
+
streams: MediaStream;
|
|
124
|
+
rtcRtpSenders: RTCMediaTrackBinding[];
|
|
125
|
+
} | undefined>;
|
|
126
|
+
openVideo(audio?: boolean, cameraId?: string): Promise<{
|
|
127
|
+
streams: MediaStream;
|
|
128
|
+
rtcRtpSenders: RTCMediaTrackBinding[];
|
|
129
|
+
} | undefined>;
|
|
130
|
+
openDefaultMedia(video?: boolean, audio?: boolean): Promise<void | undefined>;
|
|
131
|
+
openShareMediaDevice(): Promise<void | undefined>;
|
|
132
|
+
getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
|
|
133
|
+
getConnectedAudioOutputDevices(): Promise<MediaDeviceInfo[] | undefined>;
|
|
134
|
+
getConnectedVideoinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
|
|
135
|
+
getConnectedDevices(type: MediaDeviceKind): Promise<MediaDeviceInfo[] | undefined>;
|
|
136
|
+
openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<{
|
|
137
|
+
streams: MediaStream;
|
|
138
|
+
rtcRtpSenders: RTCMediaTrackBinding[];
|
|
139
|
+
} | undefined>;
|
|
140
|
+
openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<{
|
|
141
|
+
streams: MediaStream;
|
|
142
|
+
rtcRtpSenders: RTCMediaTrackBinding[];
|
|
143
|
+
} | undefined>;
|
|
144
|
+
openUserMeida(constraints?: MediaStreamConstraints): Promise<{
|
|
145
|
+
streams: MediaStream;
|
|
146
|
+
rtcRtpSenders: RTCMediaTrackBinding[];
|
|
147
|
+
} | undefined>;
|
|
148
|
+
addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean | undefined;
|
|
149
|
+
removeMediaTrack(track: RTCRtpSender): boolean | undefined;
|
|
150
|
+
requestUserMediaPermission(constraints?: MediaStreamConstraints): Promise<MediaStream> | undefined;
|
|
113
151
|
private onPeerConnectionDisconnect;
|
|
114
152
|
private onBadNetwork;
|
|
115
153
|
private onPixelStreamingPlayerList;
|
|
@@ -77,6 +77,11 @@ export interface AggregatedStats {
|
|
|
77
77
|
currentRoundTripTime: number;
|
|
78
78
|
packetsLostPerc: number;
|
|
79
79
|
}
|
|
80
|
+
export interface RTCMediaTrackBinding {
|
|
81
|
+
deviceId: string;
|
|
82
|
+
track: MediaStreamTrack;
|
|
83
|
+
sender: RTCRtpSender | undefined;
|
|
84
|
+
}
|
|
80
85
|
export default class PeerConnection extends EventBase<WEBRTC_EVENT_TYPE, WebRTCEvent> {
|
|
81
86
|
private config;
|
|
82
87
|
private pc;
|
|
@@ -91,10 +96,56 @@ export default class PeerConnection extends EventBase<WEBRTC_EVENT_TYPE, WebRTCE
|
|
|
91
96
|
private larksr;
|
|
92
97
|
private audioStream;
|
|
93
98
|
private videoStream;
|
|
99
|
+
get audioDeviceId(): string | undefined;
|
|
100
|
+
get audioTrack(): MediaStreamTrack | undefined;
|
|
101
|
+
private localAudioTrackBinding;
|
|
102
|
+
private localVideoTrackBinding;
|
|
103
|
+
private localShareTrackBinding;
|
|
104
|
+
private sdpCreateSuccess;
|
|
94
105
|
constructor(larksr: LarkSR, config: WebRTCConfig);
|
|
95
106
|
create(): void;
|
|
96
107
|
createOffer(): void;
|
|
97
108
|
close(): void;
|
|
109
|
+
setAudioEnable(enable: boolean): void;
|
|
110
|
+
setVideoEnable(enable: boolean): void;
|
|
111
|
+
setShareEnable(enable: boolean): void;
|
|
112
|
+
closeAudio(): boolean;
|
|
113
|
+
closeVideo(): boolean;
|
|
114
|
+
closeShare(): boolean;
|
|
115
|
+
private stopLocalTrackBing;
|
|
116
|
+
openAudio(deviceId?: string): Promise<{
|
|
117
|
+
streams: MediaStream;
|
|
118
|
+
rtcRtpSenders: RTCMediaTrackBinding[];
|
|
119
|
+
}>;
|
|
120
|
+
openVideo(audio?: boolean, cameraId?: string): Promise<{
|
|
121
|
+
streams: MediaStream;
|
|
122
|
+
rtcRtpSenders: RTCMediaTrackBinding[];
|
|
123
|
+
}>;
|
|
124
|
+
openDefaultMedia(video?: boolean, audio?: boolean): Promise<void>;
|
|
125
|
+
openShareMediaDevice(): Promise<void>;
|
|
126
|
+
getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[]>;
|
|
127
|
+
getConnectedAudioOutputDevices(): Promise<MediaDeviceInfo[]>;
|
|
128
|
+
getConnectedVideoinputDevices(): Promise<MediaDeviceInfo[]>;
|
|
129
|
+
getConnectedDevices(type: MediaDeviceKind): Promise<MediaDeviceInfo[]>;
|
|
130
|
+
openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<{
|
|
131
|
+
streams: MediaStream;
|
|
132
|
+
rtcRtpSenders: RTCMediaTrackBinding[];
|
|
133
|
+
}>;
|
|
134
|
+
openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<{
|
|
135
|
+
streams: MediaStream;
|
|
136
|
+
rtcRtpSenders: RTCMediaTrackBinding[];
|
|
137
|
+
}>;
|
|
138
|
+
openUserMeida(constraints?: MediaStreamConstraints): Promise<{
|
|
139
|
+
streams: MediaStream;
|
|
140
|
+
rtcRtpSenders: RTCMediaTrackBinding[];
|
|
141
|
+
}>;
|
|
142
|
+
addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean;
|
|
143
|
+
removeMediaTrack(track: RTCRtpSender): boolean;
|
|
144
|
+
requestUserMediaPermission(constraints?: MediaStreamConstraints): Promise<MediaStream>;
|
|
145
|
+
/**
|
|
146
|
+
* 接收到sdp
|
|
147
|
+
* @param des sdp
|
|
148
|
+
*/
|
|
98
149
|
onRemoteDescription(des: RTCSessionDescriptionInit): void;
|
|
99
150
|
onReceiveCandidate(candateInit: RTCIceCandidateInit): void;
|
|
100
151
|
startNetTest(): void;
|
package/types/larksr.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ import FullScreen from './utils/full_screen';
|
|
|
15
15
|
import LockPointer from './utils/lock_pointer';
|
|
16
16
|
import ScaleMode from './utils/scale_mode';
|
|
17
17
|
import Capabilities from './utils/capabilities';
|
|
18
|
+
import Recorder from './lark/recoder';
|
|
18
19
|
declare enum PlayerModeType {
|
|
19
20
|
/**
|
|
20
21
|
* 普通模式
|
|
@@ -312,6 +313,18 @@ interface ILarkSRConfig {
|
|
|
312
313
|
* }
|
|
313
314
|
*/
|
|
314
315
|
publicPortMapping?: PublicPortMapping;
|
|
316
|
+
/**
|
|
317
|
+
* 是否提示输入文字 APP_REQUEST_INPUT
|
|
318
|
+
* 当服务端检测到输入法事件后会抛出事件,可在 web 层添加输入框,配合 inputText 发送文字到云端
|
|
319
|
+
* 默认打开,当手动关闭时将不会抛出 APP_REQUEST_INPUT 事件
|
|
320
|
+
*/
|
|
321
|
+
textInputEventPrompt?: boolean;
|
|
322
|
+
/**
|
|
323
|
+
* 当启用音频输入功能,是否自动连入音频设备。
|
|
324
|
+
* 默认关闭。
|
|
325
|
+
* 需要注意默认打开的时系统中默认的音频设备。
|
|
326
|
+
*/
|
|
327
|
+
audioInputAutoStart?: boolean;
|
|
315
328
|
}
|
|
316
329
|
declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
317
330
|
/**
|
|
@@ -439,6 +452,14 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
439
452
|
*/
|
|
440
453
|
set initCursorMode(mode: boolean);
|
|
441
454
|
get initCursorMode(): boolean;
|
|
455
|
+
/**
|
|
456
|
+
* 当前打开的音频设备 ID,如果打开时没指定为空
|
|
457
|
+
*/
|
|
458
|
+
get audioDeviceId(): string | undefined;
|
|
459
|
+
/**
|
|
460
|
+
* 当前打开音频的track对象,未打开状态为空
|
|
461
|
+
*/
|
|
462
|
+
get audioTrack(): MediaStreamTrack | undefined;
|
|
442
463
|
/**
|
|
443
464
|
* LarkSR 客户端。所有操作和事件通过该类传递
|
|
444
465
|
* @param config 本地配置,优先级最高
|
|
@@ -477,7 +498,7 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
477
498
|
appKey?: string;
|
|
478
499
|
timestamp?: string;
|
|
479
500
|
signature?: string;
|
|
480
|
-
}): Promise<void>;
|
|
501
|
+
} | any): Promise<void>;
|
|
481
502
|
/**
|
|
482
503
|
* 用户手动填昵称,需要在 start 或 connect 之前设置才能生效。
|
|
483
504
|
*/
|
|
@@ -492,7 +513,7 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
492
513
|
* 启动时应用参数不能为空,包括 taskID,appServer,appPort
|
|
493
514
|
* @returns 是否成功。主要校验授权码是否成功
|
|
494
515
|
*/
|
|
495
|
-
|
|
516
|
+
start(): Promise<void>;
|
|
496
517
|
/**
|
|
497
518
|
* 重新开始云渲染流程
|
|
498
519
|
*/
|
|
@@ -749,6 +770,44 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
749
770
|
* @returns LEFT = 0,RIGHT = 1,MIDDLE = 2
|
|
750
771
|
*/
|
|
751
772
|
getMouseButtonType(button: 'left' | 'mid' | 'right'): CloudLark.MouseKey;
|
|
773
|
+
/**
|
|
774
|
+
* 媒体采集相关
|
|
775
|
+
*/
|
|
776
|
+
setAudioEnable(enable: boolean): void | undefined;
|
|
777
|
+
setVideoEnable(enable: boolean): void | undefined;
|
|
778
|
+
setShareEnable(enable: boolean): void | undefined;
|
|
779
|
+
closeAudio(): boolean | undefined;
|
|
780
|
+
closeVideo(): boolean | undefined;
|
|
781
|
+
closeShare(): boolean | undefined;
|
|
782
|
+
openAudio(deviceId?: string): Promise<{
|
|
783
|
+
streams: MediaStream;
|
|
784
|
+
rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
|
|
785
|
+
} | undefined>;
|
|
786
|
+
openVideo(audio?: boolean, cameraId?: string): Promise<{
|
|
787
|
+
streams: MediaStream;
|
|
788
|
+
rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
|
|
789
|
+
} | undefined>;
|
|
790
|
+
openDefaultMedia(video?: boolean, audio?: boolean): Promise<void | undefined>;
|
|
791
|
+
openShareMediaDevice(): Promise<void | undefined>;
|
|
792
|
+
getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
|
|
793
|
+
getConnectedAudioOutputDevices(): Promise<MediaDeviceInfo[] | undefined>;
|
|
794
|
+
getConnectedVideoinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
|
|
795
|
+
getConnectedDevices(type: MediaDeviceKind): Promise<MediaDeviceInfo[] | undefined>;
|
|
796
|
+
openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<{
|
|
797
|
+
streams: MediaStream;
|
|
798
|
+
rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
|
|
799
|
+
} | undefined>;
|
|
800
|
+
openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<{
|
|
801
|
+
streams: MediaStream;
|
|
802
|
+
rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
|
|
803
|
+
} | undefined>;
|
|
804
|
+
openUserMeida(constraints?: MediaStreamConstraints): Promise<{
|
|
805
|
+
streams: MediaStream;
|
|
806
|
+
rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
|
|
807
|
+
} | undefined>;
|
|
808
|
+
addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean | undefined;
|
|
809
|
+
removeMediaTrack(track: RTCRtpSender): boolean | undefined;
|
|
810
|
+
requestUserMediaPermission(constraints?: MediaStreamConstraints): Promise<MediaStream> | undefined;
|
|
752
811
|
$emit(type: LarkEventType, data?: any, message?: string): void;
|
|
753
812
|
$emitError(message?: string, code?: number): void;
|
|
754
813
|
$emitInfo(message?: string, code?: number): void;
|
|
@@ -771,4 +830,4 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
771
830
|
private onOperationTimeout;
|
|
772
831
|
private onOperationInput;
|
|
773
832
|
}
|
|
774
|
-
export { LarkSR, ILarkSRConfig, PlayerModeType, UserType, LarkSREvent, LarkEventType, LarkSRClientEvent, AppliParams, AppliParamsUtils, LoadAppliParamsFromUrl, LoadAppliParamsStartAppInfo, EventBase, API, Operation, Capabilities, ScaleMode, VirtualKey, KEYMAP, CloudLark, FullScreen, LockPointer, };
|
|
833
|
+
export { LarkSR, ILarkSRConfig, PlayerModeType, UserType, LarkSREvent, LarkEventType, LarkSRClientEvent, AppliParams, AppliParamsUtils, LoadAppliParamsFromUrl, LoadAppliParamsStartAppInfo, EventBase, API, Operation, Capabilities, ScaleMode, VirtualKey, KEYMAP, CloudLark, FullScreen, LockPointer, Recorder, };
|