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.
@@ -36,6 +36,8 @@ export interface GetTaskResult {
36
36
  }
37
37
  export interface StartAppInfo {
38
38
  appliId: string;
39
+ appliType: number;
40
+ appliName: string;
39
41
  taskId: string;
40
42
  renderServerIp: string;
41
43
  wsProxy: string;
@@ -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
- courseName: string;
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
- courseName: string;
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
+ }
@@ -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(): any;
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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "larksr_websdk",
3
- "version": "3.2.5",
3
+ "version": "3.2.6",
4
4
  "description": "larksr websdk. http://www.pingxingyun.com",
5
5
  "keywords": [
6
6
  "pingxingyun",