larksr_websdk 3.2.333 → 3.2.336

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.
@@ -200,6 +200,7 @@ export interface IAppliParams {
200
200
  videoInput: boolean;
201
201
  videoInputAutoStart: boolean;
202
202
  liveStreaming: boolean;
203
+ useSeparateMediaSharePeer: boolean;
203
204
  }
204
205
  export declare enum AppliType {
205
206
  DESKTOP = 1,
@@ -266,6 +267,7 @@ export declare class AppliParams implements IAppliParams {
266
267
  videoInput: boolean;
267
268
  videoInputAutoStart: boolean;
268
269
  liveStreaming: boolean;
270
+ useSeparateMediaSharePeer: boolean;
269
271
  static copyAndCreate(params?: IAppliParams): AppliParams;
270
272
  static setUpWithSDKConfig(params: IAppliParams, config: ILarkSRConfig): AppliParams;
271
273
  }
@@ -1,7 +1,6 @@
1
1
  import { EventBase, LocalEvent } from '../event/event_base';
2
2
  import * as Msg from '../protobuf/cloudlark';
3
3
  import WebSocektChannel from './websocket_channel';
4
- import { RTCMediaTrackBinding } from './peer_connection';
5
4
  import WebsocketProxy from './websocket_proxy';
6
5
  import { LarkSR } from '../larksr';
7
6
  import PixelStreamingWebsocketChannel from './test_pixel_streaming';
@@ -56,19 +55,18 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
56
55
  private websocketProxy;
57
56
  private testPixelStreaming;
58
57
  private peerConnection;
59
- private sharePeerConnection;
58
+ private mediaSharePeerConnectionImp;
60
59
  get peerConnectionCreated(): boolean;
61
60
  get state(): APP_STATE;
62
61
  set state(state: APP_STATE);
63
62
  private _state;
64
- get audioDeviceId(): string | undefined;
65
- get audioTrack(): MediaStreamTrack | {
66
- enabled: boolean;
67
- } | undefined;
68
- get videoDeviceId(): string | undefined;
69
- get videoTrack(): MediaStreamTrack | {
70
- enabled: boolean;
71
- } | undefined;
63
+ get audioDeviceId(): string | null | undefined;
64
+ get audioTrack(): MediaStreamTrack | null | undefined;
65
+ get videoDeviceId(): string | null | undefined;
66
+ get videoTrack(): MediaStreamTrack | null | undefined;
67
+ get audioPaused(): boolean | undefined;
68
+ get videoPaused(): boolean | undefined;
69
+ private get sharePeerConnection();
72
70
  private retryTime;
73
71
  private larksr;
74
72
  get voiceId(): number;
@@ -133,44 +131,33 @@ export default class Application extends EventBase<APP_EVENT_TYPE, AppEvent> {
133
131
  private onShareMediaInfo;
134
132
  private onShareMediaOffer;
135
133
  private onShareMediaIce;
136
- setAudioEnable(enable: boolean): void | undefined;
137
- setVideoEnable(enable: boolean): void | undefined;
138
- setShareEnable(enable: boolean): void | undefined;
139
- closeAudio(): void | undefined;
140
- closeVideo(): void | undefined;
141
- closeShare(): void | undefined;
142
- openAudio(deviceId?: string): Promise<{
143
- streams: MediaStream;
144
- rtcRtpSenders: RTCMediaTrackBinding[];
145
- } | undefined>;
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<{
151
- streams: MediaStream;
152
- rtcRtpSenders: RTCMediaTrackBinding[];
153
- } | undefined>;
154
- openShareMediaDevice(): Promise<void | undefined>;
155
- getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
156
- getConnectedAudioOutputDevices(): Promise<MediaDeviceInfo[] | undefined>;
157
- getConnectedVideoinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
158
- getConnectedDevices(type: MediaDeviceKind): Promise<MediaDeviceInfo[] | undefined>;
159
- openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<{
160
- streams: MediaStream;
161
- rtcRtpSenders: RTCMediaTrackBinding[];
162
- } | undefined>;
163
- openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<{
164
- streams: MediaStream;
165
- rtcRtpSenders: RTCMediaTrackBinding[];
166
- } | undefined>;
167
- openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<{
168
- streams: MediaStream;
169
- rtcRtpSenders: RTCMediaTrackBinding[];
170
- } | undefined>;
134
+ setAudioEnable(enable: boolean): any;
135
+ setVideoEnable(enable: boolean): any;
136
+ setShareEnable(enable: boolean): any;
137
+ stopLocalAudio(): any;
138
+ stopLocalVideo(): any;
139
+ stopLocalShare(): any;
140
+ pauseAudioSending(): any;
141
+ resumeAudioSending(): any;
142
+ pauseVideoSending(): any;
143
+ resumeVideoSending(): any;
144
+ closeAudio(): any;
145
+ closeVideo(): any;
146
+ closeShare(): any;
147
+ openAudio(deviceId?: string): Promise<any>;
148
+ openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number): Promise<any>;
149
+ openDefaultMedia(video?: boolean, audio?: boolean): Promise<any>;
150
+ openShareMediaDevice(): Promise<any>;
151
+ getConnectedAudioinputDevices(): Promise<any>;
152
+ getConnectedAudioOutputDevices(): Promise<any>;
153
+ getConnectedVideoinputDevices(): Promise<any>;
154
+ getConnectedDevices(type: MediaDeviceKind): Promise<any>;
155
+ openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<any>;
156
+ openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<any>;
157
+ openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<any>;
171
158
  addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean | undefined;
172
- removeMediaTrack(track: RTCRtpSender): boolean | undefined;
173
- requestUserMediaPermission(constraints?: MediaStreamConstraints): Promise<MediaStream> | undefined;
159
+ removeMediaTrack(track: RTCRtpSender): any;
160
+ requestUserMediaPermission(constraints?: MediaStreamConstraints): any;
174
161
  StartCloudLiveStreaming(params: Msg.CloudLark.IRtmp_Start): Promise<void> | undefined;
175
162
  StopLiveStreaming(): void | undefined;
176
163
  private onPeerConnectionDisconnect;
@@ -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): 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): 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
+ }
@@ -1,6 +1,7 @@
1
1
  import { EventBase, LocalEvent } from '../event/event_base';
