larksr_websdk 3.2.331 → 3.2.333

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "larksr_websdk",
3
- "version": "3.2.331",
3
+ "version": "3.2.333",
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",
@@ -56,14 +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;
59
60
  get peerConnectionCreated(): boolean;
60
61
  get state(): APP_STATE;
61
62
  set state(state: APP_STATE);
62
63
  private _state;
63
64
  get audioDeviceId(): string | undefined;
64
- get audioTrack(): MediaStreamTrack | undefined;
65
+ get audioTrack(): MediaStreamTrack | {
66
+ enabled: boolean;
67
+ } | undefined;
65
68
  get videoDeviceId(): string | undefined;
66
- get videoTrack(): MediaStreamTrack | undefined;
69
+ get videoTrack(): MediaStreamTrack | {
70
+ enabled: boolean;
71
+ } | undefined;
67
72
  private retryTime;
68
73
  private larksr;
69
74
  get voiceId(): number;
@@ -71,8 +76,11 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
71
76
  private recoder;
72
77
  constructor(larksr: LarkSR);
73
78
  init(): void;
79
+ initSharePc(): void;
74
80
  initPc(): void;
75
81
  releasePc(): void;
82
+ releaseSharePc(): void;
83
+ closeSharePc(): void;
76
84
  clear(): void;
77
85
  changeOperater(uid: number): void;
78
86
  inputText(text: string): void;
@@ -121,21 +129,28 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
121
129
  private onRtmpStreamingError;
122
130
  private onIceStateChange;
123
131
  retryPeerconnection(): void;
132
+ private onShareMediaError;
133
+ private onShareMediaInfo;
134
+ private onShareMediaOffer;
135
+ private onShareMediaIce;
124
136
  setAudioEnable(enable: boolean): void | undefined;
125
137
  setVideoEnable(enable: boolean): void | undefined;
126
138
  setShareEnable(enable: boolean): void | undefined;
127
- closeAudio(): boolean | undefined;
128
- closeVideo(): boolean | undefined;
129
- closeShare(): boolean | undefined;
139
+ closeAudio(): void | undefined;
140
+ closeVideo(): void | undefined;
141
+ closeShare(): void | undefined;
130
142
  openAudio(deviceId?: string): Promise<{
131
143
  streams: MediaStream;
132
144
  rtcRtpSenders: RTCMediaTrackBinding[];
133
145
  } | undefined>;
134
- openVideo(audio?: boolean, cameraId?: string): Promise<{
146
+ openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number): Promise<{
147
+ streams: MediaStream;
148
+ rtcRtpSenders: RTCMediaTrackBinding[];
149
+ } | undefined>;
150
+ openDefaultMedia(video?: boolean, audio?: boolean): Promise<{
135
151
  streams: MediaStream;
136
152
  rtcRtpSenders: RTCMediaTrackBinding[];
137
153
  } | undefined>;
138
- openDefaultMedia(video?: boolean, audio?: boolean): Promise<void | undefined>;
139
154
  openShareMediaDevice(): Promise<void | undefined>;
140
155
  getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
141
156
  getConnectedAudioOutputDevices(): Promise<MediaDeviceInfo[] | undefined>;
@@ -149,7 +164,7 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
149
164
  streams: MediaStream;
150
165
  rtcRtpSenders: RTCMediaTrackBinding[];
151
166
  } | undefined>;
152
- openUserMeida(constraints?: MediaStreamConstraints): Promise<{
167
+ openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<{
153
168
  streams: MediaStream;
154
169
  rtcRtpSenders: RTCMediaTrackBinding[];
155
170
  } | 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 | undefined;
20
+ get audioTrack(): MediaStreamTrack | {
21
+ enabled: boolean;
22
+ };
23
+ get videoDeviceId(): string | undefined;
24
+ get videoTrack(): MediaStreamTrack | {
25
+ enabled: boolean;
26
+ };
27
+ private larksr;
28
+ private offerOptions;
29
+ private pcConfig;
30
+ private pc;
31
+ private audioBinding;
32
+ private videoBinding;
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(): void;
41
+ closeVideo(): void;
42
+ closeShare(): void;
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
+ }
package/types/larksr.d.ts CHANGED
@@ -615,7 +615,9 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
615
615
  /**
616
616
  * 当前打开音频的track对象,未打开状态为空
617
617
  */
