larksr_websdk 3.2.5 → 3.2.6
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/dist.zip +0 -0
- package/dist/larksr-web-sdk.min.js +2 -2
- package/dist/types/api.d.ts +2 -0
- package/dist/types/appli_params.d.ts +18 -2
- package/dist/types/lark/application.d.ts +5 -2
- package/dist/types/lark/message.d.ts +5 -4
- package/dist/types/lark/test_pixel_streaming.d.ts +54 -0
- package/dist/types/larksr.d.ts +28 -1
- package/dist/types/operation/pixel_streaming_input.d.ts +82 -0
- package/package.json +1 -1
package/dist/types/api.d.ts
CHANGED
|
@@ -9,6 +9,10 @@ export interface IAppliParams {
|
|
|
9
9
|
* appserver 的端口号
|
|
10
10
|
*/
|
|
11
11
|
appPort: string;
|
|
12
|
+
/**
|
|
13
|
+
* appli type
|
|
14
|
+
*/
|
|
15
|
+
appliType: number;
|
|
12
16
|
/**
|
|
13
17
|
* 是否使用 websocket 代理
|
|
14
18
|
*/
|
|
@@ -24,7 +28,7 @@ export interface IAppliParams {
|
|
|
24
28
|
/**
|
|
25
29
|
* 当前应用名称
|
|
26
30
|
*/
|
|
27
|
-
|
|
31
|
+
appliName: string;
|
|
28
32
|
/**
|
|
29
33
|
* @deprecated
|
|
30
34
|
* 应用的宽高。现在云端自动获取宽高
|
|
@@ -184,13 +188,25 @@ export interface IAppliParams {
|
|
|
184
188
|
enableSoundRequire: boolean;
|
|
185
189
|
toastLevel: number;
|
|
186
190
|
}
|
|
191
|
+
export declare enum AppliType {
|
|
192
|
+
DESKTOP = 1,
|
|
193
|
+
SHARED = 2,
|
|
194
|
+
PIXEL_STREAMING = 13,
|
|
195
|
+
VR = 3,
|
|
196
|
+
VR_STEAM = 5,
|
|
197
|
+
NV_VR = 6,
|
|
198
|
+
XR = 7,
|
|
199
|
+
PXY_AR = 9,
|
|
200
|
+
NV_AR = 11
|
|
201
|
+
}
|
|
187
202
|
export declare class AppliParams implements IAppliParams {
|
|
188
203
|
appServer: string;
|
|
189
204
|
appPort: string;
|
|
205
|
+
appliType: AppliType;
|
|
190
206
|
wsProxy: boolean;
|
|
191
207
|
preferPubOutIp: string;
|
|
192
208
|
taskid: string;
|
|
193
|
-
|
|
209
|
+
appliName: string;
|
|
194
210
|
width: number;
|
|
195
211
|
height: number;
|
|
196
212
|
scaleMode: ScaleMode;
|
|
@@ -3,6 +3,7 @@ import * as Msg from '../protobuf/cloudlark';
|
|
|
3
3
|
import WebSocektChannel from './websocket_channel';
|
|
4
4
|
import WebsocketProxy from './websocket_proxy';
|
|
5
5
|
import { LarkSR } from '../larksr';
|
|
6
|
+
import PixelStreamingWebsocketChannel from './test_pixel_streaming';
|
|
6
7
|
export declare enum APP_STATE {
|
|
7
8
|
BEFORE_CREATE = 0,
|
|
8
9
|
INITED = 1,
|
|
@@ -44,6 +45,7 @@ export interface AppEvent extends LocalEvent<APP_EVENT_TYPE> {
|
|
|
44
45
|
export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
|
|
45
46
|
private websocketChannel;
|
|
46
47
|
private websocketProxy;
|
|
48
|
+
private testPixelStreaming;
|
|
47
49
|
private peerConnection;
|
|
48
50
|
get state(): APP_STATE;
|
|
49
51
|
set state(state: APP_STATE);
|
|
@@ -60,7 +62,7 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
|
|
|
60
62
|
sendTextToDataChannel(text: string): void;
|
|
61
63
|
sendBinaryToDataChannel(binary: Uint8Array): void;
|
|
62
64
|
start(): Promise<void>;
|
|
63
|
-
connect(): Promise<WebsocketProxy> | Promise<WebSocektChannel> | undefined;
|
|
65
|
+
connect(): Promise<PixelStreamingWebsocketChannel> | Promise<WebsocketProxy> | Promise<WebSocektChannel> | undefined;
|
|
64
66
|
disConnect(): void;
|
|
65
67
|
closeRtc(): void;
|
|
66
68
|
versionCheck(): void;
|
|
@@ -71,8 +73,9 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
|
|
|
71
73
|
restartApp(): void;
|
|
72
74
|
rtcOffer(): void;
|
|
73
75
|
setAnswer(sdp: string): void;
|
|
74
|
-
setIce(candidate: string): void;
|
|
76
|
+
setIce(sdpMlineindex: number, sdpmid: string, candidate: string): void;
|
|
75
77
|
sendInput(input: Msg.CloudLark.ClientInput): void;
|
|
78
|
+
sendInputBuffer(buffer: ArrayBuffer): void;
|
|
76
79
|
private onChannelOpen;
|
|
77
80
|
private onClose;
|
|
78
81
|
private onChannelMsg;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as Msg from '../protobuf/cloudlark';
|
|
2
2
|
import { LarkEventType } from './lark_event_type';
|
|
3
3
|
export declare const MESSAGE_MAGIC = 538317090;
|
|
4
|
+
export declare const PIXEL_STREAMING_MESSAGE_MAGIC = 539037986;
|
|
4
5
|
export default class Message {
|
|
5
|
-
static emptyMsg(): Msg.CloudLark.ToServerMessage;
|
|
6
|
-
static versionCheckRequest(): Msg.CloudLark.ToServerMessage;
|
|
7
|
-
static taskRequest(taskid: string, isInteractiveMode: boolean, isObMode: boolean, nickName: string): Msg.CloudLark.ToServerMessage;
|
|
8
|
-
static startStreamReqeuest(request: Msg.CloudLark.IStartStreamRequest): Msg.CloudLark.ToServerMessage;
|
|
6
|
+
static emptyMsg(isPixelStreaming?: boolean): Msg.CloudLark.ToServerMessage;
|
|
7
|
+
static versionCheckRequest(isPixelStreaming: boolean): Msg.CloudLark.ToServerMessage;
|
|
8
|
+
static taskRequest(taskid: string, isInteractiveMode: boolean, isObMode: boolean, nickName: string, isPixelStreaming: boolean): Msg.CloudLark.ToServerMessage;
|
|
9
|
+
static startStreamReqeuest(request: Msg.CloudLark.IStartStreamRequest, isPixelStreaming: boolean): Msg.CloudLark.ToServerMessage;
|
|
9
10
|
static startMonitorStreamReqeuest(request: Msg.CloudLark.IVrMonitorRequest): Msg.CloudLark.ToServerMessage;
|
|
10
11
|
static rtcOfferMsg(type: string, sdp: string): Msg.CloudLark.ToServerMessage;
|
|
11
12
|
static iceMsg(sdpmid: string, sdpMlineindex: number, candidate: string): Msg.CloudLark.ToServerMessage;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { EventBase, LocalEvent } from '../event/event_base';
|
|
2
|
+
import { LarkSR } from '../larksr';
|
|
3
|
+
export declare enum CHANNEL_EVENT_TYPE {
|
|
4
|
+
OPEN = 0,
|
|
5
|
+
CLOSE = 1,
|
|
6
|
+
ERROR = 2,
|
|
7
|
+
CLIENT_MSG = 3
|
|
8
|
+
}
|
|
9
|
+
export interface ChannelEvent extends LocalEvent<CHANNEL_EVENT_TYPE> {
|
|
10
|
+
data?: any;
|
|
11
|
+
}
|
|
12
|
+
export interface PixelStreamingWebscocketConfig {
|
|
13
|
+
serverAddress: string;
|
|
14
|
+
ip: string;
|
|
15
|
+
port: string;
|
|
16
|
+
path?: string;
|
|
17
|
+
}
|
|
18
|
+
export default class PixelStreamingWebsocketChannel extends EventBase<CHANNEL_EVENT_TYPE, ChannelEvent> {
|
|
19
|
+
private get wsServer();
|
|
20
|
+
private config;
|
|
21
|
+
private connection;
|
|
22
|
+
private keepAliveTimeout;
|
|
23
|
+
private larksr;
|
|
24
|
+
constructor(config: PixelStreamingWebscocketConfig, larksr: LarkSR);
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
connect(): Promise<this>;
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
close(): Promise<void>;
|
|
33
|
+
sendMsg(msg: any): void;
|
|
34
|
+
isOpen(): boolean;
|
|
35
|
+
private startKeepAlive;
|
|
36
|
+
private stopKeepAlive;
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
*/
|
|
40
|
+
private onMessage;
|
|
41
|
+
private onOpen;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @param e
|
|
45
|
+
*/
|
|
46
|
+
private onWSError;
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* @param e
|
|
50
|
+
*/
|
|
51
|
+
private onWSClose;
|
|
52
|
+
private $emit;
|
|
53
|
+
private createEvent;
|
|
54
|
+
}
|
package/dist/types/larksr.d.ts
CHANGED
|
@@ -261,6 +261,10 @@ interface ILarkSRConfig {
|
|
|
261
261
|
* 可选项,手机端是否强制横屏
|
|
262
262
|
*/
|
|
263
263
|
mobileForceLandscape?: boolean;
|
|
264
|
+
/**
|
|
265
|
+
* 初始化鼠标模式, true 锁定,false 非锁定
|
|
266
|
+
*/
|
|
267
|
+
initCursorMode?: boolean;
|
|
264
268
|
}
|
|
265
269
|
/**
|
|
266
270
|
* 通过调用后台接口获取云端应用参数
|
|
@@ -304,6 +308,7 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
304
308
|
* 当前是否是交互模式,交互默认即可以操作的模式
|
|
305
309
|
*/
|
|
306
310
|
get isInteractiveMode(): boolean;
|
|
311
|
+
get isPixelStreaming(): boolean;
|
|
307
312
|
/**
|
|
308
313
|
* 当前 app 的状态
|
|
309
314
|
*/
|
|
@@ -328,6 +333,10 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
328
333
|
*/
|
|
329
334
|
get op(): Operation;
|
|
330
335
|
private _op;
|
|
336
|
+
/**
|
|
337
|
+
* 像素流送输入控制
|
|
338
|
+
*/
|
|
339
|
+
private pixelInput;
|
|
331
340
|
private iframeHandler;
|
|
332
341
|
get fullScreen(): FullScreen;
|
|
333
342
|
private _fullScreen;
|
|
@@ -337,11 +346,19 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
337
346
|
/**
|
|
338
347
|
* 视频元素
|
|
339
348
|
*/
|
|
340
|
-
get videoElement():
|
|
349
|
+
get videoElement(): HTMLVideoElement;
|
|
341
350
|
/**
|
|
342
351
|
* 视频显示组件
|
|
343
352
|
*/
|
|
344
353
|
get videoComponent(): any;
|
|
354
|
+
/**
|
|
355
|
+
* 视频显示组件的父容器
|
|
356
|
+
*/
|
|
357
|
+
get containerElement(): any;
|
|
358
|
+
/**
|
|
359
|
+
*
|
|
360
|
+
*/
|
|
361
|
+
get viewportElement(): any;
|
|
345
362
|
get rootElement(): HTMLElement;
|
|
346
363
|
private _rootElement;
|
|
347
364
|
get serverAddress(): string;
|
|
@@ -351,6 +368,16 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
351
368
|
private _config;
|
|
352
369
|
private loadingTimeout;
|
|
353
370
|
private sdkAuth;
|
|
371
|
+
/**
|
|
372
|
+
* 后台分配的用户id
|
|
373
|
+
*/
|
|
374
|
+
get uid(): number;
|
|
375
|
+
private _uid;
|
|
376
|
+
/**
|
|
377
|
+
* @returns 是否是 Task的拥有者
|
|
378
|
+
*/
|
|
379
|
+
isTaskOwner(): boolean;
|
|
380
|
+
_isTaskOwner: boolean;
|
|
354
381
|
/**
|
|
355
382
|
* LarkSR 客户端。所有操作和事件通过该类传递
|
|
356
383
|
* 注意,如果手动创建该类,要清楚参数的意义,一般只有调试等特殊情况才手动创建该类
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { LarkSR } from '@/larksr';
|
|
2
|
+
import { LocalEvent, EventBase } from '../event/event_base';
|
|
3
|
+
export declare const MessageType: {
|
|
4
|
+
/**********************************************************************/
|
|
5
|
+
IFrameRequest: number;
|
|
6
|
+
RequestQualityControl: number;
|
|
7
|
+
MaxFpsRequest: number;
|
|
8
|
+
AverageBitrateRequest: number;
|
|
9
|
+
StartStreaming: number;
|
|
10
|
+
StopStreaming: number;
|
|
11
|
+
LatencyTest: number;
|
|
12
|
+
RequestInitialSettings: number;
|
|
13
|
+
/**********************************************************************/
|
|
14
|
+
UIInteraction: number;
|
|
15
|
+
Command: number;
|
|
16
|
+
KeyDown: number;
|
|
17
|
+
KeyUp: number;
|
|
18
|
+
KeyPress: number;
|
|
19
|
+
MouseEnter: number;
|
|
20
|
+
MouseLeave: number;
|
|
21
|
+
MouseDown: number;
|
|
22
|
+
MouseUp: number;
|
|
23
|
+
MouseMove: number;
|
|
24
|
+
MouseWheel: number;
|
|
25
|
+
TouchStart: number;
|
|
26
|
+
TouchEnd: number;
|
|
27
|
+
TouchMove: number;
|
|
28
|
+
GamepadButtonPressed: number;
|
|
29
|
+
GamepadButtonReleased: number;
|
|
30
|
+
GamepadAnalog: number;
|
|
31
|
+
};
|
|
32
|
+
export declare const enum PIXEL_STREAMING_EVENT_TYPE {
|
|
33
|
+
InputBuffer = 0
|
|
34
|
+
}
|
|
35
|
+
export interface PixelStreamingEvent extends LocalEvent<PIXEL_STREAMING_EVENT_TYPE> {
|
|
36
|
+
intpuBuffer?: ArrayBuffer;
|
|
37
|
+
}
|
|
38
|
+
export declare const ControlSchemeType: {
|
|
39
|
+
LockedMouse: number;
|
|
40
|
+
HoveringMouse: number;
|
|
41
|
+
};
|
|
42
|
+
export default class PixelStreamingInput extends EventBase<PIXEL_STREAMING_EVENT_TYPE, PixelStreamingEvent> {
|
|
43
|
+
private playerElementClientRect;
|
|
44
|
+
private normalizeAndQuantizeUnsigned;
|
|
45
|
+
private normalizeAndQuantizeSigned;
|
|
46
|
+
private unquantizeAndDenormalizeUnsigned;
|
|
47
|
+
private larksr;
|
|
48
|
+
private inputOptions;
|
|
49
|
+
get startListen(): boolean;
|
|
50
|
+
private _startListen;
|
|
51
|
+
constructor(larksr: LarkSR);
|
|
52
|
+
registerInputs(videoElement: HTMLVideoElement): void;
|
|
53
|
+
setupMouseAndFreezeFrame(playerElement: HTMLElement, videoElement: HTMLVideoElement): void;
|
|
54
|
+
emitUIInteraction(descriptor: any): ArrayBuffer;
|
|
55
|
+
emitCommand(descriptor: any): ArrayBuffer;
|
|
56
|
+
requestInitialSettings(): void;
|
|
57
|
+
requestQualityControl(): void;
|
|
58
|
+
emitMouseMove(x: number, y: number, deltaX: number, deltaY: number): void;
|
|
59
|
+
emitMouseDown(button: number, x: number, y: number): void;
|
|
60
|
+
emitMouseUp(button: number, x: number, y: number): void;
|
|
61
|
+
emitMouseWheel(delta: number, x: number, y: number): void;
|
|
62
|
+
releaseMouseButtons(buttons: number, x: number, y: number): void;
|
|
63
|
+
pressMouseButtons(buttons: number, x: number, y: number): void;
|
|
64
|
+
registerMouseEnterAndLeaveEvents(playerElement: HTMLElement): void;
|
|
65
|
+
registerLockedMouseEvents(playerElement: HTMLElement): void;
|
|
66
|
+
registerHoveringMouseEvents(playerElement: HTMLVideoElement): void;
|
|
67
|
+
registerTouchEvents(playerElement: HTMLVideoElement): void;
|
|
68
|
+
isKeyCodeBrowserKey(keyCode: number): boolean;
|
|
69
|
+
getKeyCode(e: KeyboardEvent): number;
|
|
70
|
+
registerKeyboardEvents(): void;
|
|
71
|
+
setupHtmlEvents(): void;
|
|
72
|
+
gamepadConnectHandler(e: any): void;
|
|
73
|
+
gamepadDisconnectHandler(e: any): void;
|
|
74
|
+
emitControllerAxisMove(controllerIndex: any, axisIndex: number, analogValue: number): void;
|
|
75
|
+
emitControllerButtonPressed(controllerIndex: any, buttonIndex: number, isRepeat: number): void;
|
|
76
|
+
emitControllerButtonReleased(controllerIndex: any, buttonIndex: number): void;
|
|
77
|
+
scanGamepads(): void;
|
|
78
|
+
updateStatus(): void;
|
|
79
|
+
setupNormalizeAndQuantize(playerElement: HTMLElement, videoElement: HTMLVideoElement): void;
|
|
80
|
+
emitDescriptor(messageType: number, descriptor: any): ArrayBuffer;
|
|
81
|
+
sendInputData(data: ArrayBuffer): void;
|
|
82
|
+
}
|