larksr_websdk 3.2.340 → 3.2.341

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.
Files changed (74) hide show
  1. package/dist/doc/config.md +222 -0
  2. package/dist/doc/event_codes.md +286 -0
  3. package/dist/doc/events.md +229 -0
  4. package/dist/doc/functions.md +603 -0
  5. package/dist/doc/index.md +83 -0
  6. package/dist/doc/member_variables.md +407 -0
  7. package/dist/doc/sdkid_encryption.md +40 -0
  8. package/dist/doc/update.md +447 -0
  9. package/dist/larksr-web-sdk.min.js +1 -1
  10. package/dist/types/api.d.ts +132 -0
  11. package/dist/types/appli_params.d.ts +298 -0
  12. package/dist/types/common/cmd.d.ts +28 -0
  13. package/dist/types/common/constant.d.ts +4 -0
  14. package/dist/types/common/interface.d.ts +30 -0
  15. package/dist/types/config.d.ts +59 -0
  16. package/dist/types/event/event_base.d.ts +11 -0
  17. package/dist/types/event/iframe_poster.d.ts +9 -0
  18. package/dist/types/index.d.ts +23 -0
  19. package/dist/types/lark/Worker.d.ts +0 -0
  20. package/dist/types/lark/application.d.ts +191 -0
  21. package/dist/types/lark/canvas_render.d.ts +28 -0
  22. package/dist/types/lark/custom.d.ts +7 -0
  23. package/dist/types/lark/ice_candiadate_parser.d.ts +24 -0
  24. package/dist/types/lark/lark_event_type.d.ts +114 -0
  25. package/dist/types/lark/media_share_interface.d.ts +46 -0
  26. package/dist/types/lark/message.d.ts +22 -0
  27. package/dist/types/lark/peer_connection.d.ts +191 -0
  28. package/dist/types/lark/peer_connection_media_share.d.ts +101 -0
  29. package/dist/types/lark/recoder.d.ts +55 -0
  30. package/dist/types/lark/sdp_util.d.ts +36 -0
  31. package/dist/types/lark/test_pixel_streaming.d.ts +54 -0
  32. package/dist/types/lark/websocket_channel.d.ts +57 -0
  33. package/dist/types/lark/websocket_proxy.d.ts +56 -0
  34. package/dist/types/larksr.d.ts +1231 -0
  35. package/dist/types/localization/base.d.ts +8 -0
  36. package/dist/types/localization/gesture_ins.d.ts +4 -0
  37. package/dist/types/localization/language.d.ts +6 -0
  38. package/dist/types/localization/loader.d.ts +14 -0
  39. package/dist/types/localization/message.d.ts +81 -0
  40. package/dist/types/localization/ui.d.ts +60 -0
  41. package/dist/types/operation/gamepad_handler.d.ts +67 -0
  42. package/dist/types/operation/gesture.d.ts +72 -0
  43. package/dist/types/operation/gesture_handler.d.ts +53 -0
  44. package/dist/types/operation/handler_base.d.ts +8 -0
  45. package/dist/types/operation/keyboard_handler.d.ts +21 -0
  46. package/dist/types/operation/keymap.d.ts +24 -0
  47. package/dist/types/operation/letter_keymap.d.ts +8 -0
  48. package/dist/types/operation/mouse_handler.d.ts +42 -0
  49. package/dist/types/operation/num_keymap.d.ts +12 -0
  50. package/dist/types/operation/operation.d.ts +97 -0
  51. package/dist/types/operation/pixel_streaming_input.d.ts +82 -0
  52. package/dist/types/operation/touch_handler.d.ts +11 -0
  53. package/dist/types/operation/utils.d.ts +18 -0
  54. package/dist/types/protobuf/cloudlark.d.ts +8221 -0
  55. package/dist/types/screen_state.d.ts +120 -0
  56. package/dist/types/utils/browser_type.d.ts +37 -0
  57. package/dist/types/utils/capabilities.d.ts +54 -0
  58. package/dist/types/utils/full_screen.d.ts +25 -0
  59. package/dist/types/utils/ios-inner-height.d.ts +4 -0
  60. package/dist/types/utils/lock_pointer.d.ts +23 -0
  61. package/dist/types/utils/log.d.ts +25 -0
  62. package/dist/types/utils/scale_mode.d.ts +26 -0
  63. package/dist/types/utils/unit.d.ts +148 -0
  64. package/package.json +1 -1
  65. package/types/lark/application.d.ts +5 -3
  66. package/types/lark/canvas_render.d.ts +28 -0
  67. package/types/lark/custom.d.ts +7 -0
  68. package/types/lark/media_share_interface.d.ts +2 -2
  69. package/types/lark/peer_connection.d.ts +5 -2
  70. package/types/lark/peer_connection_media_share.d.ts +3 -2
  71. package/types/larksr.d.ts +7 -2
  72. package/types/protobuf/cloudlark.d.ts +8221 -0
  73. package/types/screen_state.d.ts +2 -0
  74. package/types/utils/ios-inner-height.d.ts +4 -0