2
2
  import * as Input from '../protobuf/cloudlark';
3
3
  import { LarkSR } from '../larksr';
4
+ import { MediaShareInterface, RTCMediaTrackBinding } from './media_share_interface';
4
5
  export declare enum IceState {
5
6
  DISCONNECT = 1,
6
7
  BAD = 2,
@@ -80,12 +81,7 @@ export interface AggregatedStats {
80
81
  currentRoundTripTime: number;
81
82
  packetsLostPerc: number;
82
83
  }
83
- export interface RTCMediaTrackBinding {
84
- deviceId: string;
85
- track: MediaStreamTrack;
86
- sender: RTCRtpSender | undefined;
87
- }
88
- export default class PeerConnection extends EventBase<WEBRTC_EVENT_TYPE, WebRTCEvent> {
84
+ export default class PeerConnection extends EventBase<WEBRTC_EVENT_TYPE, WebRTCEvent> implements MediaShareInterface {
89
85
  private config;
90
86
  private pc;
91
87
  private dataChannel;
@@ -103,9 +99,11 @@ export default class PeerConnection extends EventBase<WEBRTC_EVENT_TYPE, WebRTCE
103
99
  get audioTrack(): MediaStreamTrack | undefined;
104
100
  get videoDeviceId(): string | undefined;
105
101
  get videoTrack(): MediaStreamTrack | undefined;
106
- private localAudioTrackBinding;
107
- private localVideoTrackBinding;
108
- private localShareTrackBinding;
102
+ get audioPaused(): boolean;
103
+ get videoPaused(): boolean;
104
+ private audioBinding;
105
+ private videoBinding;
106
+ private readonly sendStream;
109
107
  private sdpCreateSuccess;
110
108
  constructor(larksr: LarkSR, config: WebRTCConfig);
111
109
  create(streams?: MediaStream | undefined | null): Promise<void>;
@@ -114,19 +112,29 @@ export default class PeerConnection extends EventBase<WEBRTC_EVENT_TYPE, WebRTCE
114
112
  setAudioEnable(enable: boolean): void;
115
113
  setVideoEnable(enable: boolean): void;
116
114
  setShareEnable(enable: boolean): void;
117
- closeAudio(): boolean;
118
- closeVideo(): boolean;
119
- closeShare(): boolean;
115
+ stopLocalAudio(): void;
116
+ stopLocalVideo(): void;
117
+ stopLocalShare(): void;
118
+ pauseAudioSending(): false | undefined;
119
+ resumeAudioSending(): false | undefined;
120
+ pauseVideoSending(): false | undefined;
121
+ resumeVideoSending(): false | undefined;
122
+ closeAudio(): false | undefined;
123
+ closeVideo(): false | undefined;
124
+ closeShare(): false | undefined;
120
125
  private stopLocalTrackBing;
121
126
  openAudio(deviceId?: string): Promise<{
122
127
  streams: MediaStream;
123
128
  rtcRtpSenders: RTCMediaTrackBinding[];
124
129
  }>;
125
- openVideo(audio?: boolean, cameraId?: string): Promise<{
130
+ openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number): Promise<{
131
+ streams: MediaStream;
132
+ rtcRtpSenders: RTCMediaTrackBinding[];
133
+ }>;
134
+ openDefaultMedia(video?: boolean, audio?: boolean): Promise<{
126
135
  streams: MediaStream;
127
136
  rtcRtpSenders: RTCMediaTrackBinding[];
128
137
  }>;
129
- openDefaultMedia(video?: boolean, audio?: boolean): Promise<void>;
130
138
  openShareMediaDevice(): Promise<void>;
131
139
  getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[]>;
132
140
  getConnectedAudioOutputDevices(): Promise<MediaDeviceInfo[]>;
@@ -136,14 +144,15 @@ export default class PeerConnection extends EventBase<WEBRTC_EVENT_TYPE, WebRTCE
136
144
  streams: MediaStream;
137
145
  rtcRtpSenders: RTCMediaTrackBinding[];
138
146
  }>;
139
- openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<{
147
+ openCamera(cameraId: string, width?: number, height?: number, audio?: boolean): Promise<{
140
148
  streams: MediaStream;
141
149
  rtcRtpSenders: RTCMediaTrackBinding[];
142
150
  }>;
143
- openUserMeida(constraints?: MediaStreamConstraints): Promise<{
151
+ openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<{
144
152
  streams: MediaStream;
145
153
  rtcRtpSenders: RTCMediaTrackBinding[];
146
154
  }>;
155
+ private resumeOrCreateBinding;
147
156
  addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean;
148
157
  removeMediaTrack(track: RTCRtpSender): boolean;
149
158
  requestUserMediaPermission(constraints?: MediaStreamConstraints): Promise<MediaStream>;
@@ -1,6 +1,6 @@
1
1
  import { EventBase, LocalEvent } from '../event/event_base';
2
2
  import { LarkSR } from '../larksr';
3
- import { RTCMediaTrackBinding } from './peer_connection';
3
+ import { MediaShareInterface, RTCMediaTrackBinding } from './media_share_interface';
4
4
  export declare enum WEBRTC_MEDIA_SHARE_EVENT_TYPE {
5
5
  RTC_SDP = 0,
6
6
  RTC_ICECANDIDATE = 1,
@@ -15,21 +15,20 @@ export interface WebRTCConfig {
15
15
  serverIP: string;
16
16
  preferPubOutIp: string;
17
17
  }
18
- export default class PeerConnectionMediaShare extends EventBase<WEBRTC_MEDIA_SHARE_EVENT_TYPE, WebRTCMediaShareEvent> {
18
+ export default class PeerConnectionMediaShare extends EventBase<WEBRTC_MEDIA_SHARE_EVENT_TYPE, WebRTCMediaShareEvent> implements MediaShareInterface {
19
19
  get audioDeviceId(): string | undefined;
20
- get audioTrack(): MediaStreamTrack | {
21
- enabled: boolean;
22
- };
20
+ get audioTrack(): MediaStreamTrack | undefined;
23
21
  get videoDeviceId(): string | undefined;
24
- get videoTrack(): MediaStreamTrack | {
25
- enabled: boolean;
26
- };
22
+ get videoTrack(): MediaStreamTrack | undefined;
23
+ get audioPaused(): boolean;
24
+ get videoPaused(): boolean;
27
25
  private larksr;
28
26
  private offerOptions;
29
27
  private pcConfig;
30
28
  private pc;
31
29
  private audioBinding;
32
30
  private videoBinding;
31
+ private readonly sendStream;
33
32
  constructor(larksr: LarkSR);
34
33
  create(): Promise<void>;
35
34
  createOffer(): void;
@@ -37,9 +36,16 @@ export default class PeerConnectionMediaShare extends EventBase<WEBRTC_MEDIA_SHA
37
36
  setAudioEnable(enable: boolean): void;
38
37
  setVideoEnable(enable: boolean): void;
39
38
  setShareEnable(enable: boolean): void;
40
- closeAudio(): void;
41
- closeVideo(): void;
42
- closeShare(): void;
39
+ stopLocalAudio(): void;
40
+ stopLocalVideo(): void;
41
+ stopLocalShare(): void;
42
+ pauseAudioSending(): false | undefined;
43
+ resumeAudioSending(): false | undefined;
44
+ pauseVideoSending(): false | undefined;
45
+ resumeVideoSending(): false | undefined;
46
+ closeAudio(): false | undefined;
47
+ closeVideo(): false | undefined;
48
+ closeShare(): false | undefined;
43
49
  private stopLocalTrackBing;
44
50
  openAudio(deviceId?: string): Promise<{
45
51
  streams: MediaStream;
@@ -70,6 +76,7 @@ export default class PeerConnectionMediaShare extends EventBase<WEBRTC_MEDIA_SHA
70
76
  streams: MediaStream;
71
77
  rtcRtpSenders: RTCMediaTrackBinding[];
72
78
  }>;
79
+ private resumeOrCreateBinding;
73
80
  addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean;
74
81
  removeMediaTrack(track: RTCRtpSender): boolean;
75
82
  requestUserMediaPermission(constraints?: MediaStreamConstraints): Promise<MediaStream>;
@@ -466,6 +466,11 @@ interface ILarkSRConfig {
466
466
  * 默认 20S
467
467
  */
468
468
  playTimeout?: number;
469
+ /**
470
+ * 是否使用新版摄像头/麦克风协议
471
+ * 单独上传流程要求渲染服务器版本大于3290)
472
+ */
473
+ useSeparateMediaSharePeer?: boolean;
469
474
  }
470
475
  declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
471
476
  /**
@@ -563,6 +568,16 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
563
568
  */
564
569
  set isEnableTouchPonit(enable: boolean);
565
570
  set isEnableTouchPoint(enable: boolean);
571
+ /**
572
+ * 设置是否使用canvas渲染画面。
573
+ * iOS/Mac下默认开启.在 iOS/Mac下关闭canvas渲染可能导致样式问题异常显示。
574
+ */
575
+ set enableCanvasRender(enable: boolean);
576
+ /**
577
+ * 获取是否使用canvas渲染画面。
578
+ * iOS/Mac下默认开启.在 iOS/Mac下关闭canvas渲染可能导致样式问题异常显示。
579
+ */
580
+ get enableCanvasRender(): boolean;
566
581
  /**
567
582
  * 虚拟鼠标的当前位置,相对于整体容器
568
583
  */
@@ -611,23 +626,27 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
611
626
  /**
612
627
  * 当前打开的音频设备 ID,如果打开时没指定为空
613
628
  */
614
- get audioDeviceId(): string | undefined;
629
+ get audioDeviceId(): string | null | undefined;
615
630
  /**
616
631
  * 当前打开音频的track对象,未打开状态为空
617
632
  */
618
- get audioTrack(): MediaStreamTrack | {
619
- enabled: boolean;
620
- } | undefined;
633
+ get audioTrack(): MediaStreamTrack | null | undefined;
621
634
  /**
622
635
  * 当前打开视频设备 ID,如果打开时没指定特设备id为空
623
636
  */
624
- get videoDeviceId(): string | undefined;
637
+ get videoDeviceId(): string | null | undefined;
625
638
  /**
626
639
  * 当前打开视频track对象,未打开状态为空
627
640
  */
628
- get videoTrack(): MediaStreamTrack | {
629
- enabled: boolean;
630
- } | undefined;
641
+ get videoTrack(): MediaStreamTrack | null | undefined;
642
+ /**
643
+ * 音频通道是否暂停
644
+ */
645
+ get audioPaused(): boolean | undefined;
646
+ /**
647
+ * 视频通道是否暂停
648
+ */
649
+ get videoPaused(): boolean | undefined;
631
650
  /**
632
651
  * LarkSR 客户端。所有操作和事件通过该类传递
633
652
  * @param config 本地配置,优先级最高
@@ -996,45 +1015,82 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
996
1015
  * @param enable 是否启用
997
1016
  * @returns
998
1017
  */
999
- setAudioEnable(enable: boolean): void | undefined;
1018
+ setAudioEnable(enable: boolean): any;
1000
1019
  /**
1001
1020
  * 设置当前已开启的视频track是否启用状态
1002
1021
  * @param enable 是否启用
1003
1022
  * @returns
1004
1023
  */
1005
- setVideoEnable(enable: boolean): void | undefined;
1006
- setShareEnable(enable: boolean): void | undefined;
1024
+ setVideoEnable(enable: boolean): any;
1025
+ setShareEnable(enable: boolean): any;
1026
+ /**
1027
+ * 停止本地音频轨道
1028
+ * @returns
1029
+ */
1030
+ stopLocalAudio(): any;
1031
+ /**
1032
+ * 停止本地已打开的视频轨道
1033
+ * @returns
1034
+ */
1035
+ stopLocalVideo(): any;
1036
+ /**
1037
+ * 停止本地共享轨道
1038
+ * @returns
1039
+ */
1040
+ stopLocalShare(): any;
1041
+ /**
1042
+ * 暂停发送音频
1043
+ * @returns
1044
+ */
1045
+ pauseAudioSending(): any;
1046
+ /**
1047
+ * 恢复发送音频
1048
+ * @returns
1049
+ */
1050
+ resumeAudioSending(): any;
1051
+ /**
1052
+ * 暂停发送视频
1053
+ * @returns
1054
+ */
1055
+ pauseVideoSending(): any;
1056
+ /**
1057
+ * 恢复发送视频
1058
+ * @returns
1059
+ */
1060
+ resumeVideoSending(): any;
1007
1061
  /**
1008
1062
  * 关闭当前的音频设备
1009
1063
  * @returns
1010
1064
  */
1011
- closeAudio(): void | undefined;
1012
- closeVideo(): void | undefined;
1013
- closeShare(): void | undefined;
1065
+ closeAudio(): any;
1066
+ /**
1067
+ * 关闭当前已打开的视频设备
1068
+ * @returns
1069
+ */
1070
+ closeVideo(): any;
1071
+ /**
1072
+ * 关闭当前已打开的共享设备如共享的标签页等
1073
+ * @returns
1074
+ */
1075
+ closeShare(): any;
1076
+ /**
1077
+ * 关闭整个媒体上传连接。再次使用时重新打开。
1078
+ * @returns
1079
+ */
1014
1080
  closeMediaChannel(): void;
1015
1081
  /**
1016
1082
  * 打开一个音频设备,要注意浏览器限制在 https 或者 localhost 下才能打开音频
1017
1083
  * @param deviceId 音频设备id,如果不传将打开默认设备。@see getConnectedAudioinputDevices
1018
1084
  * @returns Promise
1019
1085
  */
1020
- openAudio(deviceId?: string): Promise<{
1021
- streams: MediaStream;
1022
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1023
- * 应用参数,构建时传入
1024
- */
1025
- } | undefined>;
1086
+ openAudio(deviceId?: string): Promise<any>;
1026
1087
  /**
1027
1088
  * 打开一个视频设备,要注意浏览器限制在 https 或者 localhost 下才能打开视频
1028
1089
  * @param audio boolean 是否同时开启音频
1029
1090
  * @param cameraId 视频设备id,如果不传将打开默认设备。@see getConnectedVideoinputDevices
1030
1091
  * @returns Promise
1031
1092
  */
1032
- openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number): Promise<{
1033
- streams: MediaStream;
1034
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1035
- * 应用参数,构建时传入
1036
- */
1037
- } | undefined>;
1093
+ openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number): Promise<any>;
1038
1094
  /**
1039
1095
  * 打开默认媒体设备,要注意浏览器限制在 https 或者 localhost 下
1040
1096
  * 如果需要指定特殊的媒体设备请单独使用 @see openAudio @see openVideo
@@ -1042,46 +1098,74 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
1042
1098
  * @param audio 是否包含音频
1043
1099
  * @returns Promise
1044
1100
  */
1045
- openDefaultMedia(video?: boolean, audio?: boolean): Promise<{
1046
- streams: MediaStream;
1047
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1048
- * 应用参数,构建时传入
1049
- */
1050
- } | undefined>;
1051
- openShareMediaDevice(): Promise<void | undefined>;
1101
+ openDefaultMedia(video?: boolean, audio?: boolean): Promise<any>;
1102
+ /**
1103
+ * 打开共享设备,浏览器可共享窗口,标签页等
1104
+ * @returns Promise
1105
+ */
1106
+ openShareMediaDevice(): Promise<any>;
1052
1107
  /**
1053
1108
  * 返回已连接的音频设备列表,设备列表中的设备的 deviceId 可用来打开某个音频设备
1054
1109
  * @returns Promise<MediaDeviceInfo[]>
1055
1110
  */
1056
- getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
1057
- getConnectedAudioOutputDevices(): Promise<MediaDeviceInfo[] | undefined>;
1111
+ getConnectedAudioinputDevices(): Promise<any>;
1112
+ getConnectedAudioOutputDevices(): Promise<any>;
1058
1113
  /**
1059
1114
  * 返回已连接的视频设备
1060
1115
  * @returns Promise<MediaDeviceInfo[]>
1061
1116
  */
1062
- getConnectedVideoinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
1063
- getConnectedDevices(type: MediaDeviceKind): Promise<MediaDeviceInfo[] | undefined>;
1064
- openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<{
1065
- streams: MediaStream;
1066
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1067
- * 应用参数,构建时传入
1068
- */
1069
- } | undefined>;
1070
- openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<{
1071
- streams: MediaStream;
1072
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1073
- * 应用参数,构建时传入
1074
- */
1075
- } | undefined>;
1076
- openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<{
1077
- streams: MediaStream;
1078
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[]; /**
1079
- * 应用参数,构建时传入
1080
- */
1081
- } | undefined>;
1117
+ getConnectedVideoinputDevices(): Promise<any>;
1118
+ /**
1119
+ * 获取所有连接的摄像头麦克风设备信息
1120
+ * @param type *"audioinput" | "audiooutput" | "videoinput"*
1121
+ * @returns Promise<MediaDeviceInfo[]>
1122
+ */
1123
+ getConnectedDevices(type: MediaDeviceKind): Promise<any>;
1124
+ /**
1125
+ * 打开麦克风设备
1126
+ * @param deviceId 麦克风设备 ID, @see getConnectedAudioOutputDevices
1127
+ * @param kind “audioinput”
1128
+ * @returns @see this.openUserMedia
1129
+ */
1130
+ openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<any>;
1131
+ /**
1132
+ * 打开摄像头设备
1133
+ * @param cameraId 摄像头设备ID,@see getConnectedVideoinputDevices
1134
+ * @param minWidth 限制打开设备的宽
1135
+ * @param minHeight 限制打开设备的高
1136
+ * @returns @see openUserMedia
1137
+ */
1138
+ openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<any>;
1139
+ /**
1140
+ * 请求浏览器打开媒体并且打开上传到服务器通道。
1141
+ * 要注意的是在服务器连接成功之后请求打开
1142
+ * @param constraints 参考 navigator.mediaDevices.getUserMedia(constraints)
1143
+ * @param reset 是否重制媒体通道。true 的情况下重制整个 peerconnection
1144
+ * @returns 打开的通道的绑定信息。管理媒体通道如关闭暂停或恢复使用。
1145
+ */
1146
+ openUserMedia(constraints?: MediaStreamConstraints, reset?: boolean): Promise<any>;
1147
+ openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<any>;
1148
+ /**
1149
+ * 添加媒体轨道
1150
+ * 一般情况下使用 @see openUserMedia
1151
+ * @param track
1152
+ * @param streams
1153
+ * @returns
1154
+ */
1082
1155
  addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean | undefined;
1083
- removeMediaTrack(track: RTCRtpSender): boolean | undefined;
1084
- requestUserMediaPermission(constraints?: MediaStreamConstraints): Promise<MediaStream> | undefined;
1156
+ /**
1157
+ * 移除某个媒体轨道。一般为 openUserMedia 打开的通道。
1158
+ * 一般使用 @see closeVideo closeAudio 或 @see pauseAudioSending pauseVideoSending
1159
+ * @param track @see openUserMedia 返回值
1160
+ * @returns
1161
+ */
1162
+ removeMediaTrack(track: RTCRtpSender): any;
1163
+ /**
1164
+ * 请求媒体设备权限,相当于 navigator.mediaDevices.getUserMedia(constraints)
1165
+ * @param constraints
1166
+ * @returns
1167
+ */
1168
+ requestUserMediaPermission(constraints?: MediaStreamConstraints): any;
1085
1169
  /**
1086
1170
  * 启动云端推流功能
1087
1171
  * @param params {