larksr_websdk 3.2.330 → 3.2.332

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.
@@ -13,7 +13,7 @@ export declare enum APP_STATE {
13
13
  LOGIN_SUCCESS = 3,
14
14
  RTC_CONNECTED = 4,
15
15
  MEDIA_LOADED = 5,
16
- MEDIA_PLAED = 6,
16
+ MEDIA_PLAYED = 6,
17
17
  RTC_RETRY = 7,
18
18
  APP_RETRY = 8,
19
19
  BEFORE_DESTORY = 9,
@@ -56,13 +56,19 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
56
56
  private websocketProxy;
57
57
  private testPixelStreaming;
58
58
  private peerConnection;
59
+ private sharePeerConnection;
60
+ get peerConnectionCreated(): boolean;
59
61
  get state(): APP_STATE;
60
62
  set state(state: APP_STATE);
61
63
  private _state;
62
64
  get audioDeviceId(): string | undefined;
63
- get audioTrack(): MediaStreamTrack | undefined;
65
+ get audioTrack(): MediaStreamTrack | {
66
+ enabled: boolean;
67
+ } | undefined;
64
68
  get videoDeviceId(): string | undefined;
65
- get videoTrack(): MediaStreamTrack | undefined;
69
+ get videoTrack(): MediaStreamTrack | {
70
+ enabled: boolean;
71
+ } | undefined;
66
72
  private retryTime;
67
73
  private larksr;
68
74
  get voiceId(): number;
@@ -70,8 +76,10 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
70
76
  private recoder;
71
77
  constructor(larksr: LarkSR);
72
78
  init(): void;
79
+ initSharePc(): void;
73
80
  initPc(): void;
74
81
  releasePc(): void;
82
+ releaseSharePc(): void;
75
83
  clear(): void;
76
84
  changeOperater(uid: number): void;
77
85
  inputText(text: string): void;
@@ -123,18 +131,21 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
123
131
  setAudioEnable(enable: boolean): void | undefined;
124
132
  setVideoEnable(enable: boolean): void | undefined;
125
133
  setShareEnable(enable: boolean): void | undefined;
126
- closeAudio(): boolean | undefined;
127
- closeVideo(): boolean | undefined;
128
- closeShare(): boolean | undefined;
134
+ closeAudio(): RTCMediaTrackBinding[] | undefined;
135
+ closeVideo(): RTCMediaTrackBinding[] | undefined;
136
+ closeShare(): RTCMediaTrackBinding[] | undefined;
129
137
  openAudio(deviceId?: string): Promise<{
130
138
  streams: MediaStream;
131
139
  rtcRtpSenders: RTCMediaTrackBinding[];
132
140
  } | undefined>;
133
- openVideo(audio?: boolean, cameraId?: string): Promise<{
141
+ openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number): Promise<{
142
+ streams: MediaStream;
143
+ rtcRtpSenders: RTCMediaTrackBinding[];
144
+ } | undefined>;
145
+ openDefaultMedia(video?: boolean, audio?: boolean): Promise<{
134
146
  streams: MediaStream;
135
147
  rtcRtpSenders: RTCMediaTrackBinding[];
136
148
  } | undefined>;
137
- openDefaultMedia(video?: boolean, audio?: boolean): Promise<void | undefined>;
138
149
  openShareMediaDevice(): Promise<void | undefined>;
139
150
  getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
140
151
  getConnectedAudioOutputDevices(): Promise<MediaDeviceInfo[] | undefined>;
@@ -148,7 +159,7 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
148
159
  streams: MediaStream;
149
160
  rtcRtpSenders: RTCMediaTrackBinding[];
150
161
  } | undefined>;