@@ -0,0 +1,191 @@
1
+ import { EventBase, LocalEvent } from '../event/event_base';
2
+ import * as Msg from '../protobuf/cloudlark';
3
+ import WebSocektChannel from './websocket_channel';
4
+ import WebsocketProxy from './websocket_proxy';
5
+ import { LarkSR } from '../larksr';
6
+ import PixelStreamingWebsocketChannel from './test_pixel_streaming';
7
+ import { RECORDER_STATE } from './recoder';
8
+ export declare enum APP_STATE {
9
+ BEFORE_CREATE = 0,
10
+ INITED = 1,
11
+ WEBSOCKET_CHANNEL_OPEN = 2,
12
+ LOGIN_SUCCESS = 3,
13
+ RTC_CONNECTED = 4,
14
+ MEDIA_LOADED = 5,
15
+ MEDIA_PLAYED = 6,
16
+ RTC_RETRY = 7,
17
+ APP_RETRY = 8,
18
+ BEFORE_DESTORY = 9,
19
+ WEBSOCKET_CLOSED = 10,
20
+ RTC_CLOSED = 11,
21
+ DESTROYED = 12
22
+ }
23
+ export declare enum APP_EVENT_TYPE {
24
+ CONNECT = 0,
25
+ LOGIN = 1,
26
+ ERROR = 2,
27
+ INFO = 3,
28
+ APP_CLOSE = 4,
29
+ REMOTE_STREAM = 5,
30
+ REMOTE_AUDIO_STREAM = 6,
31
+ SYNC_CURSORSTYLE = 7,
32
+ APP_STATE_CHANGE = 8,
33
+ NET_STATE = 9,
34
+ LK_APP_RESIZE = 10,
35
+ LK_APP_MOUSE_MODE = 11,
36
+ LK_APP_PLAER_LIST = 12,
37
+ LK_APP_REQUEST_TEXT = 13,
38
+ LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE = 14,
39
+ LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE = 15,
40
+ LK_DATA_CHANNEL_RENDERSERVER_OPEN = 16,
41
+ LK_DATA_CHANNEL_RENDERSERVER_CLOSE = 17,
42
+ AI_VOICE_STATUS = 18,
43
+ AI_VOICE_ASR_RESULT = 19,
44
+ AI_VOICE_DM_RESULT = 20,
45
+ AI_VOICE_ERROR = 21,
46
+ RTMP_STREAM_STATE = 22,
47
+ RTMP_STREAM_ERROR = 23,
48
+ RTC_RETRY_SUCCESS = 24
49
+ }
50
+ export interface AppEvent extends LocalEvent<APP_EVENT_TYPE> {
51
+ data?: any;
52
+ state: APP_STATE;
53
+ }
54
+ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
55
+ private websocketChannel;
56
+ private websocketProxy;
57
+ private testPixelStreaming;
58
+ private peerConnection;
59
+ private mediaSharePeerConnectionImp;
60
+ get peerConnectionCreated(): boolean;
61
+ get state(): APP_STATE;
62
+ set state(state: APP_STATE);
63
+ private _state;
64
+ get audioDeviceId(): string | null | undefined;
65
+ get audioTrack(): MediaStreamTrack | null | undefined;
66
+ get videoDeviceId(): string | null | undefined;
67
+ get videoTrack(): MediaStreamTrack | null | undefined;
68
+ get audioPaused(): boolean | undefined;
69
+ get videoPaused(): boolean | undefined;
70
+ get serverFeatures(): Msg.CloudLark.INotifyFeatures | null | undefined;
71
+ private get sharePeerConnection();
72
+ private retryTime;
73
+ private larksr;
74
+ get voiceId(): number;
75
+ get recodeState(): RECORDER_STATE;
76
+ private recoder;
77
+ private rtcConfig;
78
+ constructor(larksr: LarkSR);
79
+ init(): void;
80
+ initSharePc(): void;
81
+ initPc(): void;
82
+ releasePc(): void;
83
+ releaseSharePc(): void;
84
+ closeSharePc(): void;
85
+ clear(): void;
86
+ changeOperater(uid: number): void;
87
+ inputText(text: string): void;
88
+ sendTextToDataChannel(text: string): void;
89
+ sendBinaryToDataChannel(binary: Uint8Array): void;
90
+ aiDmTextInput(text: string): number;
91
+ startAiDmVoiceInput(): Promise<number>;
92
+ stopAiDmVoiceInput(): number;
93
+ private onRecoderData;
94
+ start(): Promise<void>;
95
+ connect(): Promise<PixelStreamingWebsocketChannel> | Promise<WebsocketProxy> | Promise<WebSocektChannel> | undefined;
96
+ disConnect(): void;
97
+ closeRtc(): void;
98
+ versionCheck(): void;
99
+ task(): void;
100
+ startSteam(): void;
101
+ startMonitorSteam(): void;
102
+ restart(): void;
103
+ restartApp(): void;
104
+ rtcOffer(): Promise<void>;
105
+ setAnswer(sdp: string): void;
106
+ setIce(sdpMlineindex: number, sdpmid: string, candidate: string): void;
107
+ sendInput(input: Msg.CloudLark.ClientInput): void;
108
+ sendInputBuffer(buffer: ArrayBuffer): void;
109
+ private sendToWebsocektChannelBuffer;
110
+ private sendToWebsocektChannelMsg;
111
+ private onChannelOpen;
112
+ private onClose;
113
+ private onChannelMsg;
114
+ private onVersionCheckResponse;
115
+ private onTaskResponse;
116
+ private onStartStreamResponse;
117
+ private onStartMonitorResponse;
118
+ private onWebRtcOfferAnswer;
119
+ private onWebRtcIcecandidate;
120
+ private onWebRtcError;
121
+ private onAppProcess;
122
+ private onLogout;
123
+ private onLocalSdp;
124
+ private onLoacalIce;
125
+ private onRemoteStream;
126
+ private onAudioRemoteStream;
127
+ private onRtcError;
128
+ private onRtcInfo;
129
+ private onRtmpStreamingState;
130
+ private onRtmpStreamingError;
131
+ private onIceStateChange;
132
+ retryPeerconnection(): void;
133
+ private onShareMediaError;
134
+ private onShareMediaInfo;
135
+ private onShareMediaOffer;
136
+ private onShareMediaIce;
137
+ setAudioEnable(enable: boolean): any;
138
+ setVideoEnable(enable: boolean): any;
139
+ setShareEnable(enable: boolean): any;
140
+ stopLocalAudio(): any;
141
+ stopLocalVideo(): any;
142
+ stopLocalShare(): any;
143
+ pauseAudioSending(): any;
144
+ resumeAudioSending(): any;
145
+ pauseVideoSending(): any;
146
+ resumeVideoSending(): any;
147
+ closeAudio(): any;
148
+ closeVideo(): any;
149
+ closeShare(): any;
150
+ openAudio(deviceId?: string): Promise<any>;
151
+ openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number, front?: boolean): Promise<any>;
152
+ openDefaultMedia(video?: boolean, audio?: boolean): Promise<any>;
153
+ openShareMediaDevice(): Promise<any>;
154
+ getConnectedAudioinputDevices(): Promise<any>;
155
+ getConnectedAudioOutputDevices(): Promise<any>;
156
+ getConnectedVideoinputDevices(): Promise<any>;
157
+ getConnectedDevices(type: MediaDeviceKind): Promise<any>;
158
+ openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<any>;
159
+ openCamera(cameraId: string, minWidth?: number, minHeight?: number, audio?: boolean, front?: boolean): Promise<any>;
160
+ openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<any>;
161
+ addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean | undefined;
162
+ removeMediaTrack(track: RTCRtpSender): any;
163
+ requestUserMediaPermission(constraints?: MediaStreamConstraints): any;
164
+ StartCloudLiveStreaming(params: Msg.CloudLark.IRtmp_Start): Promise<void> | undefined;
165
+ StopLiveStreaming(): void | undefined;
166
+ private onPeerConnectionDisconnect;
167
+ private onBadNetwork;
168
+ private onPixelStreamingPlayerList;
169
+ private onPixelStreamingDataChannelState;
170
+ private onPixelStreamingDataChannelData;
171
+ private onCursorStyle;
172
+ private onAppResize;
173
+ private onAppMouseMode;
174
+ private onAppPlayerList;
175
+ private onAppRequestText;
176
+ private onDataChannelText;
177
+ private onDataChannelBinary;
178
+ private onDataChannelOpen;
179
+ private onDataChannelClose;
180
+ private onPeerConnectionState;
181
+ private onAiVoiceStatus;
182
+ private onAiVoiceAsrResult;
183
+ private onAiVoiceDMResult;
184
+ private onAiVoiceError;
185
+ appStateChange(state: APP_STATE): void;
186
+ private infoMsg;
187
+ private errorMsg;
188
+ private toastMsg;
189
+ private $emit;
190
+ private createAppEvent;
191
+ }
@@ -0,0 +1,28 @@
1
+ import ScreenState from '@/screen_state';
2
+ export default class CanvasRender {
3
+ get canvas(): HTMLCanvasElement | null;
4
+ private set canvas(value);
5
+ private _canvas;
6
+ private context;
7
+ private width;
8
+ private height;
9
+ private video;
10
+ private drawFrames;
11
+ private stream;
12
+ private screenState;
13
+ private hasDeviceOrientationEvent;
14
+ private alpha;
15
+ private beta;
16
+ private gamma;
17
+ private isFront;
18
+ private currentRotateClock;
19
+ constructor(screenState: ScreenState);
20
+ init(stream: MediaStream): Promise<HTMLCanvasElement>;
21
+ draw(): void;
22
+ stopDrawing(): void;
23
+ clear(): void;
24
+ setRotate(clock: boolean): void;
25
+ clearRotate(): void;
26
+ setupRotateWithDeivce(): void;
27
+ private checkFront;
28
+ }
@@ -0,0 +1,7 @@
1
+ // declare module "worker-loader!*" {
2
+ // class WebpackWorker extends Worker {
3
+ // constructor();
4
+ // }
5
+
6
+ // export = WebpackWorker;
7
+ // }
@@ -0,0 +1,24 @@
1
+ export default class IceCandidateParser {
2
+ sdpMLineIndex: number | null;
3
+ sdpMid: string | null;
4
+ usernameFragment: string | null;
5
+ header: string;
6
+ private props;
7
+ constructor(ice: RTCIceCandidateInit);
8
+ get foundation(): string;
9
+ set foundation(f: string);
10
+ get component(): string;
11
+ set component(f: string);
12
+ get protocol(): string;
13
+ set protocol(p: string);
14
+ get priority(): string;
15
+ set priority(p: string);
16
+ get ip(): string;
17
+ set ip(ip: string);
18
+ get port(): string;
19
+ set port(port: string);
20
+ get type(): string;
21
+ get candidate(): string;
22
+ genNewIceCandidateInit(): RTCIceCandidateInit;
23
+ genNewIceCandidate(): RTCIceCandidate;
24
+ }
@@ -0,0 +1,114 @@
1
+ export declare enum LarkEventType {
2
+ LK_WEB_CLIENT_LOAD_SUCCESS = 1,
3
+ LK_TASK_CREATE_SUCCESS = 10,
4
+ LK_TASK_CREATE_FAILED = 11,
5
+ LK_RESOURCE_NOT_ENOUGH = 12,
6
+ LK_TASK_SYNC_APP = 20,
7
+ LK_TASK_SYNC_APP_FAILED = 21,
8
+ LK_RENDER_SERVER_CONNECTED = 100,
9
+ LK_RENDER_SERVER_FAILED = 101,
10
+ LK_RENDER_SERVER_CLOSE = 102,
11
+ LK_RENDER_SERVER_ERROR = 103,
12
+ LK_PROXY_SERVER_CONNECTED = 200,
13
+ LK_PROXY_SERVER_FAILED = 201,
14
+ LK_PROXY_SERVER_CLOSE = 202,
15
+ LK_PROXY_SERVER_ERROR = 203,
16
+ LK_VERSION_CHECK_SUCCESS = 300,
17
+ LK_VERSION_CHECK_FAILED = 301,
18
+ LK_TASK_SUCCESS = 400,
19
+ LK_TASK_NOTFOUND = 401,
20
+ LK_TASK_SERVER_ERROR = 402,
21
+ LK_TASK_APP_WRONGPARAM = 403,
22
+ LK_TASK_NO_GPU_RESOURCE = 404,
23
+ LK_START_STREAM_SUCCESS = 500,
24
+ LK_START_STREAM_PROCESS_START_FAILED = 501,
25
+ LK_START_STREAM_PROCESS_START_TIMEOUT = 502,
26
+ LK_START_STREAM_NOT_STREAMING = 503,
27
+ LK_START_STREAM_ENCODER_ERROR = 504,
28
+ LK_RTC_EVENT_PEERCONNECTION_CONNECTED = 600,
29
+ LK_RTC_EVENT_PEERCONNECTION_CLOSED = 601,
30
+ LK_RTC_EVENT_PEERCONNECTION_ERROR = 602,
31
+ LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED = 603,
32
+ LK_RTC_EVENT_PEERCONNECTION_STATE = 610,
33
+ LK_RTC_EVENT_PEERCONNECTION_RETRY = 611,
34
+ LK_VIDEO_LOADED = 700,
35
+ LK_VIDEO_PLAY_FAILED = 701,
36
+ LK_GOT_REMOTE_STREAM = 710,
37
+ LK_VIDEO_PLAY_SUCCSS = 711,
38
+ LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT = 800,
39
+ LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT = 801,
40
+ LK_APP_PROCESS_NOTIFI_APP_QUIT = 900,
41
+ LK_NO_OPERATION_TIMEOUT = 901,
42
+ LK_LOADING_TIMEOUT = 902,
43
+ LK_APP_RESIZE = 910,
44
+ LK_APP_MOUSE_MODE = 911,
45
+ LK_APP_PLAER_LIST = 912,
46
+ LK_APP_REQUEST_TEXT = 913,
47
+ LK_APP_CURSOR_STYLE = 914,
48
+ LK_USER_REQUEST_QUIT = 920,
49
+ LK_UI_RESIZE = 930,
50
+ LK_STARTVRSTREAM_SUCCESS = 1000,
51
+ LK_STARTVRSTREAM_START_PROCESS_FAILED = 1001,
52
+ LK_STARTVRSTREAM_START_DRIVER_RUNTIME_TIMEOUT = 1002,
53
+ LK_STARTVRSTREAM_START_DRIVER_RUNTIME_UDPPORT_ERROR = 1003,
54
+ LK_STARTVRSTREAM_START_DRIVER_RUNTIME_ENCODER_ERROR = 1004,
55
+ LK_WEBCLIENT_NOTIFY_ALERT = 1100,
56
+ LK_WEBCLIENT_NOTIFY_CONFIRM = 1101,
57
+ LK_WEBCLIENT_TOAST_MSG = 1102,
58
+ LK_USER_CAPTURE_FRAME = 2000,
59
+ LK_USER_CAPTURE_FRAME_WITH_EXTRA_DATA = 2001,
60
+ LK_REQUEST_CAPTURE_FRAME = 3000,
61
+ LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA = 3001,
62
+ LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE = 10000,
63
+ LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN = 10001,
64
+ LK_IFRAME_POSTER_OPERATE_MOUSE_UP = 10002,
65
+ LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL = 10003,
66
+ LK_IFRAME_POSTER_OPERATE_KEY_DOWN = 10010,
67
+ LK_IFRAME_POSTER_OPERATE_KEY_UP = 10011,
68
+ LK_IFRAME_POSTER_OPERATE_TOUCH_DOWN = 10020,
69
+ LK_IFRAME_POSTER_OPERATE_TOUCH_MOVE = 10021,
70
+ LK_IFRAME_POSTER_OPERATE_TOUCH_UP = 10022,
71
+ LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_DOWN = 10030,
72
+ LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_UP = 10031,
73
+ LK_IFRAME_POSTER_OPERATE_GAMEPAD_TRIGGER_VALUE = 10032,
74
+ LK_IFRAME_POSTER_OPERATE_GAMEPAD_JOYSTICK_STATES = 10033,
75
+ LK_IFRAME_POSTER_OPENAUDIO_INPUT = 10040,
76
+ LK_IFRAME_POSTER_CLOSE_AUDIO_INPUT = 10041,
77
+ LK_IFRAME_POSTER_FUNC_MOUSE_MODE = 10100,
78
+ LK_IFRAME_POSTER_FUNC_SCALE_MODE = 10101,
79
+ LK_IFRAME_POSTER_FUNC_RESTART_CLOUD_APP = 10102,
80
+ LK_IFRAME_POSTER_FUNC_WX_JS_BRIDGE_READY = 10103,
81
+ LK_IFRAME_POSTER_FUNC_REQUEST_PLAY_VIDEO = 10104,
82
+ LK_IFRAME_POSTER_UI_CONTROLLER_BAR = 10200,
83
+ LK_IFRAME_POSTER_UI_PLAYER_LIST = 10201,
84
+ LK_IFRAME_POSTER_UI_PLAYER_SHARE_URL = 10202,
85
+ LK_IFRAME_POSTER_UI_MOBILE_CONTROL_BALL = 10203,
86
+ LK_IFRMAE_POSTER_UI_MOBILE_JOYSTICK = 10204,
87
+ LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_KEYBOARD = 10205,
88
+ LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_MOUSE = 10206,
89
+ LK_IFRAME_POSTER_UI_MOBILE_MENU = 10207,
90
+ LK_IFRAME_POSTER_UI_MOBILE_FORCE_LANDSCAPE = 10208,
91
+ LK_IFRAME_POSTER_UI_MOBILE_TOUCH_POINT = 10209,
92
+ LK_IFRAME_POSTER_UI_TOAST_LEVEL = 10210,
93
+ LK_IFRAME_POSTER_UI_ALERT = 10211,
94
+ LK_IFRAME_POSTER_UI_CONFIRM = 10212,
95
+ LK_DATA_CHANNEL_ESTABLISHED = 20000,
96
+ LK_DATA_CHANNEL_RETYING = 20001,
97
+ LK_DATA_CHANNEL_CLOSE = 20002,
98
+ LK_DATA_CHANNEL_ERROR = 20003,
99
+ LK_DATA_CHANNEL_BINARY_MESSAGE = 20004,
100
+ LK_DATA_CHANNEL_TEXT_MESSAGE = 20005,
101
+ LK_RE_CONNECT_DATA_CHANNEL = 20100,
102
+ LK_CLOSE_DATA_CHANNEL = 20101,
103
+ LK_DATA_CHANNEL_SEND_TEXT = 20102,
104
+ LK_DATA_CHANNEL_SEND_BINARY = 20103,
105
+ LK_DATA_CHANNEL_RENDERSERVER_OPEN = 20200,
106
+ LK_DATA_CHANNEL_RENDERSERVER_CLOSE = 20201,
107
+ LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE = 20202,
108
+ LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE = 20203,
109
+ LK_DATA_CHANNEL_RENDERSERVER_SEND_TEXT = 20300,
110
+ LK_DATA_CHANNEL_RENDERSERVER_SEND_BINARY = 20301
111
+ }
112
+ export default class LarkEvent {
113
+ static GetEventMessageByType(type: LarkEventType): string;
114
+ }
@@ -0,0 +1,46 @@
1
+ export interface RTCMediaTrackBinding {
2
+ deviceId: string;
3
+ track: MediaStreamTrack;
4
+ sender: RTCRtpSender | undefined;
5
+ }
6
+ export interface RTCShareMediaTrackBinding {
7
+ deviceId: string;
8
+ track: MediaStreamTrack;
9
+ transceiver: RTCRtpTransceiver | undefined;
10
+ paused: boolean;
11
+ }
12
+ export interface MediaShareInterface {
13
+ audioDeviceId: string | undefined | null;
14
+ audioTrack: MediaStreamTrack | undefined | null;
15
+ videoDeviceId: string | undefined | null;
16
+ videoTrack: MediaStreamTrack | undefined | null;
17
+ audioPaused: boolean;
18
+ videoPaused: boolean;
19
+ setAudioEnable(enable: boolean): any;
20
+ setVideoEnable(enable: boolean): any;
21
+ setShareEnable(enable: boolean): any;
22
+ stopLocalAudio(): any;
23
+ stopLocalVideo(): any;
24
+ stopLocalShare(): any;
25
+ pauseAudioSending(): any;
26
+ resumeAudioSending(): any;
27
+ pauseVideoSending(): any;
28
+ resumeVideoSending(): any;
29
+ closeAudio(): any;
30
+ closeVideo(): any;
31
+ closeShare(): any;
32
+ openAudio(deviceId: string): Promise<any>;
33
+ openVideo(audio: boolean, cameraId: string, width: number, height: number, front?: boolean): Promise<any>;
34
+ openDefaultMedia(video: boolean, audio: boolean): Promise<any>;
35
+ openShareMediaDevice(): Promise<any>;
36
+ getConnectedAudioinputDevices(): Promise<any>;
37
+ getConnectedAudioOutputDevices(): Promise<any>;
38
+ getConnectedVideoinputDevices(): Promise<any>;
39
+ getConnectedDevices(type: MediaDeviceKind): Promise<any>;
40
+ openAudioDevice(deviceId: string, kind: "audioinput" | "audiooutput"): Promise<any>;
41
+ openCamera(cameraId: string, minWidth: number, minHeight: number, audio: boolean, front?: boolean): Promise<any>;
42
+ openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<any>;
43
+ addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean;
44
+ removeMediaTrack(track: RTCRtpSender): any;
45
+ requestUserMediaPermission(constraints?: MediaStreamConstraints): any;
46
+ }
@@ -0,0 +1,22 @@
1
+ import * as Msg from '../protobuf/cloudlark';
2
+ import { LarkEventType } from './lark_event_type';
3
+ export declare const MESSAGE_MAGIC = 538317090;
4
+ export declare const PIXEL_STREAMING_MESSAGE_MAGIC = 539037986;
5
+ export default class Message {
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;
10
+ static startMonitorStreamReqeuest(request: Msg.CloudLark.IVrMonitorRequest): Msg.CloudLark.ToServerMessage;
11
+ static rtcOfferMsg(type: string, sdp: string): Msg.CloudLark.ToServerMessage;
12
+ static iceMsg(sdpmid: string, sdpMlineindex: number, candidate: string, username: string | null | undefined): Msg.CloudLark.ToServerMessage;
13
+ static mediaShareRtcOfferMsg(type: string, sdp: string): Msg.CloudLark.ToServerMessage;
14
+ static mediaShareIceMsg(sdpmid: string, sdpMlineindex: number, candidate: string): Msg.CloudLark.ToServerMessage;
15
+ static restartApp(): Msg.CloudLark.ToServerMessage;
16
+ static getTaskResponseMsg(ressponse: Msg.CloudLark.TaskResponse.Response): string;
17
+ static getStartStreamResponseMsg(ressponse: Msg.CloudLark.StartStreamResponse.Response): string;
18
+ static getCloudlarkTaskEvent(ressponse: Msg.CloudLark.TaskResponse.Response): LarkEventType;
19
+ static getCloudlarkStartStreamEvent(ressponse: Msg.CloudLark.StartStreamResponse.Response): LarkEventType;
20
+ static getCloudlarkTaskEventMsg(type: LarkEventType, reason?: string | null | undefined): string;
21
+ static getCloudlarkStartStreamingEventMsg(type: LarkEventType): string;
22
+ }
@@ -0,0 +1,191 @@
1
+ import { EventBase, LocalEvent } from '../event/event_base';
2
+ import * as Input from '../protobuf/cloudlark';
3
+ import { LarkSR } from '../larksr';
4
+ import { MediaShareInterface, RTCMediaTrackBinding } from './media_share_interface';
5
+ import { CloudLark } from '@/protobuf/cloudlark';
6
+ export declare enum IceState {
7
+ DISCONNECT = 1,
8
+ BAD = 2,
9
+ CONNECT = 3,
10
+ GOOD = 4
11
+ }
12
+ export declare enum WEBRTC_EVENT_TYPE {
13
+ GOT_REMOTE_STREAM = 0,
14
+ GOT_REMOTE_AUDIO_STREAM = 1,
15
+ ICE_STATE_CHANGE = 2,
16
+ LK_APP_RESIZE = 3,
17
+ LK_APP_MOUSE_MODE = 4,
18
+ LK_APP_PLAER_LIST = 5,
19
+ LK_APP_REQUEST_TEXT = 6,
20
+ LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE = 7,
21
+ LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE = 8,
22
+ LK_DATA_CHANNEL_RENDERSERVER_OPEN = 9,
23
+ LK_DATA_CHANNEL_RENDERSERVER_CLOSE = 10,
24
+ LK_RTC_EVENT_PEERCONNECTION_STATE = 11,
25
+ NET_STATE = 12,
26
+ SYNC_CURSORSTYLE = 13,
27
+ BAD_NETWORK = 14,
28
+ ERROR = 15,
29
+ RTC_SDP = 16,
30
+ RTC_ICECANDIDATE = 17,
31
+ AI_VOICE_STATUS = 18,
32
+ AI_VOICE_ASR_RESULT = 19,
33
+ AI_VOICE_DM_RESULT = 20,
34
+ AI_VOICE_ERROR = 21,
35
+ RTMP_STREAM_STATE = 22,
36
+ RTMP_STREAM_ERROR = 23,
37
+ INFO = 24
38
+ }
39
+ export interface GoogleBitRate {
40
+ start: number;
41
+ min: number;
42
+ max: number;
43
+ }
44
+ export interface WebRTCEvent extends LocalEvent<WEBRTC_EVENT_TYPE> {
45
+ data?: any;
46
+ }
47
+ export declare enum OfferModeType {
48
+ VP8 = 1,
49
+ VP9 = 2,
50
+ H264 = 3,
51
+ DEFAULT = 4
52
+ }
53
+ export interface WebRTCConfig {
54
+ serverIP: string;
55
+ preferPubOutIp: string;
56
+ codeRate?: number;
57
+ network: 'local' | 'public';
58
+ }
59
+ export interface AggregatedStats {
60
+ timestamp: number;
61
+ bytesReceived: number;
62
+ framesDecoded: number;
63
+ packetsLost: number;
64
+ bytesReceivedStart: number;
65
+ framesDecodedStart: number;
66
+ timestampStart: number;
67
+ bitrate: number;
68
+ lowBitrate: number;
69
+ highBitrate: number;
70
+ avgBitrate: number;
71
+ framerate: number;
72
+ lowFramerate: number;
73
+ highFramerate: number;
74
+ avgframerate: number;
75
+ framesDropped: number;
76
+ framesReceived: number;
77
+ framesDroppedPercentage: number;
78
+ frameHeight: number;
79
+ frameWidth: number;
80
+ frameHeightStart: number;
81
+ frameWidthStart: number;
82
+ currentRoundTripTime: number;
83
+ packetsLostPerc: number;
84
+ }
85
+ export default class PeerConnection extends EventBase<WEBRTC_EVENT_TYPE, WebRTCEvent> implements MediaShareInterface {
86
+ private config;
87
+ private pc;
88
+ private dataChannel;
89
+ private offerOptions;
90
+ private pcConfig;
91
+ private netTestTimeout;
92
+ private aggregatedStats;
93
+ private lastThrowBadNetork;
94
+ private lastPacktetsLost;
95
+ private lastPacktetsReceived;
96
+ private larksr;
97
+ private audioStream;
98
+ private videoStream;
99
+ get audioDeviceId(): string | undefined;
100
+ get audioTrack(): MediaStreamTrack | undefined;
101
+ get videoDeviceId(): string | undefined;
102
+ get videoTrack(): MediaStreamTrack | undefined;
103
+ get audioPaused(): boolean;
104
+ get videoPaused(): boolean;
105
+ private audioBinding;
106
+ private videoBinding;
107
+ private readonly sendStream;
108
+ private sdpCreateSuccess;
109
+ private canvasRender;
110
+ get serverFeatures(): CloudLark.INotifyFeatures | null;
111
+ private _serverFeatures;
112
+ constructor(larksr: LarkSR, config: WebRTCConfig);
113
+ create(streams?: MediaStream | undefined | null, config?: CloudLark.IRTCConfiguration | null | undefined): Promise<void>;
114
+ createOffer(): void;
115
+ close(): void;
116
+ setAudioEnable(enable: boolean): void;
117
+ setVideoEnable(enable: boolean): void;
118
+ setShareEnable(enable: boolean): void;
119
+ stopLocalAudio(): void;
120
+ stopLocalVideo(): void;
121
+ stopLocalShare(): void;
122
+ pauseAudioSending(): false | undefined;
123
+ resumeAudioSending(): false | undefined;
124
+ pauseVideoSending(): false | undefined;
125
+ resumeVideoSending(): false | undefined;
126
+ closeAudio(): false | undefined;
127
+ closeVideo(): false | undefined;
128
+ closeShare(): false | undefined;
129
+ private stopLocalTrackBing;
130
+ openAudio(deviceId?: string): Promise<{
131
+ streams: MediaStream;
132
+ rtcRtpSenders: RTCMediaTrackBinding[];
133
+ }>;
134
+ openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number, front?: boolean): Promise<{
135
+ streams: MediaStream;
136
+ rtcRtpSenders: RTCMediaTrackBinding[];
137
+ }>;
138
+ openDefaultMedia(video?: boolean, audio?: boolean): Promise<{
139
+ streams: MediaStream;
140
+ rtcRtpSenders: RTCMediaTrackBinding[];
141
+ }>;
142
+ openShareMediaDevice(): Promise<void>;
143
+ getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[]>;
144
+ getConnectedAudioOutputDevices(): Promise<MediaDeviceInfo[]>;
145
+ getConnectedVideoinputDevices(): Promise<MediaDeviceInfo[]>;
146
+ getConnectedDevices(type: MediaDeviceKind): Promise<MediaDeviceInfo[]>;
147
+ openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<{
148
+ streams: MediaStream;
149
+ rtcRtpSenders: RTCMediaTrackBinding[];
150
+ }>;
151
+ openCamera(cameraId: string, width?: number, height?: number, audio?: boolean, front?: boolean): Promise<{
152
+ streams: MediaStream;
153
+ rtcRtpSenders: RTCMediaTrackBinding[];
154
+ }>;
155
+ openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<{
156
+ streams: MediaStream;
157
+ rtcRtpSenders: RTCMediaTrackBinding[];
158
+ }>;
159
+ private resumeOrCreateBinding;
160
+ addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean;
161
+ removeMediaTrack(track: RTCRtpSender): boolean;
162
+ requestUserMediaPermission(constraints?: MediaStreamConstraints): Promise<MediaStream>;
163
+ /**
164
+ * 接收到sdp
165
+ * @param des sdp
166
+ */
167
+ onRemoteDescription(des: RTCSessionDescriptionInit): void;
168
+ onReceiveCandidate(candateInit: RTCIceCandidateInit): void;
169
+ startNetTest(): void;
170
+ stopNetTest(): void;
171
+ sendInput(input: Input.CloudLark.ClientInput): void;
172
+ sendBuffer(buffer: ArrayBuffer): void;
173
+ sendToAppTextMsg(msg: string): void;
174
+ sendToAppBinaryMsg(binary: Uint8Array): void;
175
+ StartCloudLiveStreaming(params: Input.CloudLark.IRtmp_Start): Promise<void>;
176
+ StopLiveStreaming(): void;
177
+ changeOperater(uid: number): void;
178
+ inputText(txt: string): void;
179
+ private getStats;
180
+ private getStateChrome;
181
+ private onBadNetWork;
182
+ private onDataChannelMessage;
183
+ private onCreateOfferSuccess;
184
+ private onIceCandidate;
185
+ private onIceStateChange;
186
+ private ontrack;
187
+ private addIceCandidate;
188
+ private iceStateChange;
189
+ private $emit;
190
+ private createEvent;
191
+ }