618
- get audioTrack(): MediaStreamTrack | undefined;
618
+ get audioTrack(): MediaStreamTrack | {
619
+ enabled: boolean;
620
+ } | undefined;
619
621
  /**
620
622
  * 当前打开视频设备 ID,如果打开时没指定特设备id为空
621
623
  */
@@ -623,7 +625,9 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
623
625
  /**
624
626
  * 当前打开视频track对象,未打开状态为空
625
627
  */
626
- get videoTrack(): MediaStreamTrack | undefined;
628
+ get videoTrack(): MediaStreamTrack | {
629
+ enabled: boolean;
630
+ } | undefined;
627
631
  /**
628
632
  * LarkSR 客户端。所有操作和事件通过该类传递
629
633
  * @param config 本地配置,优先级最高
@@ -1004,9 +1008,10 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
1004
1008
  * 关闭当前的音频设备
1005
1009
  * @returns
1006
1010
  */
1007
- closeAudio(): boolean | undefined;
1008
- closeVideo(): boolean | undefined;
1009
- closeShare(): boolean | undefined;
1011
+ closeAudio(): void | undefined;
1012
+ closeVideo(): void | undefined;
1013
+ closeShare(): void | undefined;
1014
+ closeMediaChannel(): void;
1010
1015
  /**
1011
1016
  * 打开一个音频设备,要注意浏览器限制在 https 或者 localhost 下才能打开音频
1012
1017
  * @param deviceId 音频设备id,如果不传将打开默认设备。@see getConnectedAudioinputDevices
@@ -1014,7 +1019,9 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
1014
1019
  */
1015
1020
  openAudio(deviceId?: string): Promise<{
1016
1021
  streams: MediaStream;
1017
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
1022
+ rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1023
+ * 应用参数,构建时传入
1024
+ */
1018
1025
  } | undefined>;
1019
1026
  /**
1020
1027
  * 打开一个视频设备,要注意浏览器限制在 https 或者 localhost 下才能打开视频
@@ -1022,9 +1029,11 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
1022
1029
  * @param cameraId 视频设备id,如果不传将打开默认设备。@see getConnectedVideoinputDevices
1023
1030
  * @returns Promise
1024
1031
  */
1025
- openVideo(audio?: boolean, cameraId?: string): Promise<{
1032
+ openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number): Promise<{
1026
1033
  streams: MediaStream;
1027
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
1034
+ rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1035
+ * 应用参数,构建时传入
1036
+ */
1028
1037
  } | undefined>;
1029
1038
  /**
1030
1039
  * 打开默认媒体设备,要注意浏览器限制在 https 或者 localhost 下
@@ -1033,7 +1042,12 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
1033
1042
  * @param audio 是否包含音频
1034
1043
  * @returns Promise
1035
1044
  */
1036
- openDefaultMedia(video?: boolean, audio?: boolean): Promise<void | undefined>;
1045
+ openDefaultMedia(video?: boolean, audio?: boolean): Promise<{
1046
+ streams: MediaStream;
1047
+ rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1048
+ * 应用参数,构建时传入
1049
+ */
1050
+ } | undefined>;
1037
1051
  openShareMediaDevice(): Promise<void | undefined>;
1038
1052
  /**
1039
1053
  * 返回已连接的音频设备列表,设备列表中的设备的 deviceId 可用来打开某个音频设备
@@ -1049,15 +1063,21 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
1049
1063
  getConnectedDevices(type: MediaDeviceKind): Promise<MediaDeviceInfo[] | undefined>;
1050
1064
  openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<{
1051
1065
  streams: MediaStream;
1052
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
1066
+ rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1067
+ * 应用参数,构建时传入
1068
+ */
1053
1069
  } | undefined>;
1054
1070
  openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<{
1055
1071
  streams: MediaStream;
1056
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
1072
+ rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1073
+ * 应用参数,构建时传入
1074
+ */
1057
1075
  } | undefined>;
1058
- openUserMeida(constraints?: MediaStreamConstraints): Promise<{
1076
+ openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<{
1059
1077
  streams: MediaStream;
1060
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
1078
+ rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1079
+ * 应用参数,构建时传入
1080
+ */
1061
1081
  } | undefined>;
1062
1082
  addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean | undefined;
1063
1083
  removeMediaTrack(track: RTCRtpSender): boolean | undefined;