151
- openUserMeida(constraints?: MediaStreamConstraints): Promise<{
162
+ openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<{
152
163
  streams: MediaStream;
153
164
  rtcRtpSenders: RTCMediaTrackBinding[];
154
165
  } | undefined>;
@@ -10,6 +10,8 @@ export default class Message {
10
10
  static startMonitorStreamReqeuest(request: Msg.CloudLark.IVrMonitorRequest): Msg.CloudLark.ToServerMessage;
11
11
  static rtcOfferMsg(type: string, sdp: string): Msg.CloudLark.ToServerMessage;
12
12
  static iceMsg(sdpmid: string, sdpMlineindex: number, candidate: string): 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;
13
15
  static restartApp(): Msg.CloudLark.ToServerMessage;
14
16
  static getTaskResponseMsg(ressponse: Msg.CloudLark.TaskResponse.Response): string;
15
17
  static getStartStreamResponseMsg(ressponse: Msg.CloudLark.StartStreamResponse.Response): string;
@@ -0,0 +1,89 @@
1
+ import { EventBase, LocalEvent } from '../event/event_base';
2
+ import { LarkSR } from '../larksr';
3
+ import { RTCMediaTrackBinding } from './peer_connection';
4
+ export declare enum WEBRTC_MEDIA_SHARE_EVENT_TYPE {
5
+ RTC_SDP = 0,
6
+ RTC_ICECANDIDATE = 1,
7
+ ICE_STATE_CHANGE = 2,
8
+ ERROR = 3,
9
+ INFO = 4
10
+ }
11
+ export interface WebRTCMediaShareEvent extends LocalEvent<WEBRTC_MEDIA_SHARE_EVENT_TYPE> {
12
+ data?: any;
13
+ }
14
+ export interface WebRTCConfig {
15
+ serverIP: string;
16
+ preferPubOutIp: string;
17
+ }
18
+ export default class PeerConnectionMediaShare extends EventBase<WEBRTC_MEDIA_SHARE_EVENT_TYPE, WebRTCMediaShareEvent> {
19
+ get audioDeviceId(): string;
20
+ get audioTrack(): MediaStreamTrack | {
21
+ enabled: boolean;
22
+ };
23
+ get videoDeviceId(): string;
24
+ get videoTrack(): MediaStreamTrack | {
25
+ enabled: boolean;
26
+ };
27
+ private larksr;
28
+ private offerOptions;
29
+ private pcConfig;
30
+ private pc;
31
+ private sdpCreateSuccess;
32
+ private rtcRtpSenders;
33
+ constructor(larksr: LarkSR);
34
+ create(): Promise<void>;
35
+ createOffer(): void;
36
+ close(): void;
37
+ setAudioEnable(enable: boolean): void;
38
+ setVideoEnable(enable: boolean): void;
39
+ setShareEnable(enable: boolean): void;
40
+ closeAudio(): RTCMediaTrackBinding[];
41
+ closeVideo(): RTCMediaTrackBinding[];
42
+ closeShare(): RTCMediaTrackBinding[];
43
+ private stopLocalTrackBing;
44
+ openAudio(deviceId?: string): Promise<{
45
+ streams: MediaStream;
46
+ rtcRtpSenders: RTCMediaTrackBinding[];
47
+ }>;
48
+ openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number): Promise<{
49
+ streams: MediaStream;
50
+ rtcRtpSenders: RTCMediaTrackBinding[];
51
+ }>;
52
+ openDefaultMedia(video?: boolean, audio?: boolean): Promise<{
53
+ streams: MediaStream;
54
+ rtcRtpSenders: RTCMediaTrackBinding[];
55
+ }>;
56
+ openShareMediaDevice(): Promise<void>;
57
+ getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[]>;
58
+ getConnectedAudioOutputDevices(): Promise<MediaDeviceInfo[]>;
59
+ getConnectedVideoinputDevices(): Promise<MediaDeviceInfo[]>;
60
+ getConnectedDevices(type: MediaDeviceKind): Promise<MediaDeviceInfo[]>;
61
+ openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<{
62
+ streams: MediaStream;
63
+ rtcRtpSenders: RTCMediaTrackBinding[];
64
+ }>;
65
+ openCamera(cameraId: string, width?: number, height?: number, audio?: boolean): Promise<{
66
+ streams: MediaStream;
67
+ rtcRtpSenders: RTCMediaTrackBinding[];
68
+ }>;
69
+ openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<{
70
+ streams: MediaStream;
71
+ rtcRtpSenders: RTCMediaTrackBinding[];
72
+ }>;
73
+ addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean;
74
+ removeMediaTrack(track: RTCRtpSender): boolean;
75
+ requestUserMediaPermission(constraints?: MediaStreamConstraints): Promise<MediaStream>;
76
+ /**
77
+ * 接收到sdp
78
+ * @param des sdp
79
+ */
80
+ onRemoteDescription(des: RTCSessionDescriptionInit): void;
81
+ onReceiveCandidate(candateInit: RTCIceCandidateInit): void;
82
+ private addIceCandidate;
83
+ private onCreateOfferSuccess;
84
+ private onIceCandidate;
85
+ private onIceStateChange;
86
+ private iceStateChange;
87
+ private $emit;
88
+ private createEvent;
89
+ }
@@ -106,9 +106,10 @@ declare enum LarkSRClientEvent {
106
106
  */
107
107
  GOT_REMOTE_AUDIO_STREAM = "gotremoteaudiostream",
108
108
  /**
109
- * 视频加载成功,等待播放 .
109
+ * 视频加载成功
110
110
  */
111
111
  MEDIA_LOADED = "meidaloaded",
112
+ MEDIA_LOADED2 = "medialoaded",
112
113
  /**
113
114
  * 视频自动播放成功 .
114
115
  */
@@ -180,6 +181,30 @@ declare enum LarkSRClientEvent {
180
181
  LarkEvent = "larkevent",
181
182
  /**
182
183
  * 发生错误时抛出
184
+ * type: error
185
+ * message: 错误消息
186
+ * code: 可能的错误码如下, 错误码的具体定义 @see [./event_codes]
187
+ * // 连接服务器的websocket代理关闭
188
+ * LK_RENDER_SERVER_CLOSE : 102
189
+ * // 连接代理服务器的websocket关闭
190
+ * LK_PROXY_SERVER_CLOSE : 202
191
+ * // 检测版本失败,服务器和客户端的版本匹配。目前只有3.1和3.2大版本不匹配情况
192
+ * LK_VERSION_CHECK_FAILED : 301
193
+ * // 服务器返回创建Task失败
194
+ * TASK_NOTFOUND-TASK_NO_GPU_RESOURCE : 401-404
195
+ * // 服务端启动流媒体失败
196
+ * LK_START_STREAM_PROCESS_START-FAILED-LK_START_STREAM_ENCODER_ERROR : 501-504
197
+ * // RTC 连接关闭
198
+ * LK_RTC_EVENT_PEERCONNECTION_CLOSED : 601
199
+ * // RTC 连接出错
200
+ * LK_RTC_EVENT_PEERCONNECTION_ERROR : 602
201
+ * // RTC 创建出错,一般为 浏览器不支持 webrtc
202
+ * LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED : 603
203
+ * // 服务器主动要求客户端退出
204
+ * LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT : 800
205
+ * // 一人操作多人看房主退出
206
+ * LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT : 801
207
+ *
183
208
  */
184
209
  ERROR = "error",
185
210
  /**
@@ -436,6 +461,11 @@ interface ILarkSRConfig {
436
461
  * zh-CN 中文 en 英文
437
462
  */
438
463
  language?: string;
464
+ /**
465
+ * 点对点连接成功,但未接收到视频流或未播放成功超时时间。自动播放模式下超时会弹出提示按钮。
466
+ * 默认 20S
467
+ */
468
+ playTimeout?: number;
439
469
  }
440
470
  declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
441
471
  /**
@@ -585,7 +615,9 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
585
615
  /**
586
616
  * 当前打开音频的track对象,未打开状态为空
587
617
  */
588
- get audioTrack(): MediaStreamTrack | undefined;
618
+ get audioTrack(): MediaStreamTrack | {
619
+ enabled: boolean;
620
+ } | undefined;
589
621
  /**
590
622
  * 当前打开视频设备 ID,如果打开时没指定特设备id为空
591
623
  */
@@ -593,7 +625,9 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
593
625
  /**
594
626
  * 当前打开视频track对象,未打开状态为空
595
627
  */
596
- get videoTrack(): MediaStreamTrack | undefined;
628
+ get videoTrack(): MediaStreamTrack | {
629
+ enabled: boolean;
630
+ } | undefined;
597
631
  /**
598
632
  * LarkSR 客户端。所有操作和事件通过该类传递
599
633
  * @param config 本地配置,优先级最高
@@ -974,9 +1008,9 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
974
1008
  * 关闭当前的音频设备
975
1009
  * @returns
976
1010
  */
977
- closeAudio(): boolean | undefined;
978
- closeVideo(): boolean | undefined;
979
- closeShare(): boolean | undefined;
1011
+ closeAudio(): import("./lark/peer_connection").RTCMediaTrackBinding[] | undefined;
1012
+ closeVideo(): import("./lark/peer_connection").RTCMediaTrackBinding[] | undefined;
1013
+ closeShare(): import("./lark/peer_connection").RTCMediaTrackBinding[] | undefined;
980
1014
  /**
981
1015
  * 打开一个音频设备,要注意浏览器限制在 https 或者 localhost 下才能打开音频
982
1016
  * @param deviceId 音频设备id,如果不传将打开默认设备。@see getConnectedAudioinputDevices
@@ -992,7 +1026,7 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
992
1026
  * @param cameraId 视频设备id,如果不传将打开默认设备。@see getConnectedVideoinputDevices
993
1027
  * @returns Promise
994
1028
  */
995
- openVideo(audio?: boolean, cameraId?: string): Promise<{
1029
+ openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number): Promise<{
996
1030
  streams: MediaStream;
997
1031
  rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
998
1032
  } | undefined>;
@@ -1003,7 +1037,10 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
1003
1037
  * @param audio 是否包含音频
1004
1038
  * @returns Promise
1005
1039
  */
1006
- openDefaultMedia(video?: boolean, audio?: boolean): Promise<void | undefined>;
1040
+ openDefaultMedia(video?: boolean, audio?: boolean): Promise<{
1041
+ streams: MediaStream;
1042
+ rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
1043
+ } | undefined>;
1007
1044
  openShareMediaDevice(): Promise<void | undefined>;
1008
1045
  /**
1009
1046
  * 返回已连接的音频设备列表,设备列表中的设备的 deviceId 可用来打开某个音频设备
@@ -1025,7 +1062,7 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
1025
1062
  streams: MediaStream;
1026
1063
  rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
1027
1064
  } | undefined>;
1028
- openUserMeida(constraints?: MediaStreamConstraints): Promise<{
1065
+ openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<{
1029
1066
  streams: MediaStream;
1030
1067
  rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
1031
1068
  } | undefined>;
@@ -56,4 +56,5 @@ export default class UI extends LocalizationBase {
56
56
  get APP_RETRY(): string;
57
57
  get APP_RETRY_CONFIRM(): string;
58
58
  get START(): string;
59
+ get PLAY_FAILED(): string;
59
60
  }