zby-live-sdk 1.0.49-beta-talrtc0922 → 1.0.49-beta-talrtc1014
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/.babelrc +5 -5
- package/.editorconfig +13 -13
- package/.eslintrc.js +29 -29
- package/CHANGELOG.md +381 -370
- package/README.md +276 -276
- package/dist/zby-live-sdk.cjs.js +4 -3
- package/dist/zby-live-sdk.esm.js +4 -3
- package/dist/zby-live-sdk.umd.js +4 -3
- package/package.json +1 -1
- package/src/channel/getSendMsgParams.js +66 -66
- package/src/channel/index.js +138 -138
- package/src/channel/pomelo/index.js +184 -184
- package/src/channel/pomelo/latestQueue.js +151 -151
- package/src/channel/pomelo/polemo.js +749 -749
- package/src/channel/pomelo/util.js +54 -54
- package/src/channel/sdk-cb.js +73 -73
- package/src/channel/stream-msg.js +97 -97
- package/src/channel/zby/index.js +74 -74
- package/src/channel/zby/interactWithChannel.js +4 -4
- package/src/channel/zby/interactWithChannelControl.js +1568 -1568
- package/src/channel/zby/interactWithChannelEntry.js +318 -318
- package/src/config/config.js +153 -153
- package/src/default/base.js +70 -70
- package/src/default/extend.js +36 -36
- package/src/default/index.js +9 -9
- package/src/live/base.js +42 -42
- package/src/live/call-method.js +9 -9
- package/src/live/extend.js +53 -53
- package/src/live/index.js +9 -9
- package/src/network/api.js +50 -50
- package/src/network/commonFetch.js +66 -66
- package/src/network/dataReport.js +429 -429
- package/src/notice.js +394 -394
- package/src/tool/base.js +74 -74
- package/src/tool/call-method.js +9 -9
- package/src/tool/extend.js +42 -42
- package/src/tool/index.js +9 -9
- package/src/util/bridge.js +87 -87
- package/src/util/bridge1.js +46 -46
- package/src/util/dict.js +51 -51
- package/src/util/sessionStorage.js +29 -29
- package/src/util/sha256.js +482 -482
- package/src/util/util.js +308 -308
- package/src/zby-av-sdk/agora-sdk.js +711 -711
- package/src/zby-av-sdk/device.js +145 -145
- package/src/zby-av-sdk/rtc-sdk.js +2839 -2839
- package/src/zby-av-sdk/talrtc-sdk.js +2392 -2348
- package/src/zby-av-sdk/trtc-sdk.js +1801 -1801
- package/src/zby-av-sdk/zby-av-sdk.js +1891 -1891
- package/src/zby-av-sdk/zego-sdk.js +2987 -2987
- package/src/zby-live-sdk.js +1561 -1557
|
@@ -1,1891 +1,1891 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @File: 直播云音视频 SDK
|
|
3
|
-
* @Author: xuyuanrui
|
|
4
|
-
* @Email: raywhbxyr@163.com
|
|
5
|
-
* @Date: 2018-08-09 00:03:46
|
|
6
|
-
**/
|
|
7
|
-
|
|
8
|
-
import rtcsdk from './rtc-sdk.js';
|
|
9
|
-
import zegosdk from './zego-sdk.js';
|
|
10
|
-
import talrtcsdk from './talrtc-sdk.js';
|
|
11
|
-
import trtcsdk from './trtc-sdk.js';
|
|
12
|
-
import defaultApi from '../default';
|
|
13
|
-
import util from '../util/util';
|
|
14
|
-
const RTC = 'rtc';
|
|
15
|
-
const ZEGO = 'zego';
|
|
16
|
-
const TALRTC = 'talrtc';
|
|
17
|
-
const TRTC = 'trtc';
|
|
18
|
-
// rtc 底层流媒体数据上报地址配置
|
|
19
|
-
const rtcReportUrl = {
|
|
20
|
-
test: 'test-r.weclassroom.com',
|
|
21
|
-
online: 'r.weclassroom.com'
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* @function 设备检测初始化
|
|
26
|
-
*/
|
|
27
|
-
// export const deviceCheckerInit = async (extension, env) => {
|
|
28
|
-
// await rtcsdk.loadRtc(extension.version.rtc);
|
|
29
|
-
// // if (env) {
|
|
30
|
-
// // await rtcsdk.setEventReportSvr(rtcReportUrl[env]);
|
|
31
|
-
// // }
|
|
32
|
-
// let streamId = 'deviceCheckerInit';
|
|
33
|
-
// await rtcsdk.createRtcCapture(streamId);
|
|
34
|
-
// await rtcsdk.setCaptureRenderID(streamId);
|
|
35
|
-
// await rtcsdk.setCaptureStreamId(streamId);
|
|
36
|
-
// await rtcsdk.setCameraParam(320, 240, 15);
|
|
37
|
-
// await rtcsdk.setBitRate(100000);
|
|
38
|
-
// await rtcsdk.setPreviewMute(true);
|
|
39
|
-
// await rtcsdk.muteLocalVideo(true);
|
|
40
|
-
// await rtcsdk.startPreview();
|
|
41
|
-
// setDefaultZbySDKDeviceCheckerInit();
|
|
42
|
-
// window.zbyAVSDK_init_sdk_type = 'rtc';
|
|
43
|
-
// defaultApi.writeLog('change zbyAVSDK_init_sdk_type to rtc , from avsdk device check init');
|
|
44
|
-
// };
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* @function 设备检测初始化(新)
|
|
48
|
-
*/
|
|
49
|
-
export const deviceCheckerInit = async (extension, env) => {
|
|
50
|
-
setDefaultZbySDKDeviceCheckerInit();
|
|
51
|
-
await zegosdk.loadZego(extension.version.zego);
|
|
52
|
-
//此时课堂外端上无法获取roomid,假数据模拟,待确定userId-万一重复(不推流)
|
|
53
|
-
zegosdk.addListener('deviceCheckerInit')
|
|
54
|
-
await zegosdk.startEngine(2646760764,'/XpDtuxpv4TrBoNTozIs6waxK6LF/mGZK0jVYo003Ws=')//也是需要参数的,还要区分测试环境和线上环境
|
|
55
|
-
await zegosdk.setVideoCaptureResolution(320, 240);
|
|
56
|
-
await zegosdk.setVideoBitrate(100000);
|
|
57
|
-
await zegosdk.setVideoFPS(15);
|
|
58
|
-
await zegosdk.startSoundLevelMonitor();
|
|
59
|
-
await zegosdk.setSoundLevelMonitorCycle(500);
|
|
60
|
-
let isDeviceCheckInitFinished = zegosdk.getDeviceCheckInitStatus();
|
|
61
|
-
if(isDeviceCheckInitFinished) {
|
|
62
|
-
zegosdk.setDeviceCheckInitStatus();
|
|
63
|
-
window.zbyAVSDK_init_sdk_type = 'zego';
|
|
64
|
-
defaultApi.writeLog('isDeviceCheckInitFinished1',isDeviceCheckInitFinished)
|
|
65
|
-
} else {
|
|
66
|
-
await new Promise((resolve, reject) => {
|
|
67
|
-
let timer = null;
|
|
68
|
-
timer = setInterval(() => {
|
|
69
|
-
isDeviceCheckInitFinished = zegosdk.getDeviceCheckInitStatus();
|
|
70
|
-
defaultApi.writeLog('isDeviceCheckInitFinished2',isDeviceCheckInitFinished)
|
|
71
|
-
if (isDeviceCheckInitFinished) {
|
|
72
|
-
zegosdk.setDeviceCheckInitStatus();
|
|
73
|
-
clearInterval(timer);
|
|
74
|
-
resolve();
|
|
75
|
-
}
|
|
76
|
-
defaultApi.writeLog('isDeviceCheckInitFinished3',isDeviceCheckInitFinished)
|
|
77
|
-
}, 30);
|
|
78
|
-
});
|
|
79
|
-
window.zbyAVSDK_init_sdk_type = 'zego';
|
|
80
|
-
}
|
|
81
|
-
defaultApi.writeLog('change zbyAVSDK_init_sdk_type to rtc , from avsdk device check init');
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* @function 设置设备检测对象默认值
|
|
86
|
-
*/
|
|
87
|
-
export const setDefaultZbySDKDeviceCheckerInit = async () => {
|
|
88
|
-
if(window.zbyAVSDK_device_checker_init){
|
|
89
|
-
if(!window.zbyAVSDK_device_checker_init.microphone){
|
|
90
|
-
window.zbyAVSDK_device_checker_init.microphone = {
|
|
91
|
-
hasTest: false,
|
|
92
|
-
list: [],
|
|
93
|
-
use: '',
|
|
94
|
-
name:''
|
|
95
|
-
};
|
|
96
|
-
};
|
|
97
|
-
if(!window.zbyAVSDK_device_checker_init.camera){
|
|
98
|
-
window.zbyAVSDK_device_checker_init.camera = {
|
|
99
|
-
hasTest: false,
|
|
100
|
-
list: [],
|
|
101
|
-
use: '',
|
|
102
|
-
name: ''
|
|
103
|
-
};
|
|
104
|
-
};
|
|
105
|
-
if(!window.zbyAVSDK_device_checker_init.speaker){
|
|
106
|
-
window.zbyAVSDK_device_checker_init.speaker = {
|
|
107
|
-
hasTest: false,
|
|
108
|
-
list: [],
|
|
109
|
-
use: '',
|
|
110
|
-
name: ''
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
|
-
} else {
|
|
114
|
-
window.zbyAVSDK_device_checker_init = {
|
|
115
|
-
microphone: {
|
|
116
|
-
hasTest: false,
|
|
117
|
-
list: [],
|
|
118
|
-
use: '',
|
|
119
|
-
name: ''
|
|
120
|
-
},
|
|
121
|
-
camera: {
|
|
122
|
-
hasTest: false,
|
|
123
|
-
list: [],
|
|
124
|
-
use: '',
|
|
125
|
-
name: ''
|
|
126
|
-
},
|
|
127
|
-
speaker: {
|
|
128
|
-
hasTest: false,
|
|
129
|
-
list: [],
|
|
130
|
-
use: '',
|
|
131
|
-
name: ''
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
// window.zbyAVSDK_device_checker_init = window.zbyAVSDK_device_checker_init || {
|
|
136
|
-
// window.zbyAVSDK_device_checker_init = {
|
|
137
|
-
// microphone: {
|
|
138
|
-
// hasTest: false,
|
|
139
|
-
// list: [],
|
|
140
|
-
// use: ''
|
|
141
|
-
// },
|
|
142
|
-
// camera: {
|
|
143
|
-
// hasTest: false,
|
|
144
|
-
// list: [],
|
|
145
|
-
// use: ''
|
|
146
|
-
// },
|
|
147
|
-
// speaker: {
|
|
148
|
-
// hasTest: false,
|
|
149
|
-
// list: [],
|
|
150
|
-
// use: ''
|
|
151
|
-
// }
|
|
152
|
-
// };
|
|
153
|
-
defaultApi.writeLog(`setDefaultZbySDKDeviceCheckerInit, ${window.zbyAVSDK_device_checker_init}`);
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
// /**
|
|
157
|
-
// * @function 结束设备检测
|
|
158
|
-
// */
|
|
159
|
-
// export const stopCheckDevice = async () => {
|
|
160
|
-
// defaultApi.writeLog('zby_av_sdk stop checkDevice');
|
|
161
|
-
// return rtcsdk.stopCheckDevice();
|
|
162
|
-
// };
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* @function 结束设备检测
|
|
166
|
-
*/
|
|
167
|
-
export const stopCheckDevice = async () => {
|
|
168
|
-
defaultApi.writeLog('zby_av_sdk stop checkDevice');
|
|
169
|
-
return zegosdk.stopCheckDevice();
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* @function 初始化
|
|
175
|
-
* @param sdk_type:String 'rtc' | 'zego' | 'agora',必选
|
|
176
|
-
* @param args:Object 必选
|
|
177
|
-
* {
|
|
178
|
-
* rtc: {},
|
|
179
|
-
* zego: {},
|
|
180
|
-
* agora: {}
|
|
181
|
-
* }
|
|
182
|
-
* @return Promise | void
|
|
183
|
-
*/
|
|
184
|
-
export const init = (sdk_type, args) => {
|
|
185
|
-
// 将初始化参数存储到全局
|
|
186
|
-
window.zbyAVSDK_init_sdk_type = sdk_type;
|
|
187
|
-
defaultApi.writeLog(`change zbyAVSDK_init_sdk_type to ${sdk_type} , from avsdk init action`);
|
|
188
|
-
window.zbyAVSDK_init_params = args;
|
|
189
|
-
setDefaultZbySDKDeviceCheckerInit();
|
|
190
|
-
|
|
191
|
-
return changeSDK(undefined);
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* @function 恢复sdk
|
|
196
|
-
*/
|
|
197
|
-
export const recoverSdk = (args) => {
|
|
198
|
-
window.zbyAVSDK_init_params = args;
|
|
199
|
-
const config = window.zbyAVSDK_init_params[window.zbyAVSDK_init_sdk_type];
|
|
200
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
201
|
-
case RTC:
|
|
202
|
-
return rtcsdk.recoverSdk(config);
|
|
203
|
-
case ZEGO:
|
|
204
|
-
// return zegosdk.recoverSdk(dealSDKMsg);
|
|
205
|
-
default:
|
|
206
|
-
break;
|
|
207
|
-
}
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* @function 切换线路
|
|
212
|
-
* @param args:Object 可选
|
|
213
|
-
* {
|
|
214
|
-
* sdk_type, // String,'rtc' | 'zego' | 'agora',可选
|
|
215
|
-
* // 无传入的话,sdk 线路默认选择 window.zbyAVSDK_init_sdk_type
|
|
216
|
-
* config // Object,配置的参数对象,不同的线路参数对象不同,可选
|
|
217
|
-
* // 无传入的话,sdk 线路默认选择 window.zbyAVSDK_init_params 中相应线路的配置
|
|
218
|
-
* }
|
|
219
|
-
* @return Promise | void
|
|
220
|
-
*/
|
|
221
|
-
export const changeSDK = async (args) => {
|
|
222
|
-
if (args) {
|
|
223
|
-
rtcsdk.stopCheckDevice();
|
|
224
|
-
await leaveRoom().catch((err) => {
|
|
225
|
-
console.error('leave room fail:', err);
|
|
226
|
-
});
|
|
227
|
-
// await unloadExtension();
|
|
228
|
-
}
|
|
229
|
-
if (args && args.sdk_type) {
|
|
230
|
-
window.zbyAVSDK_init_sdk_type = args.sdk_type;
|
|
231
|
-
defaultApi.writeLog(`change zbyAVSDK_init_sdk_type to ${args.sdk_type} , from avsdk changeSDK action`);
|
|
232
|
-
}
|
|
233
|
-
if (args && args.config) {
|
|
234
|
-
window.zbyAVSDK_init_params[window.zbyAVSDK_init_sdk_type] = args.config;
|
|
235
|
-
}
|
|
236
|
-
const sdk_type = window.zbyAVSDK_init_sdk_type;
|
|
237
|
-
const config = window.zbyAVSDK_init_params[window.zbyAVSDK_init_sdk_type];
|
|
238
|
-
|
|
239
|
-
switch (sdk_type) {
|
|
240
|
-
case RTC:
|
|
241
|
-
return rtcsdk.init(config);
|
|
242
|
-
case ZEGO:
|
|
243
|
-
return zegosdk.init(config);
|
|
244
|
-
case TALRTC:
|
|
245
|
-
return talrtcsdk.init(config);
|
|
246
|
-
case TRTC:
|
|
247
|
-
return trtcsdk.init(config);
|
|
248
|
-
default:
|
|
249
|
-
break;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
};
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* @function 卸载扩展
|
|
256
|
-
* @return Promise | void
|
|
257
|
-
*/
|
|
258
|
-
export const unloadExtension = () => {
|
|
259
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
260
|
-
case RTC:
|
|
261
|
-
return rtcsdk.unloadRtc();
|
|
262
|
-
case ZEGO:
|
|
263
|
-
return zegosdk.unloadZego();
|
|
264
|
-
case TALRTC:
|
|
265
|
-
return talrtcsdk.unloadTalrtc();
|
|
266
|
-
case TRTC:
|
|
267
|
-
return trtcsdk.unloadTrtc();
|
|
268
|
-
default:
|
|
269
|
-
break;
|
|
270
|
-
}
|
|
271
|
-
};
|
|
272
|
-
|
|
273
|
-
/**
|
|
274
|
-
* @function 获取摄像头列表
|
|
275
|
-
* @return Promise | void
|
|
276
|
-
*/
|
|
277
|
-
export const getCameraDeviceList = async () => {
|
|
278
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
279
|
-
case RTC:
|
|
280
|
-
return await rtcsdk.getCameraDevice();
|
|
281
|
-
case ZEGO:
|
|
282
|
-
return await zegosdk.getVideoDeviceList();
|
|
283
|
-
case TALRTC:
|
|
284
|
-
return await talrtcsdk.getCameraDeviceList();
|
|
285
|
-
case TRTC:
|
|
286
|
-
return await trtcsdk.getCameraDeviceListTrtc();
|
|
287
|
-
default:
|
|
288
|
-
return await zegosdk.getVideoDeviceList();
|
|
289
|
-
break;
|
|
290
|
-
}
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
/**
|
|
294
|
-
* @function 指定摄像头
|
|
295
|
-
* @param deviceId:String 摄像头 id,必须
|
|
296
|
-
* @return Promise | void
|
|
297
|
-
*/
|
|
298
|
-
export const setCameraDevice = async (deviceId, operationType) => {
|
|
299
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
300
|
-
case RTC:
|
|
301
|
-
return await rtcsdk.setCameraDevice({deviceId, operationType});
|
|
302
|
-
case ZEGO:
|
|
303
|
-
return await zegosdk.setVideoDevice({deviceId, operationType});
|
|
304
|
-
case TALRTC:
|
|
305
|
-
return await talrtcsdk.setCameraDevice({ deviceId });
|
|
306
|
-
case TRTC:
|
|
307
|
-
return await trtcsdk.setVideoDevice({deviceId});
|
|
308
|
-
default:
|
|
309
|
-
break;
|
|
310
|
-
}
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* @function 开摄像/关摄像
|
|
315
|
-
* @param operation:Boolean 操作类型,false -> 关闭,true -> 打开,必选
|
|
316
|
-
* @return Promise | void
|
|
317
|
-
*/
|
|
318
|
-
export const openOrCloseCamera = (operation) => {
|
|
319
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
320
|
-
case RTC:
|
|
321
|
-
return rtcsdk.openOrCloseCamera(operation);
|
|
322
|
-
case ZEGO:
|
|
323
|
-
return zegosdk.enableCamera(operation);
|
|
324
|
-
case TALRTC:
|
|
325
|
-
return talrtcsdk.openOrCloseCamera(operation);
|
|
326
|
-
case TRTC:
|
|
327
|
-
return trtcsdk.openOrCloseCamera(operation);
|
|
328
|
-
default:
|
|
329
|
-
break;
|
|
330
|
-
}
|
|
331
|
-
};
|
|
332
|
-
|
|
333
|
-
//是否推画面 false/不推 true/推
|
|
334
|
-
export const setPushStreamVideo = (operation) => {
|
|
335
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
336
|
-
case RTC:
|
|
337
|
-
return rtcsdk.muteStreamVideo(!operation);
|
|
338
|
-
case ZEGO:
|
|
339
|
-
return zegosdk.setMuteStreamVideo(!operation);
|
|
340
|
-
case TALRTC:
|
|
341
|
-
return talrtcsdk.muteLocalVideo(!operation);
|
|
342
|
-
case TRTC:
|
|
343
|
-
default:
|
|
344
|
-
break;
|
|
345
|
-
}
|
|
346
|
-
};
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
/**
|
|
350
|
-
* @function 是否推声音 ---暂时没有用到,未抛出去未测
|
|
351
|
-
* @param operation:Boolean 操作类型,false -> 关闭,true -> 打开,必选
|
|
352
|
-
* @return Promise | void
|
|
353
|
-
*/
|
|
354
|
-
export const setPushAudioMute = (operation) => {
|
|
355
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
356
|
-
case RTC:
|
|
357
|
-
return rtcsdk.muteStreamAudio(!operation);
|
|
358
|
-
case ZEGO:
|
|
359
|
-
return zegosdk.setMuteStreamAudio(!operation);
|
|
360
|
-
case TALRTC:
|
|
361
|
-
return talrtcsdk.muteLocalAudio(!operation);
|
|
362
|
-
case TRTC:
|
|
363
|
-
default:
|
|
364
|
-
break;
|
|
365
|
-
}
|
|
366
|
-
};
|
|
367
|
-
|
|
368
|
-
/**
|
|
369
|
-
* @function 开启预览
|
|
370
|
-
* @param operation:Boolean 操作类型,false -> 关闭,true -> 打开,必选
|
|
371
|
-
* @return Promise | void
|
|
372
|
-
*/
|
|
373
|
-
export const startPreview = (operation) => {
|
|
374
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
375
|
-
case RTC:
|
|
376
|
-
return rtcsdk.startPreview(operation);
|
|
377
|
-
case TALRTC:
|
|
378
|
-
return talrtcsdk.startPreview(operation);
|
|
379
|
-
case ZEGO:
|
|
380
|
-
case TRTC:
|
|
381
|
-
default:
|
|
382
|
-
break;
|
|
383
|
-
}
|
|
384
|
-
};
|
|
385
|
-
|
|
386
|
-
/**
|
|
387
|
-
* @function 结束预览
|
|
388
|
-
* @param operation:Boolean 操作类型,false -> 关闭,true -> 打开,必选
|
|
389
|
-
* @return Promise | void
|
|
390
|
-
*/
|
|
391
|
-
export const stopPreview = (operation) => {
|
|
392
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
393
|
-
case RTC:
|
|
394
|
-
return rtcsdk.stopPreview(operation);
|
|
395
|
-
case TALRTC:
|
|
396
|
-
return talrtcsdk.stopPreview(operation);
|
|
397
|
-
case ZEGO:
|
|
398
|
-
case TRTC:
|
|
399
|
-
default:
|
|
400
|
-
break;
|
|
401
|
-
}
|
|
402
|
-
};
|
|
403
|
-
|
|
404
|
-
/**
|
|
405
|
-
* @function 开始连麦
|
|
406
|
-
* @param mode:number 采集器默认, 默认0=站立 1=坐立
|
|
407
|
-
* @return Promise | void
|
|
408
|
-
*/
|
|
409
|
-
export const teacherStartLinkMic = (mode) => {
|
|
410
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
411
|
-
case RTC:
|
|
412
|
-
return rtcsdk.teacherStartLinkMic(mode);
|
|
413
|
-
case ZEGO:
|
|
414
|
-
return zegosdk.teacherStartLinkMic(mode);
|
|
415
|
-
case TALRTC:
|
|
416
|
-
return talrtcsdk.teacherStartLinkMic(mode);
|
|
417
|
-
case TRTC:
|
|
418
|
-
return trtcsdk.teacherStartLinkMic(mode)
|
|
419
|
-
default:
|
|
420
|
-
break;
|
|
421
|
-
}
|
|
422
|
-
};
|
|
423
|
-
|
|
424
|
-
/**
|
|
425
|
-
* @function 结束连麦
|
|
426
|
-
* @param mode:number 采集器默认, 默认0=站立 1=坐立
|
|
427
|
-
* @return Promise | void
|
|
428
|
-
*/
|
|
429
|
-
export const teacherStopLinkMic = (mode) => {
|
|
430
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
431
|
-
case RTC:
|
|
432
|
-
return rtcsdk.teacherStopLinkMic(mode);
|
|
433
|
-
case ZEGO:
|
|
434
|
-
return zegosdk.teacherStopLinkMic(mode);
|
|
435
|
-
case TALRTC:
|
|
436
|
-
return talrtcsdk.teacherStopLinkMic(mode);
|
|
437
|
-
case TRTC:
|
|
438
|
-
return trtcsdk.teacherStopLinkMic(mode);
|
|
439
|
-
default:
|
|
440
|
-
break;
|
|
441
|
-
}
|
|
442
|
-
};
|
|
443
|
-
|
|
444
|
-
/**
|
|
445
|
-
* @function 获取视频 src 或者将视频绑定到某一个 <video> 标签上
|
|
446
|
-
* @param args:Object
|
|
447
|
-
* {
|
|
448
|
-
* isLocal, // Boolean,是否是本地的视频预览
|
|
449
|
-
* streamId, // String,要拉取的视频流的 id,可选,只有拉取远程的视频流的时候才是必选的,本地不用
|
|
450
|
-
* domId // String,<video> 标签的 id,可选,如果传了就把视频绑定到对应的 <video> 标签上
|
|
451
|
-
* }
|
|
452
|
-
* @return Promise | void,可从 Promise 中获取 src,Promise.then((src) => {})
|
|
453
|
-
*/
|
|
454
|
-
export const getOrLocateVideo = (args) => {
|
|
455
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
456
|
-
case RTC:
|
|
457
|
-
return rtcsdk.startLocalOrRemotePreview(args.isLocal, args.streamId, args.domId);
|
|
458
|
-
case ZEGO:
|
|
459
|
-
return zegosdk.startLocalOrRemotePreview(args.isLocal, args.streamId, args.domId, args.isTeacherNewWindowPreview);
|
|
460
|
-
case TALRTC:
|
|
461
|
-
return talrtcsdk.startLocalOrRemotePreview(args.isLocal, args.streamId, args.domId, args.isTeacherNewWindowPreview);
|
|
462
|
-
case TRTC:
|
|
463
|
-
return trtcsdk.startLocalOrRemotePreview(args.isLocal, args.streamId, args.domId, args.isTeacherNewWindowPreview);
|
|
464
|
-
default:
|
|
465
|
-
return zegosdk.startLocalOrRemotePreview(args.isLocal, args.streamId, args.domId);
|
|
466
|
-
break;
|
|
467
|
-
}
|
|
468
|
-
};
|
|
469
|
-
|
|
470
|
-
/**
|
|
471
|
-
* @function 开始推流
|
|
472
|
-
* @return Promise | void
|
|
473
|
-
*/
|
|
474
|
-
export const startPushFlow = async (streamid, idx) => {
|
|
475
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
476
|
-
case RTC:
|
|
477
|
-
return await rtcsdk.startPush();
|
|
478
|
-
case ZEGO:
|
|
479
|
-
return await zegosdk.startPublish2(streamid, idx);
|
|
480
|
-
case TALRTC:
|
|
481
|
-
return await talrtcsdk.startPush(streamid); // 可能为空,函数内部有判断逻辑,为空时,根据规则生成streamId
|
|
482
|
-
case TRTC:
|
|
483
|
-
return await trtcsdk.startPush(streamid, idx);//流id需要做兼容处理
|
|
484
|
-
default:
|
|
485
|
-
break;
|
|
486
|
-
}
|
|
487
|
-
};
|
|
488
|
-
|
|
489
|
-
/**
|
|
490
|
-
* @function 暂停推流
|
|
491
|
-
* @return Promise | void
|
|
492
|
-
*/
|
|
493
|
-
export const stopPushFlow = (idx, streamId) => {
|
|
494
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
495
|
-
case RTC:
|
|
496
|
-
return rtcsdk.stopPush();
|
|
497
|
-
case ZEGO:
|
|
498
|
-
return zegosdk.stopPublish(idx);
|
|
499
|
-
case TALRTC:
|
|
500
|
-
return talrtcsdk.stopPush(streamId);
|
|
501
|
-
case TRTC:
|
|
502
|
-
return trtcsdk.stopPush(idx);
|
|
503
|
-
default:
|
|
504
|
-
break;
|
|
505
|
-
}
|
|
506
|
-
};
|
|
507
|
-
|
|
508
|
-
/**
|
|
509
|
-
* @function 初始化拉流
|
|
510
|
-
* @param args:Object
|
|
511
|
-
* {
|
|
512
|
-
* streamId, // String,被拉取的流的 id,必选
|
|
513
|
-
* domId // String,<video> 标签的 id,可选,如果传了就把视频绑定到对应的 <video> 标签上
|
|
514
|
-
* }
|
|
515
|
-
* @return Promise | void,可从 Promise 中获取 src,Promise.then((src) => {})
|
|
516
|
-
*/
|
|
517
|
-
export const initPullFlow = (args) => {
|
|
518
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
519
|
-
case RTC:
|
|
520
|
-
//判断是否是M1设备
|
|
521
|
-
if (window.zby_isM1Type) {
|
|
522
|
-
return;
|
|
523
|
-
}
|
|
524
|
-
return {
|
|
525
|
-
sdk_type: RTC,
|
|
526
|
-
videoSrc: rtcsdk.initPullFlow(args.streamId, args.domId, args.mute, args.renderId, args.notAutoPlay, args.audioOnly, args.needScale, args.scaleParams, args.streamType)
|
|
527
|
-
};
|
|
528
|
-
case ZEGO:
|
|
529
|
-
return {
|
|
530
|
-
sdk_type: ZEGO,
|
|
531
|
-
videoSrc: zegosdk.initPullFlow(args.streamId, args.domId, args.mute, args.renderId, args.notAutoPlay, args.audioOnly)
|
|
532
|
-
};
|
|
533
|
-
case TALRTC:
|
|
534
|
-
return {
|
|
535
|
-
sdk_type: TALRTC,
|
|
536
|
-
videoSrc: talrtcsdk.initPullFlow(args.streamId, args.domId, args.mute, args.renderId, args.notAutoPlay, args.audioOnly)
|
|
537
|
-
};
|
|
538
|
-
case TRTC:
|
|
539
|
-
return {
|
|
540
|
-
sdk_type: TRTC,
|
|
541
|
-
videoSrc: trtcsdk.initPullFlow(args.streamId, args.domId, args.mute, args.renderId, args.notAutoPlay, args.audioOnly)
|
|
542
|
-
};
|
|
543
|
-
default:
|
|
544
|
-
break;
|
|
545
|
-
}
|
|
546
|
-
};
|
|
547
|
-
|
|
548
|
-
/**
|
|
549
|
-
* @function 恢复拉指定的流
|
|
550
|
-
* @param streamId:String 被拉取的流的 id,必选
|
|
551
|
-
* @return Promise | void
|
|
552
|
-
*/
|
|
553
|
-
export const startPullFlow = (streamId) => {
|
|
554
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
555
|
-
case RTC:
|
|
556
|
-
return rtcsdk.play(streamId);
|
|
557
|
-
case ZEGO:
|
|
558
|
-
return zegosdk.playStream(streamId);
|
|
559
|
-
case TALRTC:
|
|
560
|
-
return talrtcsdk.startPlay(streamId);
|
|
561
|
-
case TRTC:
|
|
562
|
-
return trtcsdk.startPlay(streamId);
|
|
563
|
-
default:
|
|
564
|
-
break;
|
|
565
|
-
}
|
|
566
|
-
};
|
|
567
|
-
|
|
568
|
-
/**
|
|
569
|
-
* @function 暂停拉指定的流
|
|
570
|
-
* @param streamId:String 被拉取的流的 id,必选
|
|
571
|
-
* @param recovery:Boolean 是否回收播放器, 可选
|
|
572
|
-
* @return Promise | void
|
|
573
|
-
*/
|
|
574
|
-
export const stopPullFlow = (streamId, recovery) => {
|
|
575
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
576
|
-
case RTC:
|
|
577
|
-
return rtcsdk.stop(streamId, recovery);
|
|
578
|
-
case ZEGO:
|
|
579
|
-
return zegosdk.stopPlayStream(streamId, recovery);
|
|
580
|
-
case TALRTC:
|
|
581
|
-
return talrtcsdk.stopPlay(streamId, recovery);
|
|
582
|
-
case TRTC:
|
|
583
|
-
return trtcsdk.stopPlay(streamId);
|
|
584
|
-
default:
|
|
585
|
-
break;
|
|
586
|
-
}
|
|
587
|
-
};
|
|
588
|
-
|
|
589
|
-
/**
|
|
590
|
-
* @function 暂停拉所有的流
|
|
591
|
-
* @return Promise | void
|
|
592
|
-
*/
|
|
593
|
-
export const stopAllPullFlow = (streamId, recovery) => {
|
|
594
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
595
|
-
case RTC:
|
|
596
|
-
return rtcsdk.stopAllPullFlow(streamId, recovery);
|
|
597
|
-
case ZEGO:
|
|
598
|
-
return zegosdk.stopAllPlayStream(streamId, recovery);
|
|
599
|
-
case TALRTC:
|
|
600
|
-
return talrtcsdk.stopPlayAll();
|
|
601
|
-
case TRTC:
|
|
602
|
-
return trtcsdk.stopPlayAll();
|
|
603
|
-
default:
|
|
604
|
-
break;
|
|
605
|
-
}
|
|
606
|
-
};
|
|
607
|
-
|
|
608
|
-
/**
|
|
609
|
-
* @function 销毁拉指定的流
|
|
610
|
-
* @param streamId:String 被拉取的流的 id,必选
|
|
611
|
-
* @return Promise | void
|
|
612
|
-
*/
|
|
613
|
-
export const playDestroy = (streamId) => {
|
|
614
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
615
|
-
case RTC:
|
|
616
|
-
return rtcsdk.playDestroy(streamId);
|
|
617
|
-
case ZEGO:
|
|
618
|
-
return zegosdk.stopPlayStream(streamId, true);
|
|
619
|
-
case TALRTC:
|
|
620
|
-
return talrtcsdk.stopPlay(streamId);
|
|
621
|
-
case TRTC:
|
|
622
|
-
return trtcsdk.stopPlay(streamId);
|
|
623
|
-
default:
|
|
624
|
-
break;
|
|
625
|
-
}
|
|
626
|
-
};
|
|
627
|
-
|
|
628
|
-
/**
|
|
629
|
-
* @function 切换播放流
|
|
630
|
-
* @param streamId:String 需要停止流的 id,必选
|
|
631
|
-
* @param toStreamId:String 被拉取的流的 id,必选
|
|
632
|
-
* @param toDomId:String <video> 标签的 id,可选
|
|
633
|
-
* @return Promise | void
|
|
634
|
-
*/
|
|
635
|
-
export const changePullFlow = (args) => {
|
|
636
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
637
|
-
case RTC:
|
|
638
|
-
return rtcsdk.changePullFlow(args.streamId, args.toStreamId, args.toDomId);
|
|
639
|
-
case ZEGO:
|
|
640
|
-
return zegosdk.changePullFlow(args.streamId, args.toStreamId, args.toDomId);
|
|
641
|
-
case TALRTC:
|
|
642
|
-
return talrtcsdk.changePullFlow(args.streamId, args.toStreamId, args.toDomId);
|
|
643
|
-
case TRTC:
|
|
644
|
-
default:
|
|
645
|
-
break;
|
|
646
|
-
}
|
|
647
|
-
};
|
|
648
|
-
|
|
649
|
-
/**
|
|
650
|
-
* @function 获取本地扬声器列表
|
|
651
|
-
* @return Promise | void
|
|
652
|
-
*/
|
|
653
|
-
export const getSpeakerDeviceList = async () => {
|
|
654
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
655
|
-
case RTC:
|
|
656
|
-
return await rtcsdk.getSpeakerDevice();
|
|
657
|
-
case ZEGO:
|
|
658
|
-
return await zegosdk.getSpeakerDeviceList();
|
|
659
|
-
case TALRTC:
|
|
660
|
-
return await talrtcsdk.getSpeakerDeviceList();
|
|
661
|
-
case TRTC:
|
|
662
|
-
return await trtcsdk.getSpeakerDeviceListTrtc();
|
|
663
|
-
default:
|
|
664
|
-
return await zegosdk.getSpeakerDeviceList();
|
|
665
|
-
break;
|
|
666
|
-
}
|
|
667
|
-
};
|
|
668
|
-
|
|
669
|
-
/**
|
|
670
|
-
* @function 指定扬声器
|
|
671
|
-
* @param deviceId:String 扬声器设备 id,必选
|
|
672
|
-
* @return Promise | void
|
|
673
|
-
*/
|
|
674
|
-
export const setSpeakerDevice = async (deviceId, operationType) => {
|
|
675
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
676
|
-
case RTC:
|
|
677
|
-
return await rtcsdk.setSpeakerDevice({speakId:deviceId, operationType});
|
|
678
|
-
case ZEGO:
|
|
679
|
-
return await zegosdk.setSpeakerDevice({deviceId, operationType});
|
|
680
|
-
case TALRTC:
|
|
681
|
-
return await talrtcsdk.setSpeakerDevice({ deviceId });
|
|
682
|
-
case TRTC:
|
|
683
|
-
return await trtcsdk.setSpeakerDevice({deviceId});
|
|
684
|
-
default:
|
|
685
|
-
break;
|
|
686
|
-
}
|
|
687
|
-
};
|
|
688
|
-
|
|
689
|
-
/**
|
|
690
|
-
* @function 获取扬声器音量
|
|
691
|
-
* @return Promise | void
|
|
692
|
-
*/
|
|
693
|
-
export const getSpeakerVolume = async () => {
|
|
694
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
695
|
-
case RTC:
|
|
696
|
-
return JSON.parse((await rtcsdk.getSpeakerVolume()).msg).volume;
|
|
697
|
-
case ZEGO:
|
|
698
|
-
return JSON.parse((await zegosdk.getSpeakerDeviceVolume()).msg).ret;
|
|
699
|
-
case TALRTC:
|
|
700
|
-
return await talrtcsdk.getCurrentSpeakerVolume();
|
|
701
|
-
case TRTC:
|
|
702
|
-
return JSON.parse((await trtcsdk.getCurrentSpeakerVolume()).msg).speakerVolume;
|
|
703
|
-
default:
|
|
704
|
-
break;
|
|
705
|
-
}
|
|
706
|
-
};
|
|
707
|
-
|
|
708
|
-
/**
|
|
709
|
-
* @function 设置扬声器音量
|
|
710
|
-
* @param volume:Number 扬声器音量,必选,范围 [0, 100]
|
|
711
|
-
* @return Promise | void
|
|
712
|
-
*/
|
|
713
|
-
export const setSpeakerVolume = (volume) => {
|
|
714
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
715
|
-
case RTC:
|
|
716
|
-
return rtcsdk.setSpeakerVolume(volume);
|
|
717
|
-
case ZEGO:
|
|
718
|
-
return zegosdk.setSpeakerDeviceVolume(volume);
|
|
719
|
-
case TALRTC:
|
|
720
|
-
return talrtcsdk.setCurrentSpeakerVolume(volume);
|
|
721
|
-
case TRTC:
|
|
722
|
-
return trtcsdk.setCurrentSpeakerVolume(volume);
|
|
723
|
-
default:
|
|
724
|
-
break;
|
|
725
|
-
}
|
|
726
|
-
};
|
|
727
|
-
|
|
728
|
-
/**
|
|
729
|
-
* @function 控制扬声器是否静音
|
|
730
|
-
* @param mute:Boolean 是否静音,必选
|
|
731
|
-
* @return Promise | void
|
|
732
|
-
*/
|
|
733
|
-
export const setSpeakerMute = (mute) => {
|
|
734
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
735
|
-
case RTC:
|
|
736
|
-
return rtcsdk.setSpeakerMute(mute);
|
|
737
|
-
case ZEGO:
|
|
738
|
-
return zegosdk.setSpeakerDeviceMute(mute);
|
|
739
|
-
case TALRTC:
|
|
740
|
-
return talrtcsdk.setSpeakerDeviceMute(mute);
|
|
741
|
-
case TRTC:
|
|
742
|
-
default:
|
|
743
|
-
break;
|
|
744
|
-
}
|
|
745
|
-
};
|
|
746
|
-
|
|
747
|
-
/**
|
|
748
|
-
* @function 获取 App 应用音量
|
|
749
|
-
* @return Promise | void
|
|
750
|
-
*/
|
|
751
|
-
export const getAppVolume = () => {
|
|
752
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
753
|
-
case RTC:
|
|
754
|
-
return rtcsdk.getCurrentAppSessionVolume();
|
|
755
|
-
case ZEGO:
|
|
756
|
-
return zegosdk.getSpeakerSimpleVolume();
|
|
757
|
-
case TALRTC:
|
|
758
|
-
return talrtcsdk.getSpeakerSimpleVolume();
|
|
759
|
-
case TRTC:
|
|
760
|
-
default:
|
|
761
|
-
break;
|
|
762
|
-
}
|
|
763
|
-
};
|
|
764
|
-
|
|
765
|
-
/**
|
|
766
|
-
* @function 设置 App 应用音量
|
|
767
|
-
* @param volume:Number App 音量,必选,范围 [0, 100]
|
|
768
|
-
* @return Promise | void
|
|
769
|
-
*/
|
|
770
|
-
export const setAppVolume = (volume) => {
|
|
771
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
772
|
-
case RTC:
|
|
773
|
-
return rtcsdk.setCurrentAppSessionVolume(volume);
|
|
774
|
-
case ZEGO:
|
|
775
|
-
return zegosdk.setSpeakerSimpleVolume(volume);
|
|
776
|
-
// 由于 Agora 的 App 音量取值范围是 [0, 255],所以需要做比例兼容
|
|
777
|
-
// volume = Math.floor((volume / 100) * 255);
|
|
778
|
-
case TALRTC:
|
|
779
|
-
return talrtcsdk.setSpeakerSimpleVolume(volume);
|
|
780
|
-
case TRTC:
|
|
781
|
-
default:
|
|
782
|
-
break;
|
|
783
|
-
}
|
|
784
|
-
};
|
|
785
|
-
|
|
786
|
-
/**
|
|
787
|
-
* @function 设置 App 静音
|
|
788
|
-
* @param mute:Boolean 是否静音,必选
|
|
789
|
-
* @return Promise | void
|
|
790
|
-
*/
|
|
791
|
-
export const setAppMute = (mute) => {
|
|
792
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
793
|
-
case RTC:
|
|
794
|
-
return rtcsdk.setApplicationMute(mute);
|
|
795
|
-
case ZEGO:
|
|
796
|
-
return zegosdk.setSpeakerSimpleMute(mute);
|
|
797
|
-
case TALRTC:
|
|
798
|
-
return talrtcsdk.setSpeakerSimpleMute(mute);
|
|
799
|
-
case TRTC:
|
|
800
|
-
default:
|
|
801
|
-
break;
|
|
802
|
-
}
|
|
803
|
-
};
|
|
804
|
-
|
|
805
|
-
/**
|
|
806
|
-
* @function 获取麦克风列表
|
|
807
|
-
* @return Promise | void
|
|
808
|
-
*/
|
|
809
|
-
export const getMicrophoneDeviceList = async () => {
|
|
810
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
811
|
-
case RTC:
|
|
812
|
-
return await rtcsdk.getMicrophoneDevice();
|
|
813
|
-
case ZEGO:
|
|
814
|
-
return await zegosdk.getMicrophoneDeviceList();
|
|
815
|
-
case TALRTC:
|
|
816
|
-
return await talrtcsdk.getMicrophoneDeviceList();
|
|
817
|
-
case TRTC:
|
|
818
|
-
return await trtcsdk.getMicrophoneDeviceListTrtc();
|
|
819
|
-
default:
|
|
820
|
-
return await zegosdk.getMicrophoneDeviceList();
|
|
821
|
-
break;
|
|
822
|
-
}
|
|
823
|
-
};
|
|
824
|
-
|
|
825
|
-
/**
|
|
826
|
-
* @function 指定麦克风
|
|
827
|
-
* @param deviceId:String 麦克风 id,必须
|
|
828
|
-
* @return Promise | void
|
|
829
|
-
*/
|
|
830
|
-
export const setMicrophoneDevice = async (deviceId, operationType) => {
|
|
831
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
832
|
-
case RTC:
|
|
833
|
-
return await rtcsdk.setMicrophoneDevice({deviceId, operationType});
|
|
834
|
-
case ZEGO:
|
|
835
|
-
return await zegosdk.setMicrophoneDevice({deviceId, operationType});
|
|
836
|
-
case TALRTC:
|
|
837
|
-
return await talrtcsdk.setMicrophoneDevice({ deviceId, operationType });
|
|
838
|
-
case TRTC:
|
|
839
|
-
return await trtcsdk.setMicrophoneDevice({deviceId});
|
|
840
|
-
default:
|
|
841
|
-
break;
|
|
842
|
-
}
|
|
843
|
-
};
|
|
844
|
-
|
|
845
|
-
/**
|
|
846
|
-
* @function 开麦/禁麦
|
|
847
|
-
* @param operation:Boolean 操作类型,false -> 关闭,true -> 打开,必选
|
|
848
|
-
* @return Promise | void
|
|
849
|
-
*/
|
|
850
|
-
export const openOrCloseMicrophone = async (operation) => {
|
|
851
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
852
|
-
case RTC:
|
|
853
|
-
return await rtcsdk.setRealTimeAudioMute(!operation);
|
|
854
|
-
case ZEGO:
|
|
855
|
-
return await zegosdk.enableMic(operation);
|
|
856
|
-
case TALRTC:
|
|
857
|
-
return await talrtcsdk.openOrCloseMicrophone(operation);
|
|
858
|
-
case TRTC:
|
|
859
|
-
return await trtcsdk.openOrCloseMicrophone(operation);
|
|
860
|
-
default:
|
|
861
|
-
break;
|
|
862
|
-
}
|
|
863
|
-
};
|
|
864
|
-
|
|
865
|
-
/**
|
|
866
|
-
* @function 获取麦克风音量
|
|
867
|
-
* @return Promise | void
|
|
868
|
-
*/
|
|
869
|
-
export const getMicrophoneVolume = () => {
|
|
870
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
871
|
-
case RTC:
|
|
872
|
-
return rtcsdk.getMicrophoneVolume();
|
|
873
|
-
case ZEGO:
|
|
874
|
-
return zegosdk.getMicDeviceVolume();
|
|
875
|
-
case TALRTC:
|
|
876
|
-
return talrtcsdk.getCurrentMicrophoneVolume();
|
|
877
|
-
case TRTC:
|
|
878
|
-
return trtcsdk.getCurrentMicrophoneVolume();
|
|
879
|
-
default:
|
|
880
|
-
break;
|
|
881
|
-
}
|
|
882
|
-
};
|
|
883
|
-
|
|
884
|
-
/**
|
|
885
|
-
* @function 设置麦克风音量
|
|
886
|
-
* @param volume:Number App 音量,必选,范围 [0, 100]
|
|
887
|
-
* @param mute:Boolean 是否静音
|
|
888
|
-
* @return Promise | void
|
|
889
|
-
*/
|
|
890
|
-
export const setMicrophoneVolume = (volume, mute) => {
|
|
891
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
892
|
-
case RTC:
|
|
893
|
-
return rtcsdk.setMicrophoneVolume(volume, mute);
|
|
894
|
-
case ZEGO:
|
|
895
|
-
return zegosdk.setMicDeviceVolume(volume);
|
|
896
|
-
case TALRTC:
|
|
897
|
-
return talrtcsdk.setCurrentMicrophoneVolume(volume);
|
|
898
|
-
case TRTC:
|
|
899
|
-
return trtcsdk.setCurrentMicrophoneVolume(volume);
|
|
900
|
-
default:
|
|
901
|
-
break;
|
|
902
|
-
}
|
|
903
|
-
};
|
|
904
|
-
|
|
905
|
-
/**
|
|
906
|
-
* @function 控制麦克风是否静音
|
|
907
|
-
* @param mute:Boolean 是否静音,必选
|
|
908
|
-
* @return Promise | void
|
|
909
|
-
*/
|
|
910
|
-
export const setMicrophoneMute = (mute) => {
|
|
911
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
912
|
-
case RTC:
|
|
913
|
-
return rtcsdk.setRealTimeAudioMute(mute);
|
|
914
|
-
case ZEGO:
|
|
915
|
-
return zegosdk.setMicDeviceMute(mute);
|
|
916
|
-
case TALRTC:
|
|
917
|
-
return talrtcsdk.muteLocalAudio(mute);
|
|
918
|
-
case TRTC:
|
|
919
|
-
default:
|
|
920
|
-
break;
|
|
921
|
-
}
|
|
922
|
-
};
|
|
923
|
-
|
|
924
|
-
/**
|
|
925
|
-
* @function 退出房间、退出频道
|
|
926
|
-
* @return Promise | void
|
|
927
|
-
*/
|
|
928
|
-
export const leaveRoom = () => {
|
|
929
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
930
|
-
case RTC:
|
|
931
|
-
return rtcsdk.leaveRoom();
|
|
932
|
-
case ZEGO:
|
|
933
|
-
return zegosdk.leaveRoom();
|
|
934
|
-
case TALRTC:
|
|
935
|
-
return talrtcsdk.leaveRoom();
|
|
936
|
-
case TRTC:
|
|
937
|
-
return trtcsdk.leaveRoom();
|
|
938
|
-
default:
|
|
939
|
-
break;
|
|
940
|
-
}
|
|
941
|
-
};
|
|
942
|
-
|
|
943
|
-
/**
|
|
944
|
-
* @function 反初始化
|
|
945
|
-
* @return Promise | void
|
|
946
|
-
*/
|
|
947
|
-
export const deinit = () => {
|
|
948
|
-
window.zbyAVSDK_init_sdk_type=localStorage.getItem('zbyAVSDK_init_sdk_type');
|
|
949
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
950
|
-
case RTC:
|
|
951
|
-
return rtcsdk.destroyEngine();
|
|
952
|
-
case ZEGO:
|
|
953
|
-
return zegosdk.destroyEngine();
|
|
954
|
-
case TALRTC:
|
|
955
|
-
return talrtcsdk.destroyEngine();
|
|
956
|
-
default:
|
|
957
|
-
console.error('unknown zbyAVSDK_init_sdk_type:', zbyAVSDK_init_sdk_type);
|
|
958
|
-
break;
|
|
959
|
-
}
|
|
960
|
-
};
|
|
961
|
-
|
|
962
|
-
//开启拉流音量监听
|
|
963
|
-
export const startSoundLevelMonitor = () => {
|
|
964
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
965
|
-
case RTC:
|
|
966
|
-
break;
|
|
967
|
-
case ZEGO:
|
|
968
|
-
return zegosdk.startSoundLevelMonitor();
|
|
969
|
-
case TALRTC:
|
|
970
|
-
// TODO StartMicrophone 里面有调用 enableAudioVolumeIndication 但目前是注释掉的状态
|
|
971
|
-
break;
|
|
972
|
-
default:
|
|
973
|
-
break;
|
|
974
|
-
}
|
|
975
|
-
};
|
|
976
|
-
|
|
977
|
-
/**
|
|
978
|
-
* @function 转推,录课
|
|
979
|
-
* @param type:String 动作类型,必选,'start' | 'stop' | 'pause' | 'resume'
|
|
980
|
-
* @return Promise | void
|
|
981
|
-
*/
|
|
982
|
-
export const turnPush = (type) => {
|
|
983
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
984
|
-
case RTC:
|
|
985
|
-
return rtcsdk.sendRecordingMsg({ cmd: type });
|
|
986
|
-
case ZEGO:
|
|
987
|
-
return zegosdk.singleRecord(type);
|
|
988
|
-
case TALRTC:
|
|
989
|
-
return talrtcsdk.controlCdnStreaming(type);
|
|
990
|
-
case TRTC:
|
|
991
|
-
default:
|
|
992
|
-
break;
|
|
993
|
-
}
|
|
994
|
-
};
|
|
995
|
-
|
|
996
|
-
/**
|
|
997
|
-
* @function 听不听指定的用户的声音
|
|
998
|
-
* @param streamId:String 被拉取的流的 id,必选
|
|
999
|
-
* @param mute:Boolean 是否静音,必选,true -> 静音,false -> 不静音
|
|
1000
|
-
* @return Promise | void
|
|
1001
|
-
*/
|
|
1002
|
-
export const setAudioMute = (streamId, mute) => {
|
|
1003
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1004
|
-
case RTC:
|
|
1005
|
-
return rtcsdk.setMute(streamId, mute);
|
|
1006
|
-
case ZEGO:
|
|
1007
|
-
return zegosdk.activateAudioPlayStream(streamId, !mute);
|
|
1008
|
-
case TALRTC:
|
|
1009
|
-
return talrtcsdk.muteRemoteAudio(streamId, mute);
|
|
1010
|
-
case TRTC:
|
|
1011
|
-
return trtcsdk.muteRemoteAudio(streamId, mute);
|
|
1012
|
-
default:
|
|
1013
|
-
break;
|
|
1014
|
-
}
|
|
1015
|
-
};
|
|
1016
|
-
|
|
1017
|
-
/**
|
|
1018
|
-
* @function 是否拉取音频流-是否关闭音频流--通过播放器id控制
|
|
1019
|
-
* @param operation:Boolean,必选,true关闭 | false不关闭
|
|
1020
|
-
* @param playerId:Number,必选, 播放器id
|
|
1021
|
-
* @return Promise | void
|
|
1022
|
-
*/
|
|
1023
|
-
export const pullAudioFlow = (playerId, operation, streamId) => {
|
|
1024
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1025
|
-
case RTC:
|
|
1026
|
-
return rtcsdk.pullAudioFlow(playerId, operation, 'client', streamId);
|
|
1027
|
-
case ZEGO:
|
|
1028
|
-
return zegosdk.pullAudioFlow(playerId, !operation, streamId);
|
|
1029
|
-
case TALRTC:
|
|
1030
|
-
return talrtcsdk.pullAudioFlow(playerId, operation, streamId);
|
|
1031
|
-
case TRTC:
|
|
1032
|
-
return trtcsdk.pullAudioFlow(playerId, operation, streamId);
|
|
1033
|
-
default:
|
|
1034
|
-
break;
|
|
1035
|
-
}
|
|
1036
|
-
};
|
|
1037
|
-
|
|
1038
|
-
/**
|
|
1039
|
-
* @function 获取设备状态
|
|
1040
|
-
* * @param { string } devicename //(设备名称,可为空)
|
|
1041
|
-
* * @param { number } devicetype //(设备类型,1摄像头,2麦克风),3扬声器(mac端没有)
|
|
1042
|
-
* @return: Promise
|
|
1043
|
-
*/
|
|
1044
|
-
// export const getDeviceState = (devicename, devicetype) => {
|
|
1045
|
-
// switch (window.zbyAVSDK_init_sdk_type) {
|
|
1046
|
-
// case RTC:
|
|
1047
|
-
// return rtcsdk.getDeviceState(devicename, devicetype);
|
|
1048
|
-
// case ZEGO:
|
|
1049
|
-
// return zegosdk.getDeviceState(devicename, devicetype);
|
|
1050
|
-
// default:
|
|
1051
|
-
// break;
|
|
1052
|
-
// }
|
|
1053
|
-
// };
|
|
1054
|
-
|
|
1055
|
-
/**
|
|
1056
|
-
* @function 看不看指定的用户的画面
|
|
1057
|
-
* @param streamId:String 被拉取的流的 id,必选
|
|
1058
|
-
* @param mute:Boolean 是否关闭画面,必选,true -> 关闭画面,false -> 不关闭画面
|
|
1059
|
-
* @return Promise | void
|
|
1060
|
-
*/
|
|
1061
|
-
export const setVideoMute = (streamId, mute) => {
|
|
1062
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1063
|
-
case RTC:
|
|
1064
|
-
return rtcsdk.controlPullAudioOnly(streamId, mute);
|
|
1065
|
-
case ZEGO:
|
|
1066
|
-
return zegosdk.activateVideoPlayStream(streamId, !mute);
|
|
1067
|
-
case TALRTC:
|
|
1068
|
-
return talrtcsdk.muteRemoteVideo(streamId, mute);
|
|
1069
|
-
case TRTC:
|
|
1070
|
-
return trtcsdk.muteRemoteVideo(streamId, mute);
|
|
1071
|
-
default:
|
|
1072
|
-
break;
|
|
1073
|
-
}
|
|
1074
|
-
};
|
|
1075
|
-
|
|
1076
|
-
/**
|
|
1077
|
-
* @function 开启/关闭麦克风音量回调
|
|
1078
|
-
* @param open:Boolean true -> 开启,false -> 关闭,必选
|
|
1079
|
-
* @return void
|
|
1080
|
-
*/
|
|
1081
|
-
export const openMicVolumeCb = (open) => {
|
|
1082
|
-
rtcsdk.openMicVolumeCb(open);
|
|
1083
|
-
zegosdk.openMicVolumeCb(open);
|
|
1084
|
-
};
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
export const startMixtStream = (args) => {
|
|
1088
|
-
let params = {};
|
|
1089
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1090
|
-
case RTC:
|
|
1091
|
-
const { config } = args;
|
|
1092
|
-
params = {
|
|
1093
|
-
sequence: args.sequence,
|
|
1094
|
-
outputStream: {
|
|
1095
|
-
pushType: args.pushType,
|
|
1096
|
-
rtmpUrls: config.szOutputStream,
|
|
1097
|
-
videoFps: config.nOutputFps,
|
|
1098
|
-
videoRate: config.nOutputBitrate,
|
|
1099
|
-
audioRate: config.nOutputAudioBitrate,
|
|
1100
|
-
videoWidth: config.nOutputWidth,
|
|
1101
|
-
videoHeight: config.nOutputHeight,
|
|
1102
|
-
audioFormat: config.nOutputAudioConfig,
|
|
1103
|
-
audioChannels: config.nChannels,
|
|
1104
|
-
backgroundColor: config.nOutputBackgroundColor,
|
|
1105
|
-
},
|
|
1106
|
-
inputStreams: [],
|
|
1107
|
-
};
|
|
1108
|
-
config.pInputStreamList.forEach(item => {
|
|
1109
|
-
params.inputStreams.push({
|
|
1110
|
-
confId: item.confId,
|
|
1111
|
-
streamId: item.szStreamID,
|
|
1112
|
-
top: item.layout.top,
|
|
1113
|
-
right: item.layout.right,
|
|
1114
|
-
bottom: item.layout.bottom,
|
|
1115
|
-
left: item.layout.left,
|
|
1116
|
-
mediaControl: item.nContentControl
|
|
1117
|
-
});
|
|
1118
|
-
});
|
|
1119
|
-
console.log(params);
|
|
1120
|
-
rtcsdk.startRoomMixRecord(params);
|
|
1121
|
-
break;
|
|
1122
|
-
case ZEGO:
|
|
1123
|
-
params = Object.assign(args, {});
|
|
1124
|
-
delete params.pushType;
|
|
1125
|
-
delete params.sequence;
|
|
1126
|
-
params.config.pInputStreamList = params.config.pInputStreamList.map(item => {
|
|
1127
|
-
const tempObj = Object.assign(item, {});
|
|
1128
|
-
delete tempObj.confId;
|
|
1129
|
-
return tempObj;
|
|
1130
|
-
});
|
|
1131
|
-
zegosdk.mixStream('start', params);
|
|
1132
|
-
break;
|
|
1133
|
-
default:
|
|
1134
|
-
break;
|
|
1135
|
-
}
|
|
1136
|
-
};
|
|
1137
|
-
|
|
1138
|
-
export const stopMixtStream = (args) => {
|
|
1139
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1140
|
-
case RTC:
|
|
1141
|
-
rtcsdk.stopRoomMixRecord({ sequence: args.sequence });
|
|
1142
|
-
break;
|
|
1143
|
-
case ZEGO:
|
|
1144
|
-
const params = Object.assign(args, {});
|
|
1145
|
-
delete params.sequence;
|
|
1146
|
-
zegosdk.mixStream('stop', params);
|
|
1147
|
-
break;
|
|
1148
|
-
default:
|
|
1149
|
-
break;
|
|
1150
|
-
}
|
|
1151
|
-
};
|
|
1152
|
-
|
|
1153
|
-
/**
|
|
1154
|
-
* @function 单路录制
|
|
1155
|
-
* @param args:Object 必选
|
|
1156
|
-
* {
|
|
1157
|
-
* type:String 开始/结束, 对应取值start/stop,必选
|
|
1158
|
-
* groupId: String 分组id,可选,默认为 sdk初始化分组id
|
|
1159
|
-
* streamId: String 流id,必选
|
|
1160
|
-
* seqNum: String
|
|
1161
|
-
* }
|
|
1162
|
-
* @return void
|
|
1163
|
-
*/
|
|
1164
|
-
export const singleRecord = async (args) => {
|
|
1165
|
-
const { type, groupId, streamId, userId, seqNum } = args;
|
|
1166
|
-
const sid = `xrs51_${groupId}_${userId}`;
|
|
1167
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1168
|
-
case RTC:
|
|
1169
|
-
const { institutionId } = window.zby_sdk_init_params;
|
|
1170
|
-
const rtc = window.zbyAVSDK_init_params.rtc;
|
|
1171
|
-
let rtmpAddr = `${rtc.recordUrl}/${sid}`;
|
|
1172
|
-
if (seqNum) {
|
|
1173
|
-
rtmpAddr += `?seqNum=${seqNum}`;
|
|
1174
|
-
}
|
|
1175
|
-
const rtcParams = {
|
|
1176
|
-
cmd: type,
|
|
1177
|
-
confId: util.getConfId(institutionId, groupId),
|
|
1178
|
-
liveId: streamId,
|
|
1179
|
-
rtmpAddr
|
|
1180
|
-
};
|
|
1181
|
-
return rtcsdk.sendRecordingMsg(rtcParams);
|
|
1182
|
-
case ZEGO:
|
|
1183
|
-
const zego = window.zbyAVSDK_init_params.zego;
|
|
1184
|
-
let strTarget = `${zego.recordUrl}/${sid}`;
|
|
1185
|
-
if (seqNum) {
|
|
1186
|
-
strTarget += `?seqNum=${seqNum}`;
|
|
1187
|
-
}
|
|
1188
|
-
return zegosdk.singleRecord(type, strTarget, streamId);
|
|
1189
|
-
break;
|
|
1190
|
-
default:
|
|
1191
|
-
break;
|
|
1192
|
-
}
|
|
1193
|
-
};
|
|
1194
|
-
|
|
1195
|
-
/**
|
|
1196
|
-
* @function 单路录制
|
|
1197
|
-
* @param args:Object 必选
|
|
1198
|
-
* {
|
|
1199
|
-
* type:String 开始/结束, 对应取值start/stop,必选
|
|
1200
|
-
* groupId: String 分组id,可选,默认为 sdk初始化分组id
|
|
1201
|
-
* streamId: String 流id,必选
|
|
1202
|
-
* }
|
|
1203
|
-
* @return void
|
|
1204
|
-
*/
|
|
1205
|
-
export const recordPublishTarget = (args) => {
|
|
1206
|
-
const { type, groupId, streamId, userId } = args;
|
|
1207
|
-
const sid = `xrs51_${groupId}_${userId}`;
|
|
1208
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1209
|
-
case RTC:
|
|
1210
|
-
const { institutionId } = window.zby_sdk_init_params;
|
|
1211
|
-
const rtc = window.zbyAVSDK_init_params.rtc;
|
|
1212
|
-
const rtcParams = {
|
|
1213
|
-
cmd: type,
|
|
1214
|
-
confId: util.getConfId(institutionId, groupId),
|
|
1215
|
-
liveId: streamId,
|
|
1216
|
-
rtmpAddr: `rtmp://globalpush.aliyun.zhiboyun.eaydu.com/live_haibian/${streamId}`
|
|
1217
|
-
};
|
|
1218
|
-
return rtcsdk.sendRecordingMsg(rtcParams);
|
|
1219
|
-
case ZEGO:
|
|
1220
|
-
const zego = window.zbyAVSDK_init_params.zego;
|
|
1221
|
-
const strTarget = `rtmp://globalpush.aliyun.zhiboyun.eaydu.com/live_haibian/${streamId}`;
|
|
1222
|
-
zegosdk.singleRecord(type, strTarget, streamId);
|
|
1223
|
-
break;
|
|
1224
|
-
default:
|
|
1225
|
-
break;
|
|
1226
|
-
}
|
|
1227
|
-
};
|
|
1228
|
-
|
|
1229
|
-
export const getSnapshootId = (streamId) => {
|
|
1230
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1231
|
-
case RTC:
|
|
1232
|
-
if (rtcsdk.hasStream(streamId)) {
|
|
1233
|
-
return streamId;
|
|
1234
|
-
} else {
|
|
1235
|
-
defaultApi.writeLog(`zbyavsdk getSnapshootId , no streamId: ${streamId} in rtc room`);
|
|
1236
|
-
}
|
|
1237
|
-
break;
|
|
1238
|
-
case ZEGO:
|
|
1239
|
-
if (zegosdk.hasStream(streamId)) {
|
|
1240
|
-
return zegosdk.getChannelIndex(streamId);
|
|
1241
|
-
} else {
|
|
1242
|
-
defaultApi.writeLog(`zbyavsdk getSnapshootId , no streamId: ${streamId} in zego room`);
|
|
1243
|
-
}
|
|
1244
|
-
break;
|
|
1245
|
-
case TALRTC:
|
|
1246
|
-
if (talrtcsdk.hasStream(streamId)) {
|
|
1247
|
-
return talrtcsdk.getChannelIndex(streamId);
|
|
1248
|
-
} else {
|
|
1249
|
-
defaultApi.writeLog(`talrtcsdk getSnapshootId , no streamId: ${streamId} in talrtc room`);
|
|
1250
|
-
}
|
|
1251
|
-
default:
|
|
1252
|
-
break;
|
|
1253
|
-
}
|
|
1254
|
-
};
|
|
1255
|
-
|
|
1256
|
-
export const getAllChannelIndex = () => {
|
|
1257
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1258
|
-
case RTC:
|
|
1259
|
-
break;
|
|
1260
|
-
case ZEGO:
|
|
1261
|
-
return zegosdk.getAllChannelIndex();
|
|
1262
|
-
case TRTC:
|
|
1263
|
-
return trtcsdk.getAllChannelIndex();
|
|
1264
|
-
default:
|
|
1265
|
-
break;
|
|
1266
|
-
}
|
|
1267
|
-
};
|
|
1268
|
-
|
|
1269
|
-
/**
|
|
1270
|
-
* @function 设置摄像头参数(采集分辨率)
|
|
1271
|
-
* @param width:Number 分辨率宽,必选,推荐 1280
|
|
1272
|
-
* @param height:Number 分辨率高,必选,推荐 720
|
|
1273
|
-
* @param frameRate:Number 帧率,必选,推荐 15
|
|
1274
|
-
* @return Promise | void
|
|
1275
|
-
*/
|
|
1276
|
-
export const setCameraParams = (args) => {
|
|
1277
|
-
const { width, height, frameRate } = args;
|
|
1278
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1279
|
-
case RTC:
|
|
1280
|
-
return rtcsdk.setCameraParam(width, height, frameRate);
|
|
1281
|
-
case ZEGO:
|
|
1282
|
-
return zegosdk.setCameraParam(width, height);
|
|
1283
|
-
case TALRTC:
|
|
1284
|
-
return talrtcsdk.setCameraCaptureResolution(width, height);
|
|
1285
|
-
case TRTC:
|
|
1286
|
-
return trtcsdk.setCameraCaptureResolution(width, height);
|
|
1287
|
-
default:
|
|
1288
|
-
break;
|
|
1289
|
-
}
|
|
1290
|
-
};
|
|
1291
|
-
|
|
1292
|
-
/**
|
|
1293
|
-
* @function 设置编码分辨率
|
|
1294
|
-
* @param width:Number 分辨率宽,必选,推荐 1280
|
|
1295
|
-
* @param height:Number 分辨率高,必选,推荐 720
|
|
1296
|
-
* @param frameRate:Number 帧率,必选,推荐 15
|
|
1297
|
-
* @return Promise | void
|
|
1298
|
-
*/
|
|
1299
|
-
export const setEncodeParams = (args) => {
|
|
1300
|
-
const { width, height, frameRate } = args;
|
|
1301
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1302
|
-
case RTC:
|
|
1303
|
-
return rtcsdk.setEncodeParam(width, height, frameRate);
|
|
1304
|
-
case ZEGO:
|
|
1305
|
-
return zegosdk.setVideoEncodeResolution(width, height);
|
|
1306
|
-
case TALRTC:
|
|
1307
|
-
return talrtcsdk.setCameraEncodeFps(frameRate) && talrtcsdk.setCameraEncodeResolution(width, height);
|
|
1308
|
-
case TRTC:
|
|
1309
|
-
return zegosdk.setVideoEncodeResolution(width, height);
|
|
1310
|
-
default:
|
|
1311
|
-
break;
|
|
1312
|
-
}
|
|
1313
|
-
};
|
|
1314
|
-
|
|
1315
|
-
/**
|
|
1316
|
-
* @function 设置码率
|
|
1317
|
-
* @param bitrate:Number 码率,必选,推荐 15
|
|
1318
|
-
* @return Promise | void
|
|
1319
|
-
*/
|
|
1320
|
-
export const setBitRate = (bitrate) => {
|
|
1321
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1322
|
-
case RTC:
|
|
1323
|
-
return rtcsdk.setBitRate(bitrate);
|
|
1324
|
-
case ZEGO:
|
|
1325
|
-
return zegosdk.setVideoBitrate(bitrate);
|
|
1326
|
-
case TALRTC:
|
|
1327
|
-
return talrtcsdk.setCameraEncodeBitrate(bitrate);
|
|
1328
|
-
case TRTC:
|
|
1329
|
-
return trtcsdk.setCameraEncodeBiarate(bitrate);
|
|
1330
|
-
default:
|
|
1331
|
-
break;
|
|
1332
|
-
}
|
|
1333
|
-
};
|
|
1334
|
-
|
|
1335
|
-
/**
|
|
1336
|
-
* @function 本地视频录制
|
|
1337
|
-
* @param type 开始/结束
|
|
1338
|
-
* @param path 录制路径
|
|
1339
|
-
* @return Promise | void
|
|
1340
|
-
*/
|
|
1341
|
-
export const localRecordVideo = (type, path) => {
|
|
1342
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1343
|
-
case RTC:
|
|
1344
|
-
rtcsdk.localRecordVideo(type, path);
|
|
1345
|
-
break;
|
|
1346
|
-
case ZEGO:
|
|
1347
|
-
zegosdk.localRecordVideo(type, path);
|
|
1348
|
-
break;
|
|
1349
|
-
case TALRTC:
|
|
1350
|
-
talrtcsdk.localRecordVideo(type, path);
|
|
1351
|
-
break;
|
|
1352
|
-
default:
|
|
1353
|
-
break;
|
|
1354
|
-
}
|
|
1355
|
-
};
|
|
1356
|
-
|
|
1357
|
-
/**
|
|
1358
|
-
* @function 本地音频录制
|
|
1359
|
-
* @param type 开始/结束
|
|
1360
|
-
* @param path 录制路径
|
|
1361
|
-
* @return Promise | void
|
|
1362
|
-
*/
|
|
1363
|
-
export const localRecordAudio = (type, path) => {
|
|
1364
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1365
|
-
case RTC:
|
|
1366
|
-
rtcsdk.localRecordAudio(type, path);
|
|
1367
|
-
break;
|
|
1368
|
-
case ZEGO:
|
|
1369
|
-
zegosdk.localRecordAudio(type, path);
|
|
1370
|
-
break;
|
|
1371
|
-
case TALRTC:
|
|
1372
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1373
|
-
break;
|
|
1374
|
-
default:
|
|
1375
|
-
break;
|
|
1376
|
-
}
|
|
1377
|
-
};
|
|
1378
|
-
|
|
1379
|
-
/**
|
|
1380
|
-
* @function 设置采集扬声器声音
|
|
1381
|
-
* @param { string } deviceId 设备id
|
|
1382
|
-
* @param {boolean} speaker 采集扬声器声音=true/不采集=false
|
|
1383
|
-
* @return void
|
|
1384
|
-
*/
|
|
1385
|
-
export const setSpeakerCapture = (deviceId,speaker) => {
|
|
1386
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1387
|
-
case RTC:
|
|
1388
|
-
return rtcsdk.setAudioSpeakerCapture(deviceId,speaker);
|
|
1389
|
-
case ZEGO:
|
|
1390
|
-
return zegosdk.setAudioSpeakerCapture(speaker);
|
|
1391
|
-
case TALRTC:
|
|
1392
|
-
return talrtcsdk.enableAudioSpeakerCapture(speaker);
|
|
1393
|
-
case TRTC:
|
|
1394
|
-
return trtcsdk.setAudioSpeakerCapture(speaker);
|
|
1395
|
-
default:
|
|
1396
|
-
break;
|
|
1397
|
-
}
|
|
1398
|
-
};
|
|
1399
|
-
|
|
1400
|
-
/**
|
|
1401
|
-
* @function 设置混流和背景色
|
|
1402
|
-
* @param { boolean } type true=开启/false=关闭
|
|
1403
|
-
* @param { number } id 需要混合的采集器id
|
|
1404
|
-
* @param { object } rgb
|
|
1405
|
-
* @param { number } rgb.r
|
|
1406
|
-
* @param { number } rgb.g
|
|
1407
|
-
* @param { number } rgb.b
|
|
1408
|
-
* @return: Promise
|
|
1409
|
-
*/
|
|
1410
|
-
export const setMixStream = (type, id, rgb) => {
|
|
1411
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1412
|
-
case RTC:
|
|
1413
|
-
return rtcsdk.setMixStream(type, id, rgb);
|
|
1414
|
-
case ZEGO:
|
|
1415
|
-
break;
|
|
1416
|
-
case TALRTC:
|
|
1417
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1418
|
-
break;
|
|
1419
|
-
default:
|
|
1420
|
-
break;
|
|
1421
|
-
};
|
|
1422
|
-
};
|
|
1423
|
-
/**
|
|
1424
|
-
* @function 采集器截图
|
|
1425
|
-
* @param { string } fileName 文件名,需要后缀名。例如:333.jpg
|
|
1426
|
-
* @return: Promise
|
|
1427
|
-
*/
|
|
1428
|
-
export const captureSnapShot = (fileName) => {
|
|
1429
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1430
|
-
case RTC:
|
|
1431
|
-
return rtcsdk.captureSnapShot(fileName);
|
|
1432
|
-
case ZEGO:
|
|
1433
|
-
break;
|
|
1434
|
-
case TALRTC:
|
|
1435
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1436
|
-
break;
|
|
1437
|
-
default:
|
|
1438
|
-
break;
|
|
1439
|
-
}
|
|
1440
|
-
};
|
|
1441
|
-
/**
|
|
1442
|
-
* @function 播放器截图
|
|
1443
|
-
* @param { string } fileName 文件名,需要后缀名。例如:333.jpg
|
|
1444
|
-
* @return: Promise
|
|
1445
|
-
*/
|
|
1446
|
-
export const playerSnapShot = (id, fileName) => {
|
|
1447
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1448
|
-
case RTC:
|
|
1449
|
-
return rtcsdk.playerSnapShot(id, fileName);
|
|
1450
|
-
case ZEGO:
|
|
1451
|
-
break;
|
|
1452
|
-
case TALRTC:
|
|
1453
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1454
|
-
break;
|
|
1455
|
-
default:
|
|
1456
|
-
break;
|
|
1457
|
-
}
|
|
1458
|
-
};
|
|
1459
|
-
|
|
1460
|
-
/**
|
|
1461
|
-
* @function 设置打开/关闭摄像头
|
|
1462
|
-
* @param { boolean } type true=开启/false=关闭
|
|
1463
|
-
* @return: Promise
|
|
1464
|
-
*/
|
|
1465
|
-
export const openOrCloseCameraAndMicrophone = (type) => {
|
|
1466
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1467
|
-
case RTC:
|
|
1468
|
-
return rtcsdk.openOrCloseCameraAndMicrophone(type);
|
|
1469
|
-
case ZEGO:
|
|
1470
|
-
break;
|
|
1471
|
-
case TALRTC:
|
|
1472
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1473
|
-
break;
|
|
1474
|
-
default:
|
|
1475
|
-
break;
|
|
1476
|
-
}
|
|
1477
|
-
};
|
|
1478
|
-
|
|
1479
|
-
/**
|
|
1480
|
-
* @function 加载采集插件的输入数据 //调用后,zego 可以向采集插件传送摄像头数据,用于拼接
|
|
1481
|
-
* @return: Promise
|
|
1482
|
-
*/
|
|
1483
|
-
export const loadCollectionInputEntry = () => {
|
|
1484
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1485
|
-
case RTC:
|
|
1486
|
-
break;
|
|
1487
|
-
case ZEGO:
|
|
1488
|
-
return zegosdk.loadCollectionInputEntry();
|
|
1489
|
-
case TALRTC:
|
|
1490
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1491
|
-
break;
|
|
1492
|
-
default:
|
|
1493
|
-
break;
|
|
1494
|
-
}
|
|
1495
|
-
};
|
|
1496
|
-
|
|
1497
|
-
/**
|
|
1498
|
-
* @function 加载采集插件的输出数据 //调用后,采集插件向zego传送数据
|
|
1499
|
-
* @return: Promise
|
|
1500
|
-
*/
|
|
1501
|
-
export const loadCollectionOutputEntry = () => {
|
|
1502
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1503
|
-
case RTC:
|
|
1504
|
-
break;
|
|
1505
|
-
case ZEGO:
|
|
1506
|
-
return zegosdk.loadCollectionOutputEntry();
|
|
1507
|
-
case TALRTC:
|
|
1508
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1509
|
-
break;
|
|
1510
|
-
default:
|
|
1511
|
-
break;
|
|
1512
|
-
}
|
|
1513
|
-
};
|
|
1514
|
-
|
|
1515
|
-
export const mixedstuVideo = (stuArray) => {
|
|
1516
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1517
|
-
case RTC:
|
|
1518
|
-
return rtcsdk.rtcLoadCollectionEntry2(stuArray);
|
|
1519
|
-
case ZEGO:
|
|
1520
|
-
return zegosdk.loadCollectionInputEntry2(stuArray);
|
|
1521
|
-
case TALRTC:
|
|
1522
|
-
return talrtcsdk.loadCollectionInputEntry2(stuArray);
|
|
1523
|
-
default:
|
|
1524
|
-
break;
|
|
1525
|
-
}
|
|
1526
|
-
};
|
|
1527
|
-
|
|
1528
|
-
/**
|
|
1529
|
-
* @function 加载采集插件的输出数据 //调用后,zego 可以向采集插件传送摄像头数据,用于拼接
|
|
1530
|
-
* @return: Promise
|
|
1531
|
-
*/
|
|
1532
|
-
export const setCDNPublishTarget = (pRtmpUrl,idx) => {
|
|
1533
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1534
|
-
case RTC:
|
|
1535
|
-
break;
|
|
1536
|
-
case ZEGO:
|
|
1537
|
-
return rtcsdk.setCDNPublishTarget(pRtmpUrl,idx);
|
|
1538
|
-
case TALRTC:
|
|
1539
|
-
return talrtcsdk.addPublishRtmpStreamUrl(pRtmpUrl);
|
|
1540
|
-
default:
|
|
1541
|
-
break;
|
|
1542
|
-
}
|
|
1543
|
-
};
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
/**
|
|
1547
|
-
* @function 设置预览镜像状态
|
|
1548
|
-
* @param { boolean } type true=开启 false=关闭
|
|
1549
|
-
* @return: Promise
|
|
1550
|
-
*/
|
|
1551
|
-
export const setMirrorStatus = (type) => {
|
|
1552
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1553
|
-
case RTC:
|
|
1554
|
-
return rtcsdk.setMirrorStatus(type);
|
|
1555
|
-
case ZEGO:
|
|
1556
|
-
return zegosdk.setMirrorStatus(type);
|
|
1557
|
-
case TALRTC:
|
|
1558
|
-
return talrtcsdk.setMirrorStatus(type);
|
|
1559
|
-
default:
|
|
1560
|
-
break;
|
|
1561
|
-
}
|
|
1562
|
-
};
|
|
1563
|
-
|
|
1564
|
-
/**
|
|
1565
|
-
* @function 设置拉流镜像状态
|
|
1566
|
-
* @param { boolean } type true=开启 false=关闭
|
|
1567
|
-
* @return: Promise
|
|
1568
|
-
*/
|
|
1569
|
-
export const setPlayViewMirror = (type, id) => {
|
|
1570
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1571
|
-
case RTC:
|
|
1572
|
-
return rtcsdk.setRTCPlayViewMirror(type, id);
|
|
1573
|
-
case ZEGO:
|
|
1574
|
-
return zegosdk.setPlayViewMirror(type);
|
|
1575
|
-
case TALRTC:
|
|
1576
|
-
return talrtcsdk.setPlayViewMirror(type, id);
|
|
1577
|
-
default:
|
|
1578
|
-
break;
|
|
1579
|
-
}
|
|
1580
|
-
};
|
|
1581
|
-
|
|
1582
|
-
/**
|
|
1583
|
-
* @function 设置推流镜像状态
|
|
1584
|
-
* * @param { boolean } id 采集器Id
|
|
1585
|
-
* @param { boolean } mode 1=开启 0=关闭
|
|
1586
|
-
* @return: Promise
|
|
1587
|
-
*/
|
|
1588
|
-
export const setPushViewMirror = (mode) => {
|
|
1589
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1590
|
-
case RTC:
|
|
1591
|
-
return rtcsdk.setMirrorMode(mode);
|
|
1592
|
-
case ZEGO:
|
|
1593
|
-
return zegosdk.setVideoMirrorMode(mode);
|
|
1594
|
-
case TALRTC:
|
|
1595
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1596
|
-
break;
|
|
1597
|
-
default:
|
|
1598
|
-
break;
|
|
1599
|
-
}
|
|
1600
|
-
};
|
|
1601
|
-
|
|
1602
|
-
/**
|
|
1603
|
-
* @function 开启美颜
|
|
1604
|
-
* @param { boolean } type true=开启 false=关闭
|
|
1605
|
-
* @return: Promise
|
|
1606
|
-
*/
|
|
1607
|
-
export const startSenseMe = () => {
|
|
1608
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1609
|
-
case RTC:
|
|
1610
|
-
return rtcsdk.startSenseMe();
|
|
1611
|
-
case ZEGO:
|
|
1612
|
-
return zegosdk.startSenseMe();
|
|
1613
|
-
case TALRTC:
|
|
1614
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1615
|
-
break;
|
|
1616
|
-
default:
|
|
1617
|
-
break;
|
|
1618
|
-
}
|
|
1619
|
-
};
|
|
1620
|
-
|
|
1621
|
-
/**
|
|
1622
|
-
* @function 设置美颜参数
|
|
1623
|
-
* @param { boolean } type true=开启 false=关闭
|
|
1624
|
-
* @return: Promise
|
|
1625
|
-
*/
|
|
1626
|
-
export const setBeautifyParam = (type, value) => {
|
|
1627
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1628
|
-
case RTC:
|
|
1629
|
-
return rtcsdk.setBeautifyParam(type, value);
|
|
1630
|
-
case ZEGO:
|
|
1631
|
-
return zegosdk.setBeautifyParam(type, value);
|
|
1632
|
-
case TALRTC:
|
|
1633
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1634
|
-
break;
|
|
1635
|
-
default:
|
|
1636
|
-
break;
|
|
1637
|
-
}
|
|
1638
|
-
};
|
|
1639
|
-
|
|
1640
|
-
/**
|
|
1641
|
-
* @function 关闭美颜
|
|
1642
|
-
* @param { boolean } type true=开启 false=关闭
|
|
1643
|
-
* @return: Promise
|
|
1644
|
-
*/
|
|
1645
|
-
export const endSenseMe = () => {
|
|
1646
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1647
|
-
case RTC:
|
|
1648
|
-
return rtcsdk.endSenseMe();
|
|
1649
|
-
case ZEGO:
|
|
1650
|
-
return zegosdk.endSenseMe();
|
|
1651
|
-
case TALRTC:
|
|
1652
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1653
|
-
break;
|
|
1654
|
-
default:
|
|
1655
|
-
break;
|
|
1656
|
-
}
|
|
1657
|
-
};
|
|
1658
|
-
|
|
1659
|
-
/**
|
|
1660
|
-
* @function 40路混音
|
|
1661
|
-
* @param { number } mixMode //混流模式 0=关闭混流 1=开启混流
|
|
1662
|
-
* @param { array } streamIdArr //表示要突出声音的channel
|
|
1663
|
-
* @return: Promise
|
|
1664
|
-
*/
|
|
1665
|
-
export const setAudioMixMode = (mixMode, streamIdArr) => {
|
|
1666
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1667
|
-
case RTC:
|
|
1668
|
-
break;
|
|
1669
|
-
case ZEGO:
|
|
1670
|
-
return zegosdk.setAudioMixMode(mixMode, streamIdArr);
|
|
1671
|
-
case TALRTC:
|
|
1672
|
-
return talrtcsdk.setAudioMixMode(mixMode, streamIdArr);
|
|
1673
|
-
default:
|
|
1674
|
-
break;
|
|
1675
|
-
}
|
|
1676
|
-
};
|
|
1677
|
-
|
|
1678
|
-
//获取第三方底层流媒体版本号
|
|
1679
|
-
export const getSDKVersion = () => {
|
|
1680
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1681
|
-
case RTC:
|
|
1682
|
-
return rtcsdk.getSDKVersion();
|
|
1683
|
-
case ZEGO:
|
|
1684
|
-
return zegosdk.getSDKVersion();
|
|
1685
|
-
case TALRTC:
|
|
1686
|
-
const version = talrtcsdk.getSDKVersion();
|
|
1687
|
-
return { msg: `\"{'ret': '${version}'}\"` };
|
|
1688
|
-
default:
|
|
1689
|
-
break;
|
|
1690
|
-
}
|
|
1691
|
-
};
|
|
1692
|
-
|
|
1693
|
-
//获取摄像头所支持的分辨率
|
|
1694
|
-
export const getCameraSupportedResolution = async (deviceId) => {
|
|
1695
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1696
|
-
case RTC:
|
|
1697
|
-
return await rtcsdk.getCameraSupportedRes(deviceId);
|
|
1698
|
-
case ZEGO:
|
|
1699
|
-
return await zegosdk.getCameraSupportedRes(deviceId);
|
|
1700
|
-
case TALRTC:
|
|
1701
|
-
return await talrtcsdk.getCameraResolution(deviceId);
|
|
1702
|
-
case TRTC:
|
|
1703
|
-
return await trtcsdk.getCameraResolution(deviceId);
|
|
1704
|
-
default:
|
|
1705
|
-
break;
|
|
1706
|
-
}
|
|
1707
|
-
};
|
|
1708
|
-
|
|
1709
|
-
/**
|
|
1710
|
-
* @function 发送SEI
|
|
1711
|
-
* @return: Promise
|
|
1712
|
-
*/
|
|
1713
|
-
export const sendMediaSideInfo = (info) => {
|
|
1714
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1715
|
-
case RTC:
|
|
1716
|
-
break;
|
|
1717
|
-
case ZEGO:
|
|
1718
|
-
return zegosdk.sendMediaSideInfo(info);
|
|
1719
|
-
case TALRTC:
|
|
1720
|
-
return talrtcsdk.sendSEIMsg(info);
|
|
1721
|
-
case TRTC:
|
|
1722
|
-
return trtcsdk.sendSEIMsg(info);
|
|
1723
|
-
default:
|
|
1724
|
-
break;
|
|
1725
|
-
}
|
|
1726
|
-
};
|
|
1727
|
-
/**
|
|
1728
|
-
* @function 开启rtc同屏
|
|
1729
|
-
* @return: Promise
|
|
1730
|
-
*/
|
|
1731
|
-
export const startMultiScreen = () => {
|
|
1732
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1733
|
-
case RTC:
|
|
1734
|
-
break;
|
|
1735
|
-
case ZEGO:
|
|
1736
|
-
return zegosdk.startMultiScreen();
|
|
1737
|
-
case TALRTC:
|
|
1738
|
-
return talrtcsdk.startMultiScreen();
|
|
1739
|
-
case TRTC:
|
|
1740
|
-
return trtcsdk.startMultiScreen();
|
|
1741
|
-
default:
|
|
1742
|
-
break;
|
|
1743
|
-
}
|
|
1744
|
-
};
|
|
1745
|
-
/**
|
|
1746
|
-
* @function 开启rtc同屏
|
|
1747
|
-
* @return: Promise
|
|
1748
|
-
*/
|
|
1749
|
-
export const enableHighlight = (enable) => {
|
|
1750
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1751
|
-
case RTC:
|
|
1752
|
-
break;
|
|
1753
|
-
case ZEGO:
|
|
1754
|
-
break;
|
|
1755
|
-
case TRTC:
|
|
1756
|
-
return trtcsdk.enableHighlight(enable);
|
|
1757
|
-
default:
|
|
1758
|
-
break;
|
|
1759
|
-
}
|
|
1760
|
-
};
|
|
1761
|
-
/**
|
|
1762
|
-
* @function 开启音频外部采集
|
|
1763
|
-
* @return: Promise
|
|
1764
|
-
*/
|
|
1765
|
-
export const startAudioExCapture = () => {
|
|
1766
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1767
|
-
case RTC:
|
|
1768
|
-
break;
|
|
1769
|
-
case ZEGO:
|
|
1770
|
-
return zegosdk.startAudioExCapture(1);
|
|
1771
|
-
case TALRTC:
|
|
1772
|
-
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1773
|
-
break;
|
|
1774
|
-
default:
|
|
1775
|
-
break;
|
|
1776
|
-
}
|
|
1777
|
-
};
|
|
1778
|
-
|
|
1779
|
-
/**
|
|
1780
|
-
* @function 开启音频外部采集
|
|
1781
|
-
* @return: Promise
|
|
1782
|
-
*/
|
|
1783
|
-
export const setAUXAudioType = (type) => {
|
|
1784
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1785
|
-
case RTC:
|
|
1786
|
-
break;
|
|
1787
|
-
case ZEGO:
|
|
1788
|
-
return zegosdk.setAUXAudioType(type);
|
|
1789
|
-
case TALRTC:
|
|
1790
|
-
return talrtcsdk.setAudioType(type);
|
|
1791
|
-
default:
|
|
1792
|
-
break;
|
|
1793
|
-
}
|
|
1794
|
-
};
|
|
1795
|
-
|
|
1796
|
-
/**
|
|
1797
|
-
* @function 判断推流类型
|
|
1798
|
-
* @return: Promise
|
|
1799
|
-
*/
|
|
1800
|
-
export const getStreamType_zego = () => {
|
|
1801
|
-
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1802
|
-
case RTC:
|
|
1803
|
-
break;
|
|
1804
|
-
case ZEGO:
|
|
1805
|
-
return zegosdk.getStreamType();
|
|
1806
|
-
default:
|
|
1807
|
-
break;
|
|
1808
|
-
}
|
|
1809
|
-
};
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
export default {
|
|
1813
|
-
init,
|
|
1814
|
-
recoverSdk,
|
|
1815
|
-
deviceCheckerInit,
|
|
1816
|
-
stopCheckDevice,
|
|
1817
|
-
changeSDK,
|
|
1818
|
-
unloadExtension,
|
|
1819
|
-
startPushFlow,
|
|
1820
|
-
stopPushFlow,
|
|
1821
|
-
initPullFlow,
|
|
1822
|
-
startPullFlow,
|
|
1823
|
-
stopPullFlow,
|
|
1824
|
-
stopAllPullFlow,
|
|
1825
|
-
playDestroy,
|
|
1826
|
-
changePullFlow,
|
|
1827
|
-
getCameraDeviceList,
|
|
1828
|
-
setCameraDevice,
|
|
1829
|
-
openOrCloseCamera,
|
|
1830
|
-
startPreview,
|
|
1831
|
-
stopPreview,
|
|
1832
|
-
getOrLocateVideo,
|
|
1833
|
-
getSpeakerDeviceList,
|
|
1834
|
-
setSpeakerDevice,
|
|
1835
|
-
getSpeakerVolume,
|
|
1836
|
-
setSpeakerVolume,
|
|
1837
|
-
setSpeakerMute,
|
|
1838
|
-
getAppVolume,
|
|
1839
|
-
setAppVolume,
|
|
1840
|
-
setAppMute,
|
|
1841
|
-
getMicrophoneDeviceList,
|
|
1842
|
-
setMicrophoneDevice,
|
|
1843
|
-
openOrCloseMicrophone,
|
|
1844
|
-
getMicrophoneVolume,
|
|
1845
|
-
setMicrophoneVolume,
|
|
1846
|
-
setMicrophoneMute,
|
|
1847
|
-
leaveRoom,
|
|
1848
|
-
turnPush,
|
|
1849
|
-
setAudioMute,
|
|
1850
|
-
pullAudioFlow,
|
|
1851
|
-
setVideoMute,
|
|
1852
|
-
openMicVolumeCb,
|
|
1853
|
-
startMixtStream,
|
|
1854
|
-
stopMixtStream,
|
|
1855
|
-
singleRecord,
|
|
1856
|
-
getSnapshootId,
|
|
1857
|
-
setCameraParams,
|
|
1858
|
-
setEncodeParams,
|
|
1859
|
-
setBitRate,
|
|
1860
|
-
recordPublishTarget,
|
|
1861
|
-
localRecordVideo,
|
|
1862
|
-
localRecordAudio,
|
|
1863
|
-
teacherStartLinkMic,
|
|
1864
|
-
teacherStopLinkMic,
|
|
1865
|
-
setSpeakerCapture,
|
|
1866
|
-
setMixStream,
|
|
1867
|
-
captureSnapShot,
|
|
1868
|
-
playerSnapShot,
|
|
1869
|
-
openOrCloseCameraAndMicrophone,
|
|
1870
|
-
setMirrorStatus,
|
|
1871
|
-
getStreamType_zego,
|
|
1872
|
-
startSenseMe,
|
|
1873
|
-
setBeautifyParam,
|
|
1874
|
-
endSenseMe,
|
|
1875
|
-
setPlayViewMirror,
|
|
1876
|
-
setPushStreamVideo,
|
|
1877
|
-
getSDKVersion,
|
|
1878
|
-
getCameraSupportedResolution,
|
|
1879
|
-
setAudioMixMode,
|
|
1880
|
-
setPushViewMirror,
|
|
1881
|
-
deinit,
|
|
1882
|
-
startMultiScreen,
|
|
1883
|
-
getAllChannelIndex,
|
|
1884
|
-
startAudioExCapture,
|
|
1885
|
-
startSoundLevelMonitor,
|
|
1886
|
-
sendMediaSideInfo,
|
|
1887
|
-
enableHighlight,
|
|
1888
|
-
setAUXAudioType,
|
|
1889
|
-
mixedstuVideo
|
|
1890
|
-
// getDeviceState
|
|
1891
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* @File: 直播云音视频 SDK
|
|
3
|
+
* @Author: xuyuanrui
|
|
4
|
+
* @Email: raywhbxyr@163.com
|
|
5
|
+
* @Date: 2018-08-09 00:03:46
|
|
6
|
+
**/
|
|
7
|
+
|
|
8
|
+
import rtcsdk from './rtc-sdk.js';
|
|
9
|
+
import zegosdk from './zego-sdk.js';
|
|
10
|
+
import talrtcsdk from './talrtc-sdk.js';
|
|
11
|
+
import trtcsdk from './trtc-sdk.js';
|
|
12
|
+
import defaultApi from '../default';
|
|
13
|
+
import util from '../util/util';
|
|
14
|
+
const RTC = 'rtc';
|
|
15
|
+
const ZEGO = 'zego';
|
|
16
|
+
const TALRTC = 'talrtc';
|
|
17
|
+
const TRTC = 'trtc';
|
|
18
|
+
// rtc 底层流媒体数据上报地址配置
|
|
19
|
+
const rtcReportUrl = {
|
|
20
|
+
test: 'test-r.weclassroom.com',
|
|
21
|
+
online: 'r.weclassroom.com'
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @function 设备检测初始化
|
|
26
|
+
*/
|
|
27
|
+
// export const deviceCheckerInit = async (extension, env) => {
|
|
28
|
+
// await rtcsdk.loadRtc(extension.version.rtc);
|
|
29
|
+
// // if (env) {
|
|
30
|
+
// // await rtcsdk.setEventReportSvr(rtcReportUrl[env]);
|
|
31
|
+
// // }
|
|
32
|
+
// let streamId = 'deviceCheckerInit';
|
|
33
|
+
// await rtcsdk.createRtcCapture(streamId);
|
|
34
|
+
// await rtcsdk.setCaptureRenderID(streamId);
|
|
35
|
+
// await rtcsdk.setCaptureStreamId(streamId);
|
|
36
|
+
// await rtcsdk.setCameraParam(320, 240, 15);
|
|
37
|
+
// await rtcsdk.setBitRate(100000);
|
|
38
|
+
// await rtcsdk.setPreviewMute(true);
|
|
39
|
+
// await rtcsdk.muteLocalVideo(true);
|
|
40
|
+
// await rtcsdk.startPreview();
|
|
41
|
+
// setDefaultZbySDKDeviceCheckerInit();
|
|
42
|
+
// window.zbyAVSDK_init_sdk_type = 'rtc';
|
|
43
|
+
// defaultApi.writeLog('change zbyAVSDK_init_sdk_type to rtc , from avsdk device check init');
|
|
44
|
+
// };
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @function 设备检测初始化(新)
|
|
48
|
+
*/
|
|
49
|
+
export const deviceCheckerInit = async (extension, env) => {
|
|
50
|
+
setDefaultZbySDKDeviceCheckerInit();
|
|
51
|
+
await zegosdk.loadZego(extension.version.zego);
|
|
52
|
+
//此时课堂外端上无法获取roomid,假数据模拟,待确定userId-万一重复(不推流)
|
|
53
|
+
zegosdk.addListener('deviceCheckerInit')
|
|
54
|
+
await zegosdk.startEngine(2646760764,'/XpDtuxpv4TrBoNTozIs6waxK6LF/mGZK0jVYo003Ws=')//也是需要参数的,还要区分测试环境和线上环境
|
|
55
|
+
await zegosdk.setVideoCaptureResolution(320, 240);
|
|
56
|
+
await zegosdk.setVideoBitrate(100000);
|
|
57
|
+
await zegosdk.setVideoFPS(15);
|
|
58
|
+
await zegosdk.startSoundLevelMonitor();
|
|
59
|
+
await zegosdk.setSoundLevelMonitorCycle(500);
|
|
60
|
+
let isDeviceCheckInitFinished = zegosdk.getDeviceCheckInitStatus();
|
|
61
|
+
if(isDeviceCheckInitFinished) {
|
|
62
|
+
zegosdk.setDeviceCheckInitStatus();
|
|
63
|
+
window.zbyAVSDK_init_sdk_type = 'zego';
|
|
64
|
+
defaultApi.writeLog('isDeviceCheckInitFinished1',isDeviceCheckInitFinished)
|
|
65
|
+
} else {
|
|
66
|
+
await new Promise((resolve, reject) => {
|
|
67
|
+
let timer = null;
|
|
68
|
+
timer = setInterval(() => {
|
|
69
|
+
isDeviceCheckInitFinished = zegosdk.getDeviceCheckInitStatus();
|
|
70
|
+
defaultApi.writeLog('isDeviceCheckInitFinished2',isDeviceCheckInitFinished)
|
|
71
|
+
if (isDeviceCheckInitFinished) {
|
|
72
|
+
zegosdk.setDeviceCheckInitStatus();
|
|
73
|
+
clearInterval(timer);
|
|
74
|
+
resolve();
|
|
75
|
+
}
|
|
76
|
+
defaultApi.writeLog('isDeviceCheckInitFinished3',isDeviceCheckInitFinished)
|
|
77
|
+
}, 30);
|
|
78
|
+
});
|
|
79
|
+
window.zbyAVSDK_init_sdk_type = 'zego';
|
|
80
|
+
}
|
|
81
|
+
defaultApi.writeLog('change zbyAVSDK_init_sdk_type to rtc , from avsdk device check init');
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* @function 设置设备检测对象默认值
|
|
86
|
+
*/
|
|
87
|
+
export const setDefaultZbySDKDeviceCheckerInit = async () => {
|
|
88
|
+
if(window.zbyAVSDK_device_checker_init){
|
|
89
|
+
if(!window.zbyAVSDK_device_checker_init.microphone){
|
|
90
|
+
window.zbyAVSDK_device_checker_init.microphone = {
|
|
91
|
+
hasTest: false,
|
|
92
|
+
list: [],
|
|
93
|
+
use: '',
|
|
94
|
+
name:''
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
if(!window.zbyAVSDK_device_checker_init.camera){
|
|
98
|
+
window.zbyAVSDK_device_checker_init.camera = {
|
|
99
|
+
hasTest: false,
|
|
100
|
+
list: [],
|
|
101
|
+
use: '',
|
|
102
|
+
name: ''
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
if(!window.zbyAVSDK_device_checker_init.speaker){
|
|
106
|
+
window.zbyAVSDK_device_checker_init.speaker = {
|
|
107
|
+
hasTest: false,
|
|
108
|
+
list: [],
|
|
109
|
+
use: '',
|
|
110
|
+
name: ''
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
} else {
|
|
114
|
+
window.zbyAVSDK_device_checker_init = {
|
|
115
|
+
microphone: {
|
|
116
|
+
hasTest: false,
|
|
117
|
+
list: [],
|
|
118
|
+
use: '',
|
|
119
|
+
name: ''
|
|
120
|
+
},
|
|
121
|
+
camera: {
|
|
122
|
+
hasTest: false,
|
|
123
|
+
list: [],
|
|
124
|
+
use: '',
|
|
125
|
+
name: ''
|
|
126
|
+
},
|
|
127
|
+
speaker: {
|
|
128
|
+
hasTest: false,
|
|
129
|
+
list: [],
|
|
130
|
+
use: '',
|
|
131
|
+
name: ''
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
// window.zbyAVSDK_device_checker_init = window.zbyAVSDK_device_checker_init || {
|
|
136
|
+
// window.zbyAVSDK_device_checker_init = {
|
|
137
|
+
// microphone: {
|
|
138
|
+
// hasTest: false,
|
|
139
|
+
// list: [],
|
|
140
|
+
// use: ''
|
|
141
|
+
// },
|
|
142
|
+
// camera: {
|
|
143
|
+
// hasTest: false,
|
|
144
|
+
// list: [],
|
|
145
|
+
// use: ''
|
|
146
|
+
// },
|
|
147
|
+
// speaker: {
|
|
148
|
+
// hasTest: false,
|
|
149
|
+
// list: [],
|
|
150
|
+
// use: ''
|
|
151
|
+
// }
|
|
152
|
+
// };
|
|
153
|
+
defaultApi.writeLog(`setDefaultZbySDKDeviceCheckerInit, ${window.zbyAVSDK_device_checker_init}`);
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
// /**
|
|
157
|
+
// * @function 结束设备检测
|
|
158
|
+
// */
|
|
159
|
+
// export const stopCheckDevice = async () => {
|
|
160
|
+
// defaultApi.writeLog('zby_av_sdk stop checkDevice');
|
|
161
|
+
// return rtcsdk.stopCheckDevice();
|
|
162
|
+
// };
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* @function 结束设备检测
|
|
166
|
+
*/
|
|
167
|
+
export const stopCheckDevice = async () => {
|
|
168
|
+
defaultApi.writeLog('zby_av_sdk stop checkDevice');
|
|
169
|
+
return zegosdk.stopCheckDevice();
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* @function 初始化
|
|
175
|
+
* @param sdk_type:String 'rtc' | 'zego' | 'agora',必选
|
|
176
|
+
* @param args:Object 必选
|
|
177
|
+
* {
|
|
178
|
+
* rtc: {},
|
|
179
|
+
* zego: {},
|
|
180
|
+
* agora: {}
|
|
181
|
+
* }
|
|
182
|
+
* @return Promise | void
|
|
183
|
+
*/
|
|
184
|
+
export const init = (sdk_type, args) => {
|
|
185
|
+
// 将初始化参数存储到全局
|
|
186
|
+
window.zbyAVSDK_init_sdk_type = sdk_type;
|
|
187
|
+
defaultApi.writeLog(`change zbyAVSDK_init_sdk_type to ${sdk_type} , from avsdk init action`);
|
|
188
|
+
window.zbyAVSDK_init_params = args;
|
|
189
|
+
setDefaultZbySDKDeviceCheckerInit();
|
|
190
|
+
|
|
191
|
+
return changeSDK(undefined);
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* @function 恢复sdk
|
|
196
|
+
*/
|
|
197
|
+
export const recoverSdk = (args) => {
|
|
198
|
+
window.zbyAVSDK_init_params = args;
|
|
199
|
+
const config = window.zbyAVSDK_init_params[window.zbyAVSDK_init_sdk_type];
|
|
200
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
201
|
+
case RTC:
|
|
202
|
+
return rtcsdk.recoverSdk(config);
|
|
203
|
+
case ZEGO:
|
|
204
|
+
// return zegosdk.recoverSdk(dealSDKMsg);
|
|
205
|
+
default:
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* @function 切换线路
|
|
212
|
+
* @param args:Object 可选
|
|
213
|
+
* {
|
|
214
|
+
* sdk_type, // String,'rtc' | 'zego' | 'agora',可选
|
|
215
|
+
* // 无传入的话,sdk 线路默认选择 window.zbyAVSDK_init_sdk_type
|
|
216
|
+
* config // Object,配置的参数对象,不同的线路参数对象不同,可选
|
|
217
|
+
* // 无传入的话,sdk 线路默认选择 window.zbyAVSDK_init_params 中相应线路的配置
|
|
218
|
+
* }
|
|
219
|
+
* @return Promise | void
|
|
220
|
+
*/
|
|
221
|
+
export const changeSDK = async (args) => {
|
|
222
|
+
if (args) {
|
|
223
|
+
rtcsdk.stopCheckDevice();
|
|
224
|
+
await leaveRoom().catch((err) => {
|
|
225
|
+
console.error('leave room fail:', err);
|
|
226
|
+
});
|
|
227
|
+
// await unloadExtension();
|
|
228
|
+
}
|
|
229
|
+
if (args && args.sdk_type) {
|
|
230
|
+
window.zbyAVSDK_init_sdk_type = args.sdk_type;
|
|
231
|
+
defaultApi.writeLog(`change zbyAVSDK_init_sdk_type to ${args.sdk_type} , from avsdk changeSDK action`);
|
|
232
|
+
}
|
|
233
|
+
if (args && args.config) {
|
|
234
|
+
window.zbyAVSDK_init_params[window.zbyAVSDK_init_sdk_type] = args.config;
|
|
235
|
+
}
|
|
236
|
+
const sdk_type = window.zbyAVSDK_init_sdk_type;
|
|
237
|
+
const config = window.zbyAVSDK_init_params[window.zbyAVSDK_init_sdk_type];
|
|
238
|
+
|
|
239
|
+
switch (sdk_type) {
|
|
240
|
+
case RTC:
|
|
241
|
+
return rtcsdk.init(config);
|
|
242
|
+
case ZEGO:
|
|
243
|
+
return zegosdk.init(config);
|
|
244
|
+
case TALRTC:
|
|
245
|
+
return talrtcsdk.init(config);
|
|
246
|
+
case TRTC:
|
|
247
|
+
return trtcsdk.init(config);
|
|
248
|
+
default:
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* @function 卸载扩展
|
|
256
|
+
* @return Promise | void
|
|
257
|
+
*/
|
|
258
|
+
export const unloadExtension = () => {
|
|
259
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
260
|
+
case RTC:
|
|
261
|
+
return rtcsdk.unloadRtc();
|
|
262
|
+
case ZEGO:
|
|
263
|
+
return zegosdk.unloadZego();
|
|
264
|
+
case TALRTC:
|
|
265
|
+
return talrtcsdk.unloadTalrtc();
|
|
266
|
+
case TRTC:
|
|
267
|
+
return trtcsdk.unloadTrtc();
|
|
268
|
+
default:
|
|
269
|
+
break;
|
|
270
|
+
}
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* @function 获取摄像头列表
|
|
275
|
+
* @return Promise | void
|
|
276
|
+
*/
|
|
277
|
+
export const getCameraDeviceList = async () => {
|
|
278
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
279
|
+
case RTC:
|
|
280
|
+
return await rtcsdk.getCameraDevice();
|
|
281
|
+
case ZEGO:
|
|
282
|
+
return await zegosdk.getVideoDeviceList();
|
|
283
|
+
case TALRTC:
|
|
284
|
+
return await talrtcsdk.getCameraDeviceList();
|
|
285
|
+
case TRTC:
|
|
286
|
+
return await trtcsdk.getCameraDeviceListTrtc();
|
|
287
|
+
default:
|
|
288
|
+
return await zegosdk.getVideoDeviceList();
|
|
289
|
+
break;
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* @function 指定摄像头
|
|
295
|
+
* @param deviceId:String 摄像头 id,必须
|
|
296
|
+
* @return Promise | void
|
|
297
|
+
*/
|
|
298
|
+
export const setCameraDevice = async (deviceId, operationType) => {
|
|
299
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
300
|
+
case RTC:
|
|
301
|
+
return await rtcsdk.setCameraDevice({deviceId, operationType});
|
|
302
|
+
case ZEGO:
|
|
303
|
+
return await zegosdk.setVideoDevice({deviceId, operationType});
|
|
304
|
+
case TALRTC:
|
|
305
|
+
return await talrtcsdk.setCameraDevice({ deviceId });
|
|
306
|
+
case TRTC:
|
|
307
|
+
return await trtcsdk.setVideoDevice({deviceId});
|
|
308
|
+
default:
|
|
309
|
+
break;
|
|
310
|
+
}
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* @function 开摄像/关摄像
|
|
315
|
+
* @param operation:Boolean 操作类型,false -> 关闭,true -> 打开,必选
|
|
316
|
+
* @return Promise | void
|
|
317
|
+
*/
|
|
318
|
+
export const openOrCloseCamera = (operation) => {
|
|
319
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
320
|
+
case RTC:
|
|
321
|
+
return rtcsdk.openOrCloseCamera(operation);
|
|
322
|
+
case ZEGO:
|
|
323
|
+
return zegosdk.enableCamera(operation);
|
|
324
|
+
case TALRTC:
|
|
325
|
+
return talrtcsdk.openOrCloseCamera(operation);
|
|
326
|
+
case TRTC:
|
|
327
|
+
return trtcsdk.openOrCloseCamera(operation);
|
|
328
|
+
default:
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
//是否推画面 false/不推 true/推
|
|
334
|
+
export const setPushStreamVideo = (operation) => {
|
|
335
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
336
|
+
case RTC:
|
|
337
|
+
return rtcsdk.muteStreamVideo(!operation);
|
|
338
|
+
case ZEGO:
|
|
339
|
+
return zegosdk.setMuteStreamVideo(!operation);
|
|
340
|
+
case TALRTC:
|
|
341
|
+
return talrtcsdk.muteLocalVideo(!operation);
|
|
342
|
+
case TRTC:
|
|
343
|
+
default:
|
|
344
|
+
break;
|
|
345
|
+
}
|
|
346
|
+
};
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* @function 是否推声音 ---暂时没有用到,未抛出去未测
|
|
351
|
+
* @param operation:Boolean 操作类型,false -> 关闭,true -> 打开,必选
|
|
352
|
+
* @return Promise | void
|
|
353
|
+
*/
|
|
354
|
+
export const setPushAudioMute = (operation) => {
|
|
355
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
356
|
+
case RTC:
|
|
357
|
+
return rtcsdk.muteStreamAudio(!operation);
|
|
358
|
+
case ZEGO:
|
|
359
|
+
return zegosdk.setMuteStreamAudio(!operation);
|
|
360
|
+
case TALRTC:
|
|
361
|
+
return talrtcsdk.muteLocalAudio(!operation);
|
|
362
|
+
case TRTC:
|
|
363
|
+
default:
|
|
364
|
+
break;
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* @function 开启预览
|
|
370
|
+
* @param operation:Boolean 操作类型,false -> 关闭,true -> 打开,必选
|
|
371
|
+
* @return Promise | void
|
|
372
|
+
*/
|
|
373
|
+
export const startPreview = (operation) => {
|
|
374
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
375
|
+
case RTC:
|
|
376
|
+
return rtcsdk.startPreview(operation);
|
|
377
|
+
case TALRTC:
|
|
378
|
+
return talrtcsdk.startPreview(operation);
|
|
379
|
+
case ZEGO:
|
|
380
|
+
case TRTC:
|
|
381
|
+
default:
|
|
382
|
+
break;
|
|
383
|
+
}
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* @function 结束预览
|
|
388
|
+
* @param operation:Boolean 操作类型,false -> 关闭,true -> 打开,必选
|
|
389
|
+
* @return Promise | void
|
|
390
|
+
*/
|
|
391
|
+
export const stopPreview = (operation) => {
|
|
392
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
393
|
+
case RTC:
|
|
394
|
+
return rtcsdk.stopPreview(operation);
|
|
395
|
+
case TALRTC:
|
|
396
|
+
return talrtcsdk.stopPreview(operation);
|
|
397
|
+
case ZEGO:
|
|
398
|
+
case TRTC:
|
|
399
|
+
default:
|
|
400
|
+
break;
|
|
401
|
+
}
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* @function 开始连麦
|
|
406
|
+
* @param mode:number 采集器默认, 默认0=站立 1=坐立
|
|
407
|
+
* @return Promise | void
|
|
408
|
+
*/
|
|
409
|
+
export const teacherStartLinkMic = (mode) => {
|
|
410
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
411
|
+
case RTC:
|
|
412
|
+
return rtcsdk.teacherStartLinkMic(mode);
|
|
413
|
+
case ZEGO:
|
|
414
|
+
return zegosdk.teacherStartLinkMic(mode);
|
|
415
|
+
case TALRTC:
|
|
416
|
+
return talrtcsdk.teacherStartLinkMic(mode);
|
|
417
|
+
case TRTC:
|
|
418
|
+
return trtcsdk.teacherStartLinkMic(mode)
|
|
419
|
+
default:
|
|
420
|
+
break;
|
|
421
|
+
}
|
|
422
|
+
};
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* @function 结束连麦
|
|
426
|
+
* @param mode:number 采集器默认, 默认0=站立 1=坐立
|
|
427
|
+
* @return Promise | void
|
|
428
|
+
*/
|
|
429
|
+
export const teacherStopLinkMic = (mode) => {
|
|
430
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
431
|
+
case RTC:
|
|
432
|
+
return rtcsdk.teacherStopLinkMic(mode);
|
|
433
|
+
case ZEGO:
|
|
434
|
+
return zegosdk.teacherStopLinkMic(mode);
|
|
435
|
+
case TALRTC:
|
|
436
|
+
return talrtcsdk.teacherStopLinkMic(mode);
|
|
437
|
+
case TRTC:
|
|
438
|
+
return trtcsdk.teacherStopLinkMic(mode);
|
|
439
|
+
default:
|
|
440
|
+
break;
|
|
441
|
+
}
|
|
442
|
+
};
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* @function 获取视频 src 或者将视频绑定到某一个 <video> 标签上
|
|
446
|
+
* @param args:Object
|
|
447
|
+
* {
|
|
448
|
+
* isLocal, // Boolean,是否是本地的视频预览
|
|
449
|
+
* streamId, // String,要拉取的视频流的 id,可选,只有拉取远程的视频流的时候才是必选的,本地不用
|
|
450
|
+
* domId // String,<video> 标签的 id,可选,如果传了就把视频绑定到对应的 <video> 标签上
|
|
451
|
+
* }
|
|
452
|
+
* @return Promise | void,可从 Promise 中获取 src,Promise.then((src) => {})
|
|
453
|
+
*/
|
|
454
|
+
export const getOrLocateVideo = (args) => {
|
|
455
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
456
|
+
case RTC:
|
|
457
|
+
return rtcsdk.startLocalOrRemotePreview(args.isLocal, args.streamId, args.domId);
|
|
458
|
+
case ZEGO:
|
|
459
|
+
return zegosdk.startLocalOrRemotePreview(args.isLocal, args.streamId, args.domId, args.isTeacherNewWindowPreview);
|
|
460
|
+
case TALRTC:
|
|
461
|
+
return talrtcsdk.startLocalOrRemotePreview(args.isLocal, args.streamId, args.domId, args.isTeacherNewWindowPreview);
|
|
462
|
+
case TRTC:
|
|
463
|
+
return trtcsdk.startLocalOrRemotePreview(args.isLocal, args.streamId, args.domId, args.isTeacherNewWindowPreview);
|
|
464
|
+
default:
|
|
465
|
+
return zegosdk.startLocalOrRemotePreview(args.isLocal, args.streamId, args.domId);
|
|
466
|
+
break;
|
|
467
|
+
}
|
|
468
|
+
};
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* @function 开始推流
|
|
472
|
+
* @return Promise | void
|
|
473
|
+
*/
|
|
474
|
+
export const startPushFlow = async (streamid, idx) => {
|
|
475
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
476
|
+
case RTC:
|
|
477
|
+
return await rtcsdk.startPush();
|
|
478
|
+
case ZEGO:
|
|
479
|
+
return await zegosdk.startPublish2(streamid, idx);
|
|
480
|
+
case TALRTC:
|
|
481
|
+
return await talrtcsdk.startPush(streamid); // 可能为空,函数内部有判断逻辑,为空时,根据规则生成streamId
|
|
482
|
+
case TRTC:
|
|
483
|
+
return await trtcsdk.startPush(streamid, idx);//流id需要做兼容处理
|
|
484
|
+
default:
|
|
485
|
+
break;
|
|
486
|
+
}
|
|
487
|
+
};
|
|
488
|
+
|
|
489
|
+
/**
|
|
490
|
+
* @function 暂停推流
|
|
491
|
+
* @return Promise | void
|
|
492
|
+
*/
|
|
493
|
+
export const stopPushFlow = (idx, streamId) => {
|
|
494
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
495
|
+
case RTC:
|
|
496
|
+
return rtcsdk.stopPush();
|
|
497
|
+
case ZEGO:
|
|
498
|
+
return zegosdk.stopPublish(idx);
|
|
499
|
+
case TALRTC:
|
|
500
|
+
return talrtcsdk.stopPush(streamId);
|
|
501
|
+
case TRTC:
|
|
502
|
+
return trtcsdk.stopPush(idx);
|
|
503
|
+
default:
|
|
504
|
+
break;
|
|
505
|
+
}
|
|
506
|
+
};
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
* @function 初始化拉流
|
|
510
|
+
* @param args:Object
|
|
511
|
+
* {
|
|
512
|
+
* streamId, // String,被拉取的流的 id,必选
|
|
513
|
+
* domId // String,<video> 标签的 id,可选,如果传了就把视频绑定到对应的 <video> 标签上
|
|
514
|
+
* }
|
|
515
|
+
* @return Promise | void,可从 Promise 中获取 src,Promise.then((src) => {})
|
|
516
|
+
*/
|
|
517
|
+
export const initPullFlow = (args) => {
|
|
518
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
519
|
+
case RTC:
|
|
520
|
+
//判断是否是M1设备
|
|
521
|
+
if (window.zby_isM1Type) {
|
|
522
|
+
return;
|
|
523
|
+
}
|
|
524
|
+
return {
|
|
525
|
+
sdk_type: RTC,
|
|
526
|
+
videoSrc: rtcsdk.initPullFlow(args.streamId, args.domId, args.mute, args.renderId, args.notAutoPlay, args.audioOnly, args.needScale, args.scaleParams, args.streamType)
|
|
527
|
+
};
|
|
528
|
+
case ZEGO:
|
|
529
|
+
return {
|
|
530
|
+
sdk_type: ZEGO,
|
|
531
|
+
videoSrc: zegosdk.initPullFlow(args.streamId, args.domId, args.mute, args.renderId, args.notAutoPlay, args.audioOnly)
|
|
532
|
+
};
|
|
533
|
+
case TALRTC:
|
|
534
|
+
return {
|
|
535
|
+
sdk_type: TALRTC,
|
|
536
|
+
videoSrc: talrtcsdk.initPullFlow(args.streamId, args.domId, args.mute, args.renderId, args.notAutoPlay, args.audioOnly)
|
|
537
|
+
};
|
|
538
|
+
case TRTC:
|
|
539
|
+
return {
|
|
540
|
+
sdk_type: TRTC,
|
|
541
|
+
videoSrc: trtcsdk.initPullFlow(args.streamId, args.domId, args.mute, args.renderId, args.notAutoPlay, args.audioOnly)
|
|
542
|
+
};
|
|
543
|
+
default:
|
|
544
|
+
break;
|
|
545
|
+
}
|
|
546
|
+
};
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* @function 恢复拉指定的流
|
|
550
|
+
* @param streamId:String 被拉取的流的 id,必选
|
|
551
|
+
* @return Promise | void
|
|
552
|
+
*/
|
|
553
|
+
export const startPullFlow = (streamId) => {
|
|
554
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
555
|
+
case RTC:
|
|
556
|
+
return rtcsdk.play(streamId);
|
|
557
|
+
case ZEGO:
|
|
558
|
+
return zegosdk.playStream(streamId);
|
|
559
|
+
case TALRTC:
|
|
560
|
+
return talrtcsdk.startPlay(streamId);
|
|
561
|
+
case TRTC:
|
|
562
|
+
return trtcsdk.startPlay(streamId);
|
|
563
|
+
default:
|
|
564
|
+
break;
|
|
565
|
+
}
|
|
566
|
+
};
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* @function 暂停拉指定的流
|
|
570
|
+
* @param streamId:String 被拉取的流的 id,必选
|
|
571
|
+
* @param recovery:Boolean 是否回收播放器, 可选
|
|
572
|
+
* @return Promise | void
|
|
573
|
+
*/
|
|
574
|
+
export const stopPullFlow = (streamId, recovery) => {
|
|
575
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
576
|
+
case RTC:
|
|
577
|
+
return rtcsdk.stop(streamId, recovery);
|
|
578
|
+
case ZEGO:
|
|
579
|
+
return zegosdk.stopPlayStream(streamId, recovery);
|
|
580
|
+
case TALRTC:
|
|
581
|
+
return talrtcsdk.stopPlay(streamId, recovery);
|
|
582
|
+
case TRTC:
|
|
583
|
+
return trtcsdk.stopPlay(streamId);
|
|
584
|
+
default:
|
|
585
|
+
break;
|
|
586
|
+
}
|
|
587
|
+
};
|
|
588
|
+
|
|
589
|
+
/**
|
|
590
|
+
* @function 暂停拉所有的流
|
|
591
|
+
* @return Promise | void
|
|
592
|
+
*/
|
|
593
|
+
export const stopAllPullFlow = (streamId, recovery) => {
|
|
594
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
595
|
+
case RTC:
|
|
596
|
+
return rtcsdk.stopAllPullFlow(streamId, recovery);
|
|
597
|
+
case ZEGO:
|
|
598
|
+
return zegosdk.stopAllPlayStream(streamId, recovery);
|
|
599
|
+
case TALRTC:
|
|
600
|
+
return talrtcsdk.stopPlayAll();
|
|
601
|
+
case TRTC:
|
|
602
|
+
return trtcsdk.stopPlayAll();
|
|
603
|
+
default:
|
|
604
|
+
break;
|
|
605
|
+
}
|
|
606
|
+
};
|
|
607
|
+
|
|
608
|
+
/**
|
|
609
|
+
* @function 销毁拉指定的流
|
|
610
|
+
* @param streamId:String 被拉取的流的 id,必选
|
|
611
|
+
* @return Promise | void
|
|
612
|
+
*/
|
|
613
|
+
export const playDestroy = (streamId) => {
|
|
614
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
615
|
+
case RTC:
|
|
616
|
+
return rtcsdk.playDestroy(streamId);
|
|
617
|
+
case ZEGO:
|
|
618
|
+
return zegosdk.stopPlayStream(streamId, true);
|
|
619
|
+
case TALRTC:
|
|
620
|
+
return talrtcsdk.stopPlay(streamId);
|
|
621
|
+
case TRTC:
|
|
622
|
+
return trtcsdk.stopPlay(streamId);
|
|
623
|
+
default:
|
|
624
|
+
break;
|
|
625
|
+
}
|
|
626
|
+
};
|
|
627
|
+
|
|
628
|
+
/**
|
|
629
|
+
* @function 切换播放流
|
|
630
|
+
* @param streamId:String 需要停止流的 id,必选
|
|
631
|
+
* @param toStreamId:String 被拉取的流的 id,必选
|
|
632
|
+
* @param toDomId:String <video> 标签的 id,可选
|
|
633
|
+
* @return Promise | void
|
|
634
|
+
*/
|
|
635
|
+
export const changePullFlow = (args) => {
|
|
636
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
637
|
+
case RTC:
|
|
638
|
+
return rtcsdk.changePullFlow(args.streamId, args.toStreamId, args.toDomId);
|
|
639
|
+
case ZEGO:
|
|
640
|
+
return zegosdk.changePullFlow(args.streamId, args.toStreamId, args.toDomId);
|
|
641
|
+
case TALRTC:
|
|
642
|
+
return talrtcsdk.changePullFlow(args.streamId, args.toStreamId, args.toDomId);
|
|
643
|
+
case TRTC:
|
|
644
|
+
default:
|
|
645
|
+
break;
|
|
646
|
+
}
|
|
647
|
+
};
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* @function 获取本地扬声器列表
|
|
651
|
+
* @return Promise | void
|
|
652
|
+
*/
|
|
653
|
+
export const getSpeakerDeviceList = async () => {
|
|
654
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
655
|
+
case RTC:
|
|
656
|
+
return await rtcsdk.getSpeakerDevice();
|
|
657
|
+
case ZEGO:
|
|
658
|
+
return await zegosdk.getSpeakerDeviceList();
|
|
659
|
+
case TALRTC:
|
|
660
|
+
return await talrtcsdk.getSpeakerDeviceList();
|
|
661
|
+
case TRTC:
|
|
662
|
+
return await trtcsdk.getSpeakerDeviceListTrtc();
|
|
663
|
+
default:
|
|
664
|
+
return await zegosdk.getSpeakerDeviceList();
|
|
665
|
+
break;
|
|
666
|
+
}
|
|
667
|
+
};
|
|
668
|
+
|
|
669
|
+
/**
|
|
670
|
+
* @function 指定扬声器
|
|
671
|
+
* @param deviceId:String 扬声器设备 id,必选
|
|
672
|
+
* @return Promise | void
|
|
673
|
+
*/
|
|
674
|
+
export const setSpeakerDevice = async (deviceId, operationType) => {
|
|
675
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
676
|
+
case RTC:
|
|
677
|
+
return await rtcsdk.setSpeakerDevice({speakId:deviceId, operationType});
|
|
678
|
+
case ZEGO:
|
|
679
|
+
return await zegosdk.setSpeakerDevice({deviceId, operationType});
|
|
680
|
+
case TALRTC:
|
|
681
|
+
return await talrtcsdk.setSpeakerDevice({ deviceId });
|
|
682
|
+
case TRTC:
|
|
683
|
+
return await trtcsdk.setSpeakerDevice({deviceId});
|
|
684
|
+
default:
|
|
685
|
+
break;
|
|
686
|
+
}
|
|
687
|
+
};
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
* @function 获取扬声器音量
|
|
691
|
+
* @return Promise | void
|
|
692
|
+
*/
|
|
693
|
+
export const getSpeakerVolume = async () => {
|
|
694
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
695
|
+
case RTC:
|
|
696
|
+
return JSON.parse((await rtcsdk.getSpeakerVolume()).msg).volume;
|
|
697
|
+
case ZEGO:
|
|
698
|
+
return JSON.parse((await zegosdk.getSpeakerDeviceVolume()).msg).ret;
|
|
699
|
+
case TALRTC:
|
|
700
|
+
return await talrtcsdk.getCurrentSpeakerVolume();
|
|
701
|
+
case TRTC:
|
|
702
|
+
return JSON.parse((await trtcsdk.getCurrentSpeakerVolume()).msg).speakerVolume;
|
|
703
|
+
default:
|
|
704
|
+
break;
|
|
705
|
+
}
|
|
706
|
+
};
|
|
707
|
+
|
|
708
|
+
/**
|
|
709
|
+
* @function 设置扬声器音量
|
|
710
|
+
* @param volume:Number 扬声器音量,必选,范围 [0, 100]
|
|
711
|
+
* @return Promise | void
|
|
712
|
+
*/
|
|
713
|
+
export const setSpeakerVolume = (volume) => {
|
|
714
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
715
|
+
case RTC:
|
|
716
|
+
return rtcsdk.setSpeakerVolume(volume);
|
|
717
|
+
case ZEGO:
|
|
718
|
+
return zegosdk.setSpeakerDeviceVolume(volume);
|
|
719
|
+
case TALRTC:
|
|
720
|
+
return talrtcsdk.setCurrentSpeakerVolume(volume);
|
|
721
|
+
case TRTC:
|
|
722
|
+
return trtcsdk.setCurrentSpeakerVolume(volume);
|
|
723
|
+
default:
|
|
724
|
+
break;
|
|
725
|
+
}
|
|
726
|
+
};
|
|
727
|
+
|
|
728
|
+
/**
|
|
729
|
+
* @function 控制扬声器是否静音
|
|
730
|
+
* @param mute:Boolean 是否静音,必选
|
|
731
|
+
* @return Promise | void
|
|
732
|
+
*/
|
|
733
|
+
export const setSpeakerMute = (mute) => {
|
|
734
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
735
|
+
case RTC:
|
|
736
|
+
return rtcsdk.setSpeakerMute(mute);
|
|
737
|
+
case ZEGO:
|
|
738
|
+
return zegosdk.setSpeakerDeviceMute(mute);
|
|
739
|
+
case TALRTC:
|
|
740
|
+
return talrtcsdk.setSpeakerDeviceMute(mute);
|
|
741
|
+
case TRTC:
|
|
742
|
+
default:
|
|
743
|
+
break;
|
|
744
|
+
}
|
|
745
|
+
};
|
|
746
|
+
|
|
747
|
+
/**
|
|
748
|
+
* @function 获取 App 应用音量
|
|
749
|
+
* @return Promise | void
|
|
750
|
+
*/
|
|
751
|
+
export const getAppVolume = () => {
|
|
752
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
753
|
+
case RTC:
|
|
754
|
+
return rtcsdk.getCurrentAppSessionVolume();
|
|
755
|
+
case ZEGO:
|
|
756
|
+
return zegosdk.getSpeakerSimpleVolume();
|
|
757
|
+
case TALRTC:
|
|
758
|
+
return talrtcsdk.getSpeakerSimpleVolume();
|
|
759
|
+
case TRTC:
|
|
760
|
+
default:
|
|
761
|
+
break;
|
|
762
|
+
}
|
|
763
|
+
};
|
|
764
|
+
|
|
765
|
+
/**
|
|
766
|
+
* @function 设置 App 应用音量
|
|
767
|
+
* @param volume:Number App 音量,必选,范围 [0, 100]
|
|
768
|
+
* @return Promise | void
|
|
769
|
+
*/
|
|
770
|
+
export const setAppVolume = (volume) => {
|
|
771
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
772
|
+
case RTC:
|
|
773
|
+
return rtcsdk.setCurrentAppSessionVolume(volume);
|
|
774
|
+
case ZEGO:
|
|
775
|
+
return zegosdk.setSpeakerSimpleVolume(volume);
|
|
776
|
+
// 由于 Agora 的 App 音量取值范围是 [0, 255],所以需要做比例兼容
|
|
777
|
+
// volume = Math.floor((volume / 100) * 255);
|
|
778
|
+
case TALRTC:
|
|
779
|
+
return talrtcsdk.setSpeakerSimpleVolume(volume);
|
|
780
|
+
case TRTC:
|
|
781
|
+
default:
|
|
782
|
+
break;
|
|
783
|
+
}
|
|
784
|
+
};
|
|
785
|
+
|
|
786
|
+
/**
|
|
787
|
+
* @function 设置 App 静音
|
|
788
|
+
* @param mute:Boolean 是否静音,必选
|
|
789
|
+
* @return Promise | void
|
|
790
|
+
*/
|
|
791
|
+
export const setAppMute = (mute) => {
|
|
792
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
793
|
+
case RTC:
|
|
794
|
+
return rtcsdk.setApplicationMute(mute);
|
|
795
|
+
case ZEGO:
|
|
796
|
+
return zegosdk.setSpeakerSimpleMute(mute);
|
|
797
|
+
case TALRTC:
|
|
798
|
+
return talrtcsdk.setSpeakerSimpleMute(mute);
|
|
799
|
+
case TRTC:
|
|
800
|
+
default:
|
|
801
|
+
break;
|
|
802
|
+
}
|
|
803
|
+
};
|
|
804
|
+
|
|
805
|
+
/**
|
|
806
|
+
* @function 获取麦克风列表
|
|
807
|
+
* @return Promise | void
|
|
808
|
+
*/
|
|
809
|
+
export const getMicrophoneDeviceList = async () => {
|
|
810
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
811
|
+
case RTC:
|
|
812
|
+
return await rtcsdk.getMicrophoneDevice();
|
|
813
|
+
case ZEGO:
|
|
814
|
+
return await zegosdk.getMicrophoneDeviceList();
|
|
815
|
+
case TALRTC:
|
|
816
|
+
return await talrtcsdk.getMicrophoneDeviceList();
|
|
817
|
+
case TRTC:
|
|
818
|
+
return await trtcsdk.getMicrophoneDeviceListTrtc();
|
|
819
|
+
default:
|
|
820
|
+
return await zegosdk.getMicrophoneDeviceList();
|
|
821
|
+
break;
|
|
822
|
+
}
|
|
823
|
+
};
|
|
824
|
+
|
|
825
|
+
/**
|
|
826
|
+
* @function 指定麦克风
|
|
827
|
+
* @param deviceId:String 麦克风 id,必须
|
|
828
|
+
* @return Promise | void
|
|
829
|
+
*/
|
|
830
|
+
export const setMicrophoneDevice = async (deviceId, operationType) => {
|
|
831
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
832
|
+
case RTC:
|
|
833
|
+
return await rtcsdk.setMicrophoneDevice({deviceId, operationType});
|
|
834
|
+
case ZEGO:
|
|
835
|
+
return await zegosdk.setMicrophoneDevice({deviceId, operationType});
|
|
836
|
+
case TALRTC:
|
|
837
|
+
return await talrtcsdk.setMicrophoneDevice({ deviceId, operationType });
|
|
838
|
+
case TRTC:
|
|
839
|
+
return await trtcsdk.setMicrophoneDevice({deviceId});
|
|
840
|
+
default:
|
|
841
|
+
break;
|
|
842
|
+
}
|
|
843
|
+
};
|
|
844
|
+
|
|
845
|
+
/**
|
|
846
|
+
* @function 开麦/禁麦
|
|
847
|
+
* @param operation:Boolean 操作类型,false -> 关闭,true -> 打开,必选
|
|
848
|
+
* @return Promise | void
|
|
849
|
+
*/
|
|
850
|
+
export const openOrCloseMicrophone = async (operation) => {
|
|
851
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
852
|
+
case RTC:
|
|
853
|
+
return await rtcsdk.setRealTimeAudioMute(!operation);
|
|
854
|
+
case ZEGO:
|
|
855
|
+
return await zegosdk.enableMic(operation);
|
|
856
|
+
case TALRTC:
|
|
857
|
+
return await talrtcsdk.openOrCloseMicrophone(operation);
|
|
858
|
+
case TRTC:
|
|
859
|
+
return await trtcsdk.openOrCloseMicrophone(operation);
|
|
860
|
+
default:
|
|
861
|
+
break;
|
|
862
|
+
}
|
|
863
|
+
};
|
|
864
|
+
|
|
865
|
+
/**
|
|
866
|
+
* @function 获取麦克风音量
|
|
867
|
+
* @return Promise | void
|
|
868
|
+
*/
|
|
869
|
+
export const getMicrophoneVolume = () => {
|
|
870
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
871
|
+
case RTC:
|
|
872
|
+
return rtcsdk.getMicrophoneVolume();
|
|
873
|
+
case ZEGO:
|
|
874
|
+
return zegosdk.getMicDeviceVolume();
|
|
875
|
+
case TALRTC:
|
|
876
|
+
return talrtcsdk.getCurrentMicrophoneVolume();
|
|
877
|
+
case TRTC:
|
|
878
|
+
return trtcsdk.getCurrentMicrophoneVolume();
|
|
879
|
+
default:
|
|
880
|
+
break;
|
|
881
|
+
}
|
|
882
|
+
};
|
|
883
|
+
|
|
884
|
+
/**
|
|
885
|
+
* @function 设置麦克风音量
|
|
886
|
+
* @param volume:Number App 音量,必选,范围 [0, 100]
|
|
887
|
+
* @param mute:Boolean 是否静音
|
|
888
|
+
* @return Promise | void
|
|
889
|
+
*/
|
|
890
|
+
export const setMicrophoneVolume = (volume, mute) => {
|
|
891
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
892
|
+
case RTC:
|
|
893
|
+
return rtcsdk.setMicrophoneVolume(volume, mute);
|
|
894
|
+
case ZEGO:
|
|
895
|
+
return zegosdk.setMicDeviceVolume(volume);
|
|
896
|
+
case TALRTC:
|
|
897
|
+
return talrtcsdk.setCurrentMicrophoneVolume(volume);
|
|
898
|
+
case TRTC:
|
|
899
|
+
return trtcsdk.setCurrentMicrophoneVolume(volume);
|
|
900
|
+
default:
|
|
901
|
+
break;
|
|
902
|
+
}
|
|
903
|
+
};
|
|
904
|
+
|
|
905
|
+
/**
|
|
906
|
+
* @function 控制麦克风是否静音
|
|
907
|
+
* @param mute:Boolean 是否静音,必选
|
|
908
|
+
* @return Promise | void
|
|
909
|
+
*/
|
|
910
|
+
export const setMicrophoneMute = (mute) => {
|
|
911
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
912
|
+
case RTC:
|
|
913
|
+
return rtcsdk.setRealTimeAudioMute(mute);
|
|
914
|
+
case ZEGO:
|
|
915
|
+
return zegosdk.setMicDeviceMute(mute);
|
|
916
|
+
case TALRTC:
|
|
917
|
+
return talrtcsdk.muteLocalAudio(mute);
|
|
918
|
+
case TRTC:
|
|
919
|
+
default:
|
|
920
|
+
break;
|
|
921
|
+
}
|
|
922
|
+
};
|
|
923
|
+
|
|
924
|
+
/**
|
|
925
|
+
* @function 退出房间、退出频道
|
|
926
|
+
* @return Promise | void
|
|
927
|
+
*/
|
|
928
|
+
export const leaveRoom = () => {
|
|
929
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
930
|
+
case RTC:
|
|
931
|
+
return rtcsdk.leaveRoom();
|
|
932
|
+
case ZEGO:
|
|
933
|
+
return zegosdk.leaveRoom();
|
|
934
|
+
case TALRTC:
|
|
935
|
+
return talrtcsdk.leaveRoom();
|
|
936
|
+
case TRTC:
|
|
937
|
+
return trtcsdk.leaveRoom();
|
|
938
|
+
default:
|
|
939
|
+
break;
|
|
940
|
+
}
|
|
941
|
+
};
|
|
942
|
+
|
|
943
|
+
/**
|
|
944
|
+
* @function 反初始化
|
|
945
|
+
* @return Promise | void
|
|
946
|
+
*/
|
|
947
|
+
export const deinit = () => {
|
|
948
|
+
window.zbyAVSDK_init_sdk_type=localStorage.getItem('zbyAVSDK_init_sdk_type');
|
|
949
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
950
|
+
case RTC:
|
|
951
|
+
return rtcsdk.destroyEngine();
|
|
952
|
+
case ZEGO:
|
|
953
|
+
return zegosdk.destroyEngine();
|
|
954
|
+
case TALRTC:
|
|
955
|
+
return talrtcsdk.destroyEngine();
|
|
956
|
+
default:
|
|
957
|
+
console.error('unknown zbyAVSDK_init_sdk_type:', zbyAVSDK_init_sdk_type);
|
|
958
|
+
break;
|
|
959
|
+
}
|
|
960
|
+
};
|
|
961
|
+
|
|
962
|
+
//开启拉流音量监听
|
|
963
|
+
export const startSoundLevelMonitor = () => {
|
|
964
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
965
|
+
case RTC:
|
|
966
|
+
break;
|
|
967
|
+
case ZEGO:
|
|
968
|
+
return zegosdk.startSoundLevelMonitor();
|
|
969
|
+
case TALRTC:
|
|
970
|
+
// TODO StartMicrophone 里面有调用 enableAudioVolumeIndication 但目前是注释掉的状态
|
|
971
|
+
break;
|
|
972
|
+
default:
|
|
973
|
+
break;
|
|
974
|
+
}
|
|
975
|
+
};
|
|
976
|
+
|
|
977
|
+
/**
|
|
978
|
+
* @function 转推,录课
|
|
979
|
+
* @param type:String 动作类型,必选,'start' | 'stop' | 'pause' | 'resume'
|
|
980
|
+
* @return Promise | void
|
|
981
|
+
*/
|
|
982
|
+
export const turnPush = (type) => {
|
|
983
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
984
|
+
case RTC:
|
|
985
|
+
return rtcsdk.sendRecordingMsg({ cmd: type });
|
|
986
|
+
case ZEGO:
|
|
987
|
+
return zegosdk.singleRecord(type);
|
|
988
|
+
case TALRTC:
|
|
989
|
+
return talrtcsdk.controlCdnStreaming(type);
|
|
990
|
+
case TRTC:
|
|
991
|
+
default:
|
|
992
|
+
break;
|
|
993
|
+
}
|
|
994
|
+
};
|
|
995
|
+
|
|
996
|
+
/**
|
|
997
|
+
* @function 听不听指定的用户的声音
|
|
998
|
+
* @param streamId:String 被拉取的流的 id,必选
|
|
999
|
+
* @param mute:Boolean 是否静音,必选,true -> 静音,false -> 不静音
|
|
1000
|
+
* @return Promise | void
|
|
1001
|
+
*/
|
|
1002
|
+
export const setAudioMute = (streamId, mute) => {
|
|
1003
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1004
|
+
case RTC:
|
|
1005
|
+
return rtcsdk.setMute(streamId, mute);
|
|
1006
|
+
case ZEGO:
|
|
1007
|
+
return zegosdk.activateAudioPlayStream(streamId, !mute);
|
|
1008
|
+
case TALRTC:
|
|
1009
|
+
return talrtcsdk.muteRemoteAudio(streamId, mute);
|
|
1010
|
+
case TRTC:
|
|
1011
|
+
return trtcsdk.muteRemoteAudio(streamId, mute);
|
|
1012
|
+
default:
|
|
1013
|
+
break;
|
|
1014
|
+
}
|
|
1015
|
+
};
|
|
1016
|
+
|
|
1017
|
+
/**
|
|
1018
|
+
* @function 是否拉取音频流-是否关闭音频流--通过播放器id控制
|
|
1019
|
+
* @param operation:Boolean,必选,true关闭 | false不关闭
|
|
1020
|
+
* @param playerId:Number,必选, 播放器id
|
|
1021
|
+
* @return Promise | void
|
|
1022
|
+
*/
|
|
1023
|
+
export const pullAudioFlow = (playerId, operation, streamId) => {
|
|
1024
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1025
|
+
case RTC:
|
|
1026
|
+
return rtcsdk.pullAudioFlow(playerId, operation, 'client', streamId);
|
|
1027
|
+
case ZEGO:
|
|
1028
|
+
return zegosdk.pullAudioFlow(playerId, !operation, streamId);
|
|
1029
|
+
case TALRTC:
|
|
1030
|
+
return talrtcsdk.pullAudioFlow(playerId, operation, streamId);
|
|
1031
|
+
case TRTC:
|
|
1032
|
+
return trtcsdk.pullAudioFlow(playerId, operation, streamId);
|
|
1033
|
+
default:
|
|
1034
|
+
break;
|
|
1035
|
+
}
|
|
1036
|
+
};
|
|
1037
|
+
|
|
1038
|
+
/**
|
|
1039
|
+
* @function 获取设备状态
|
|
1040
|
+
* * @param { string } devicename //(设备名称,可为空)
|
|
1041
|
+
* * @param { number } devicetype //(设备类型,1摄像头,2麦克风),3扬声器(mac端没有)
|
|
1042
|
+
* @return: Promise
|
|
1043
|
+
*/
|
|
1044
|
+
// export const getDeviceState = (devicename, devicetype) => {
|
|
1045
|
+
// switch (window.zbyAVSDK_init_sdk_type) {
|
|
1046
|
+
// case RTC:
|
|
1047
|
+
// return rtcsdk.getDeviceState(devicename, devicetype);
|
|
1048
|
+
// case ZEGO:
|
|
1049
|
+
// return zegosdk.getDeviceState(devicename, devicetype);
|
|
1050
|
+
// default:
|
|
1051
|
+
// break;
|
|
1052
|
+
// }
|
|
1053
|
+
// };
|
|
1054
|
+
|
|
1055
|
+
/**
|
|
1056
|
+
* @function 看不看指定的用户的画面
|
|
1057
|
+
* @param streamId:String 被拉取的流的 id,必选
|
|
1058
|
+
* @param mute:Boolean 是否关闭画面,必选,true -> 关闭画面,false -> 不关闭画面
|
|
1059
|
+
* @return Promise | void
|
|
1060
|
+
*/
|
|
1061
|
+
export const setVideoMute = (streamId, mute) => {
|
|
1062
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1063
|
+
case RTC:
|
|
1064
|
+
return rtcsdk.controlPullAudioOnly(streamId, mute);
|
|
1065
|
+
case ZEGO:
|
|
1066
|
+
return zegosdk.activateVideoPlayStream(streamId, !mute);
|
|
1067
|
+
case TALRTC:
|
|
1068
|
+
return talrtcsdk.muteRemoteVideo(streamId, mute);
|
|
1069
|
+
case TRTC:
|
|
1070
|
+
return trtcsdk.muteRemoteVideo(streamId, mute);
|
|
1071
|
+
default:
|
|
1072
|
+
break;
|
|
1073
|
+
}
|
|
1074
|
+
};
|
|
1075
|
+
|
|
1076
|
+
/**
|
|
1077
|
+
* @function 开启/关闭麦克风音量回调
|
|
1078
|
+
* @param open:Boolean true -> 开启,false -> 关闭,必选
|
|
1079
|
+
* @return void
|
|
1080
|
+
*/
|
|
1081
|
+
export const openMicVolumeCb = (open) => {
|
|
1082
|
+
rtcsdk.openMicVolumeCb(open);
|
|
1083
|
+
zegosdk.openMicVolumeCb(open);
|
|
1084
|
+
};
|
|
1085
|
+
|
|
1086
|
+
|
|
1087
|
+
export const startMixtStream = (args) => {
|
|
1088
|
+
let params = {};
|
|
1089
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1090
|
+
case RTC:
|
|
1091
|
+
const { config } = args;
|
|
1092
|
+
params = {
|
|
1093
|
+
sequence: args.sequence,
|
|
1094
|
+
outputStream: {
|
|
1095
|
+
pushType: args.pushType,
|
|
1096
|
+
rtmpUrls: config.szOutputStream,
|
|
1097
|
+
videoFps: config.nOutputFps,
|
|
1098
|
+
videoRate: config.nOutputBitrate,
|
|
1099
|
+
audioRate: config.nOutputAudioBitrate,
|
|
1100
|
+
videoWidth: config.nOutputWidth,
|
|
1101
|
+
videoHeight: config.nOutputHeight,
|
|
1102
|
+
audioFormat: config.nOutputAudioConfig,
|
|
1103
|
+
audioChannels: config.nChannels,
|
|
1104
|
+
backgroundColor: config.nOutputBackgroundColor,
|
|
1105
|
+
},
|
|
1106
|
+
inputStreams: [],
|
|
1107
|
+
};
|
|
1108
|
+
config.pInputStreamList.forEach(item => {
|
|
1109
|
+
params.inputStreams.push({
|
|
1110
|
+
confId: item.confId,
|
|
1111
|
+
streamId: item.szStreamID,
|
|
1112
|
+
top: item.layout.top,
|
|
1113
|
+
right: item.layout.right,
|
|
1114
|
+
bottom: item.layout.bottom,
|
|
1115
|
+
left: item.layout.left,
|
|
1116
|
+
mediaControl: item.nContentControl
|
|
1117
|
+
});
|
|
1118
|
+
});
|
|
1119
|
+
console.log(params);
|
|
1120
|
+
rtcsdk.startRoomMixRecord(params);
|
|
1121
|
+
break;
|
|
1122
|
+
case ZEGO:
|
|
1123
|
+
params = Object.assign(args, {});
|
|
1124
|
+
delete params.pushType;
|
|
1125
|
+
delete params.sequence;
|
|
1126
|
+
params.config.pInputStreamList = params.config.pInputStreamList.map(item => {
|
|
1127
|
+
const tempObj = Object.assign(item, {});
|
|
1128
|
+
delete tempObj.confId;
|
|
1129
|
+
return tempObj;
|
|
1130
|
+
});
|
|
1131
|
+
zegosdk.mixStream('start', params);
|
|
1132
|
+
break;
|
|
1133
|
+
default:
|
|
1134
|
+
break;
|
|
1135
|
+
}
|
|
1136
|
+
};
|
|
1137
|
+
|
|
1138
|
+
export const stopMixtStream = (args) => {
|
|
1139
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1140
|
+
case RTC:
|
|
1141
|
+
rtcsdk.stopRoomMixRecord({ sequence: args.sequence });
|
|
1142
|
+
break;
|
|
1143
|
+
case ZEGO:
|
|
1144
|
+
const params = Object.assign(args, {});
|
|
1145
|
+
delete params.sequence;
|
|
1146
|
+
zegosdk.mixStream('stop', params);
|
|
1147
|
+
break;
|
|
1148
|
+
default:
|
|
1149
|
+
break;
|
|
1150
|
+
}
|
|
1151
|
+
};
|
|
1152
|
+
|
|
1153
|
+
/**
|
|
1154
|
+
* @function 单路录制
|
|
1155
|
+
* @param args:Object 必选
|
|
1156
|
+
* {
|
|
1157
|
+
* type:String 开始/结束, 对应取值start/stop,必选
|
|
1158
|
+
* groupId: String 分组id,可选,默认为 sdk初始化分组id
|
|
1159
|
+
* streamId: String 流id,必选
|
|
1160
|
+
* seqNum: String
|
|
1161
|
+
* }
|
|
1162
|
+
* @return void
|
|
1163
|
+
*/
|
|
1164
|
+
export const singleRecord = async (args) => {
|
|
1165
|
+
const { type, groupId, streamId, userId, seqNum } = args;
|
|
1166
|
+
const sid = `xrs51_${groupId}_${userId}`;
|
|
1167
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1168
|
+
case RTC:
|
|
1169
|
+
const { institutionId } = window.zby_sdk_init_params;
|
|
1170
|
+
const rtc = window.zbyAVSDK_init_params.rtc;
|
|
1171
|
+
let rtmpAddr = `${rtc.recordUrl}/${sid}`;
|
|
1172
|
+
if (seqNum) {
|
|
1173
|
+
rtmpAddr += `?seqNum=${seqNum}`;
|
|
1174
|
+
}
|
|
1175
|
+
const rtcParams = {
|
|
1176
|
+
cmd: type,
|
|
1177
|
+
confId: util.getConfId(institutionId, groupId),
|
|
1178
|
+
liveId: streamId,
|
|
1179
|
+
rtmpAddr
|
|
1180
|
+
};
|
|
1181
|
+
return rtcsdk.sendRecordingMsg(rtcParams);
|
|
1182
|
+
case ZEGO:
|
|
1183
|
+
const zego = window.zbyAVSDK_init_params.zego;
|
|
1184
|
+
let strTarget = `${zego.recordUrl}/${sid}`;
|
|
1185
|
+
if (seqNum) {
|
|
1186
|
+
strTarget += `?seqNum=${seqNum}`;
|
|
1187
|
+
}
|
|
1188
|
+
return zegosdk.singleRecord(type, strTarget, streamId);
|
|
1189
|
+
break;
|
|
1190
|
+
default:
|
|
1191
|
+
break;
|
|
1192
|
+
}
|
|
1193
|
+
};
|
|
1194
|
+
|
|
1195
|
+
/**
|
|
1196
|
+
* @function 单路录制
|
|
1197
|
+
* @param args:Object 必选
|
|
1198
|
+
* {
|
|
1199
|
+
* type:String 开始/结束, 对应取值start/stop,必选
|
|
1200
|
+
* groupId: String 分组id,可选,默认为 sdk初始化分组id
|
|
1201
|
+
* streamId: String 流id,必选
|
|
1202
|
+
* }
|
|
1203
|
+
* @return void
|
|
1204
|
+
*/
|
|
1205
|
+
export const recordPublishTarget = (args) => {
|
|
1206
|
+
const { type, groupId, streamId, userId } = args;
|
|
1207
|
+
const sid = `xrs51_${groupId}_${userId}`;
|
|
1208
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1209
|
+
case RTC:
|
|
1210
|
+
const { institutionId } = window.zby_sdk_init_params;
|
|
1211
|
+
const rtc = window.zbyAVSDK_init_params.rtc;
|
|
1212
|
+
const rtcParams = {
|
|
1213
|
+
cmd: type,
|
|
1214
|
+
confId: util.getConfId(institutionId, groupId),
|
|
1215
|
+
liveId: streamId,
|
|
1216
|
+
rtmpAddr: `rtmp://globalpush.aliyun.zhiboyun.eaydu.com/live_haibian/${streamId}`
|
|
1217
|
+
};
|
|
1218
|
+
return rtcsdk.sendRecordingMsg(rtcParams);
|
|
1219
|
+
case ZEGO:
|
|
1220
|
+
const zego = window.zbyAVSDK_init_params.zego;
|
|
1221
|
+
const strTarget = `rtmp://globalpush.aliyun.zhiboyun.eaydu.com/live_haibian/${streamId}`;
|
|
1222
|
+
zegosdk.singleRecord(type, strTarget, streamId);
|
|
1223
|
+
break;
|
|
1224
|
+
default:
|
|
1225
|
+
break;
|
|
1226
|
+
}
|
|
1227
|
+
};
|
|
1228
|
+
|
|
1229
|
+
export const getSnapshootId = (streamId) => {
|
|
1230
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1231
|
+
case RTC:
|
|
1232
|
+
if (rtcsdk.hasStream(streamId)) {
|
|
1233
|
+
return streamId;
|
|
1234
|
+
} else {
|
|
1235
|
+
defaultApi.writeLog(`zbyavsdk getSnapshootId , no streamId: ${streamId} in rtc room`);
|
|
1236
|
+
}
|
|
1237
|
+
break;
|
|
1238
|
+
case ZEGO:
|
|
1239
|
+
if (zegosdk.hasStream(streamId)) {
|
|
1240
|
+
return zegosdk.getChannelIndex(streamId);
|
|
1241
|
+
} else {
|
|
1242
|
+
defaultApi.writeLog(`zbyavsdk getSnapshootId , no streamId: ${streamId} in zego room`);
|
|
1243
|
+
}
|
|
1244
|
+
break;
|
|
1245
|
+
case TALRTC:
|
|
1246
|
+
if (talrtcsdk.hasStream(streamId)) {
|
|
1247
|
+
return talrtcsdk.getChannelIndex(streamId);
|
|
1248
|
+
} else {
|
|
1249
|
+
defaultApi.writeLog(`talrtcsdk getSnapshootId , no streamId: ${streamId} in talrtc room`);
|
|
1250
|
+
}
|
|
1251
|
+
default:
|
|
1252
|
+
break;
|
|
1253
|
+
}
|
|
1254
|
+
};
|
|
1255
|
+
|
|
1256
|
+
export const getAllChannelIndex = () => {
|
|
1257
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1258
|
+
case RTC:
|
|
1259
|
+
break;
|
|
1260
|
+
case ZEGO:
|
|
1261
|
+
return zegosdk.getAllChannelIndex();
|
|
1262
|
+
case TRTC:
|
|
1263
|
+
return trtcsdk.getAllChannelIndex();
|
|
1264
|
+
default:
|
|
1265
|
+
break;
|
|
1266
|
+
}
|
|
1267
|
+
};
|
|
1268
|
+
|
|
1269
|
+
/**
|
|
1270
|
+
* @function 设置摄像头参数(采集分辨率)
|
|
1271
|
+
* @param width:Number 分辨率宽,必选,推荐 1280
|
|
1272
|
+
* @param height:Number 分辨率高,必选,推荐 720
|
|
1273
|
+
* @param frameRate:Number 帧率,必选,推荐 15
|
|
1274
|
+
* @return Promise | void
|
|
1275
|
+
*/
|
|
1276
|
+
export const setCameraParams = (args) => {
|
|
1277
|
+
const { width, height, frameRate } = args;
|
|
1278
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1279
|
+
case RTC:
|
|
1280
|
+
return rtcsdk.setCameraParam(width, height, frameRate);
|
|
1281
|
+
case ZEGO:
|
|
1282
|
+
return zegosdk.setCameraParam(width, height);
|
|
1283
|
+
case TALRTC:
|
|
1284
|
+
return talrtcsdk.setCameraCaptureResolution(width, height);
|
|
1285
|
+
case TRTC:
|
|
1286
|
+
return trtcsdk.setCameraCaptureResolution(width, height);
|
|
1287
|
+
default:
|
|
1288
|
+
break;
|
|
1289
|
+
}
|
|
1290
|
+
};
|
|
1291
|
+
|
|
1292
|
+
/**
|
|
1293
|
+
* @function 设置编码分辨率
|
|
1294
|
+
* @param width:Number 分辨率宽,必选,推荐 1280
|
|
1295
|
+
* @param height:Number 分辨率高,必选,推荐 720
|
|
1296
|
+
* @param frameRate:Number 帧率,必选,推荐 15
|
|
1297
|
+
* @return Promise | void
|
|
1298
|
+
*/
|
|
1299
|
+
export const setEncodeParams = (args) => {
|
|
1300
|
+
const { width, height, frameRate } = args;
|
|
1301
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1302
|
+
case RTC:
|
|
1303
|
+
return rtcsdk.setEncodeParam(width, height, frameRate);
|
|
1304
|
+
case ZEGO:
|
|
1305
|
+
return zegosdk.setVideoEncodeResolution(width, height);
|
|
1306
|
+
case TALRTC:
|
|
1307
|
+
return talrtcsdk.setCameraEncodeFps(frameRate) && talrtcsdk.setCameraEncodeResolution(width, height);
|
|
1308
|
+
case TRTC:
|
|
1309
|
+
return zegosdk.setVideoEncodeResolution(width, height);
|
|
1310
|
+
default:
|
|
1311
|
+
break;
|
|
1312
|
+
}
|
|
1313
|
+
};
|
|
1314
|
+
|
|
1315
|
+
/**
|
|
1316
|
+
* @function 设置码率
|
|
1317
|
+
* @param bitrate:Number 码率,必选,推荐 15
|
|
1318
|
+
* @return Promise | void
|
|
1319
|
+
*/
|
|
1320
|
+
export const setBitRate = (bitrate) => {
|
|
1321
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1322
|
+
case RTC:
|
|
1323
|
+
return rtcsdk.setBitRate(bitrate);
|
|
1324
|
+
case ZEGO:
|
|
1325
|
+
return zegosdk.setVideoBitrate(bitrate);
|
|
1326
|
+
case TALRTC:
|
|
1327
|
+
return talrtcsdk.setCameraEncodeBitrate(bitrate);
|
|
1328
|
+
case TRTC:
|
|
1329
|
+
return trtcsdk.setCameraEncodeBiarate(bitrate);
|
|
1330
|
+
default:
|
|
1331
|
+
break;
|
|
1332
|
+
}
|
|
1333
|
+
};
|
|
1334
|
+
|
|
1335
|
+
/**
|
|
1336
|
+
* @function 本地视频录制
|
|
1337
|
+
* @param type 开始/结束
|
|
1338
|
+
* @param path 录制路径
|
|
1339
|
+
* @return Promise | void
|
|
1340
|
+
*/
|
|
1341
|
+
export const localRecordVideo = (type, path) => {
|
|
1342
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1343
|
+
case RTC:
|
|
1344
|
+
rtcsdk.localRecordVideo(type, path);
|
|
1345
|
+
break;
|
|
1346
|
+
case ZEGO:
|
|
1347
|
+
zegosdk.localRecordVideo(type, path);
|
|
1348
|
+
break;
|
|
1349
|
+
case TALRTC:
|
|
1350
|
+
talrtcsdk.localRecordVideo(type, path);
|
|
1351
|
+
break;
|
|
1352
|
+
default:
|
|
1353
|
+
break;
|
|
1354
|
+
}
|
|
1355
|
+
};
|
|
1356
|
+
|
|
1357
|
+
/**
|
|
1358
|
+
* @function 本地音频录制
|
|
1359
|
+
* @param type 开始/结束
|
|
1360
|
+
* @param path 录制路径
|
|
1361
|
+
* @return Promise | void
|
|
1362
|
+
*/
|
|
1363
|
+
export const localRecordAudio = (type, path) => {
|
|
1364
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1365
|
+
case RTC:
|
|
1366
|
+
rtcsdk.localRecordAudio(type, path);
|
|
1367
|
+
break;
|
|
1368
|
+
case ZEGO:
|
|
1369
|
+
zegosdk.localRecordAudio(type, path);
|
|
1370
|
+
break;
|
|
1371
|
+
case TALRTC:
|
|
1372
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1373
|
+
break;
|
|
1374
|
+
default:
|
|
1375
|
+
break;
|
|
1376
|
+
}
|
|
1377
|
+
};
|
|
1378
|
+
|
|
1379
|
+
/**
|
|
1380
|
+
* @function 设置采集扬声器声音
|
|
1381
|
+
* @param { string } deviceId 设备id
|
|
1382
|
+
* @param {boolean} speaker 采集扬声器声音=true/不采集=false
|
|
1383
|
+
* @return void
|
|
1384
|
+
*/
|
|
1385
|
+
export const setSpeakerCapture = (deviceId,speaker) => {
|
|
1386
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1387
|
+
case RTC:
|
|
1388
|
+
return rtcsdk.setAudioSpeakerCapture(deviceId,speaker);
|
|
1389
|
+
case ZEGO:
|
|
1390
|
+
return zegosdk.setAudioSpeakerCapture(speaker);
|
|
1391
|
+
case TALRTC:
|
|
1392
|
+
return talrtcsdk.enableAudioSpeakerCapture(speaker);
|
|
1393
|
+
case TRTC:
|
|
1394
|
+
return trtcsdk.setAudioSpeakerCapture(speaker);
|
|
1395
|
+
default:
|
|
1396
|
+
break;
|
|
1397
|
+
}
|
|
1398
|
+
};
|
|
1399
|
+
|
|
1400
|
+
/**
|
|
1401
|
+
* @function 设置混流和背景色
|
|
1402
|
+
* @param { boolean } type true=开启/false=关闭
|
|
1403
|
+
* @param { number } id 需要混合的采集器id
|
|
1404
|
+
* @param { object } rgb
|
|
1405
|
+
* @param { number } rgb.r
|
|
1406
|
+
* @param { number } rgb.g
|
|
1407
|
+
* @param { number } rgb.b
|
|
1408
|
+
* @return: Promise
|
|
1409
|
+
*/
|
|
1410
|
+
export const setMixStream = (type, id, rgb) => {
|
|
1411
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1412
|
+
case RTC:
|
|
1413
|
+
return rtcsdk.setMixStream(type, id, rgb);
|
|
1414
|
+
case ZEGO:
|
|
1415
|
+
break;
|
|
1416
|
+
case TALRTC:
|
|
1417
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1418
|
+
break;
|
|
1419
|
+
default:
|
|
1420
|
+
break;
|
|
1421
|
+
};
|
|
1422
|
+
};
|
|
1423
|
+
/**
|
|
1424
|
+
* @function 采集器截图
|
|
1425
|
+
* @param { string } fileName 文件名,需要后缀名。例如:333.jpg
|
|
1426
|
+
* @return: Promise
|
|
1427
|
+
*/
|
|
1428
|
+
export const captureSnapShot = (fileName) => {
|
|
1429
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1430
|
+
case RTC:
|
|
1431
|
+
return rtcsdk.captureSnapShot(fileName);
|
|
1432
|
+
case ZEGO:
|
|
1433
|
+
break;
|
|
1434
|
+
case TALRTC:
|
|
1435
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1436
|
+
break;
|
|
1437
|
+
default:
|
|
1438
|
+
break;
|
|
1439
|
+
}
|
|
1440
|
+
};
|
|
1441
|
+
/**
|
|
1442
|
+
* @function 播放器截图
|
|
1443
|
+
* @param { string } fileName 文件名,需要后缀名。例如:333.jpg
|
|
1444
|
+
* @return: Promise
|
|
1445
|
+
*/
|
|
1446
|
+
export const playerSnapShot = (id, fileName) => {
|
|
1447
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1448
|
+
case RTC:
|
|
1449
|
+
return rtcsdk.playerSnapShot(id, fileName);
|
|
1450
|
+
case ZEGO:
|
|
1451
|
+
break;
|
|
1452
|
+
case TALRTC:
|
|
1453
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1454
|
+
break;
|
|
1455
|
+
default:
|
|
1456
|
+
break;
|
|
1457
|
+
}
|
|
1458
|
+
};
|
|
1459
|
+
|
|
1460
|
+
/**
|
|
1461
|
+
* @function 设置打开/关闭摄像头
|
|
1462
|
+
* @param { boolean } type true=开启/false=关闭
|
|
1463
|
+
* @return: Promise
|
|
1464
|
+
*/
|
|
1465
|
+
export const openOrCloseCameraAndMicrophone = (type) => {
|
|
1466
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1467
|
+
case RTC:
|
|
1468
|
+
return rtcsdk.openOrCloseCameraAndMicrophone(type);
|
|
1469
|
+
case ZEGO:
|
|
1470
|
+
break;
|
|
1471
|
+
case TALRTC:
|
|
1472
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1473
|
+
break;
|
|
1474
|
+
default:
|
|
1475
|
+
break;
|
|
1476
|
+
}
|
|
1477
|
+
};
|
|
1478
|
+
|
|
1479
|
+
/**
|
|
1480
|
+
* @function 加载采集插件的输入数据 //调用后,zego 可以向采集插件传送摄像头数据,用于拼接
|
|
1481
|
+
* @return: Promise
|
|
1482
|
+
*/
|
|
1483
|
+
export const loadCollectionInputEntry = () => {
|
|
1484
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1485
|
+
case RTC:
|
|
1486
|
+
break;
|
|
1487
|
+
case ZEGO:
|
|
1488
|
+
return zegosdk.loadCollectionInputEntry();
|
|
1489
|
+
case TALRTC:
|
|
1490
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1491
|
+
break;
|
|
1492
|
+
default:
|
|
1493
|
+
break;
|
|
1494
|
+
}
|
|
1495
|
+
};
|
|
1496
|
+
|
|
1497
|
+
/**
|
|
1498
|
+
* @function 加载采集插件的输出数据 //调用后,采集插件向zego传送数据
|
|
1499
|
+
* @return: Promise
|
|
1500
|
+
*/
|
|
1501
|
+
export const loadCollectionOutputEntry = () => {
|
|
1502
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1503
|
+
case RTC:
|
|
1504
|
+
break;
|
|
1505
|
+
case ZEGO:
|
|
1506
|
+
return zegosdk.loadCollectionOutputEntry();
|
|
1507
|
+
case TALRTC:
|
|
1508
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1509
|
+
break;
|
|
1510
|
+
default:
|
|
1511
|
+
break;
|
|
1512
|
+
}
|
|
1513
|
+
};
|
|
1514
|
+
|
|
1515
|
+
export const mixedstuVideo = (stuArray) => {
|
|
1516
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1517
|
+
case RTC:
|
|
1518
|
+
return rtcsdk.rtcLoadCollectionEntry2(stuArray);
|
|
1519
|
+
case ZEGO:
|
|
1520
|
+
return zegosdk.loadCollectionInputEntry2(stuArray);
|
|
1521
|
+
case TALRTC:
|
|
1522
|
+
return talrtcsdk.loadCollectionInputEntry2(stuArray);
|
|
1523
|
+
default:
|
|
1524
|
+
break;
|
|
1525
|
+
}
|
|
1526
|
+
};
|
|
1527
|
+
|
|
1528
|
+
/**
|
|
1529
|
+
* @function 加载采集插件的输出数据 //调用后,zego 可以向采集插件传送摄像头数据,用于拼接
|
|
1530
|
+
* @return: Promise
|
|
1531
|
+
*/
|
|
1532
|
+
export const setCDNPublishTarget = (pRtmpUrl,idx) => {
|
|
1533
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1534
|
+
case RTC:
|
|
1535
|
+
break;
|
|
1536
|
+
case ZEGO:
|
|
1537
|
+
return rtcsdk.setCDNPublishTarget(pRtmpUrl,idx);
|
|
1538
|
+
case TALRTC:
|
|
1539
|
+
return talrtcsdk.addPublishRtmpStreamUrl(pRtmpUrl);
|
|
1540
|
+
default:
|
|
1541
|
+
break;
|
|
1542
|
+
}
|
|
1543
|
+
};
|
|
1544
|
+
|
|
1545
|
+
|
|
1546
|
+
/**
|
|
1547
|
+
* @function 设置预览镜像状态
|
|
1548
|
+
* @param { boolean } type true=开启 false=关闭
|
|
1549
|
+
* @return: Promise
|
|
1550
|
+
*/
|
|
1551
|
+
export const setMirrorStatus = (type) => {
|
|
1552
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1553
|
+
case RTC:
|
|
1554
|
+
return rtcsdk.setMirrorStatus(type);
|
|
1555
|
+
case ZEGO:
|
|
1556
|
+
return zegosdk.setMirrorStatus(type);
|
|
1557
|
+
case TALRTC:
|
|
1558
|
+
return talrtcsdk.setMirrorStatus(type);
|
|
1559
|
+
default:
|
|
1560
|
+
break;
|
|
1561
|
+
}
|
|
1562
|
+
};
|
|
1563
|
+
|
|
1564
|
+
/**
|
|
1565
|
+
* @function 设置拉流镜像状态
|
|
1566
|
+
* @param { boolean } type true=开启 false=关闭
|
|
1567
|
+
* @return: Promise
|
|
1568
|
+
*/
|
|
1569
|
+
export const setPlayViewMirror = (type, id) => {
|
|
1570
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1571
|
+
case RTC:
|
|
1572
|
+
return rtcsdk.setRTCPlayViewMirror(type, id);
|
|
1573
|
+
case ZEGO:
|
|
1574
|
+
return zegosdk.setPlayViewMirror(type);
|
|
1575
|
+
case TALRTC:
|
|
1576
|
+
return talrtcsdk.setPlayViewMirror(type, id);
|
|
1577
|
+
default:
|
|
1578
|
+
break;
|
|
1579
|
+
}
|
|
1580
|
+
};
|
|
1581
|
+
|
|
1582
|
+
/**
|
|
1583
|
+
* @function 设置推流镜像状态
|
|
1584
|
+
* * @param { boolean } id 采集器Id
|
|
1585
|
+
* @param { boolean } mode 1=开启 0=关闭
|
|
1586
|
+
* @return: Promise
|
|
1587
|
+
*/
|
|
1588
|
+
export const setPushViewMirror = (mode) => {
|
|
1589
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1590
|
+
case RTC:
|
|
1591
|
+
return rtcsdk.setMirrorMode(mode);
|
|
1592
|
+
case ZEGO:
|
|
1593
|
+
return zegosdk.setVideoMirrorMode(mode);
|
|
1594
|
+
case TALRTC:
|
|
1595
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1596
|
+
break;
|
|
1597
|
+
default:
|
|
1598
|
+
break;
|
|
1599
|
+
}
|
|
1600
|
+
};
|
|
1601
|
+
|
|
1602
|
+
/**
|
|
1603
|
+
* @function 开启美颜
|
|
1604
|
+
* @param { boolean } type true=开启 false=关闭
|
|
1605
|
+
* @return: Promise
|
|
1606
|
+
*/
|
|
1607
|
+
export const startSenseMe = () => {
|
|
1608
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1609
|
+
case RTC:
|
|
1610
|
+
return rtcsdk.startSenseMe();
|
|
1611
|
+
case ZEGO:
|
|
1612
|
+
return zegosdk.startSenseMe();
|
|
1613
|
+
case TALRTC:
|
|
1614
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1615
|
+
break;
|
|
1616
|
+
default:
|
|
1617
|
+
break;
|
|
1618
|
+
}
|
|
1619
|
+
};
|
|
1620
|
+
|
|
1621
|
+
/**
|
|
1622
|
+
* @function 设置美颜参数
|
|
1623
|
+
* @param { boolean } type true=开启 false=关闭
|
|
1624
|
+
* @return: Promise
|
|
1625
|
+
*/
|
|
1626
|
+
export const setBeautifyParam = (type, value) => {
|
|
1627
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1628
|
+
case RTC:
|
|
1629
|
+
return rtcsdk.setBeautifyParam(type, value);
|
|
1630
|
+
case ZEGO:
|
|
1631
|
+
return zegosdk.setBeautifyParam(type, value);
|
|
1632
|
+
case TALRTC:
|
|
1633
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1634
|
+
break;
|
|
1635
|
+
default:
|
|
1636
|
+
break;
|
|
1637
|
+
}
|
|
1638
|
+
};
|
|
1639
|
+
|
|
1640
|
+
/**
|
|
1641
|
+
* @function 关闭美颜
|
|
1642
|
+
* @param { boolean } type true=开启 false=关闭
|
|
1643
|
+
* @return: Promise
|
|
1644
|
+
*/
|
|
1645
|
+
export const endSenseMe = () => {
|
|
1646
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1647
|
+
case RTC:
|
|
1648
|
+
return rtcsdk.endSenseMe();
|
|
1649
|
+
case ZEGO:
|
|
1650
|
+
return zegosdk.endSenseMe();
|
|
1651
|
+
case TALRTC:
|
|
1652
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1653
|
+
break;
|
|
1654
|
+
default:
|
|
1655
|
+
break;
|
|
1656
|
+
}
|
|
1657
|
+
};
|
|
1658
|
+
|
|
1659
|
+
/**
|
|
1660
|
+
* @function 40路混音
|
|
1661
|
+
* @param { number } mixMode //混流模式 0=关闭混流 1=开启混流
|
|
1662
|
+
* @param { array } streamIdArr //表示要突出声音的channel
|
|
1663
|
+
* @return: Promise
|
|
1664
|
+
*/
|
|
1665
|
+
export const setAudioMixMode = (mixMode, streamIdArr) => {
|
|
1666
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1667
|
+
case RTC:
|
|
1668
|
+
break;
|
|
1669
|
+
case ZEGO:
|
|
1670
|
+
return zegosdk.setAudioMixMode(mixMode, streamIdArr);
|
|
1671
|
+
case TALRTC:
|
|
1672
|
+
return talrtcsdk.setAudioMixMode(mixMode, streamIdArr);
|
|
1673
|
+
default:
|
|
1674
|
+
break;
|
|
1675
|
+
}
|
|
1676
|
+
};
|
|
1677
|
+
|
|
1678
|
+
//获取第三方底层流媒体版本号
|
|
1679
|
+
export const getSDKVersion = () => {
|
|
1680
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1681
|
+
case RTC:
|
|
1682
|
+
return rtcsdk.getSDKVersion();
|
|
1683
|
+
case ZEGO:
|
|
1684
|
+
return zegosdk.getSDKVersion();
|
|
1685
|
+
case TALRTC:
|
|
1686
|
+
const version = talrtcsdk.getSDKVersion();
|
|
1687
|
+
return { msg: `\"{'ret': '${version}'}\"` };
|
|
1688
|
+
default:
|
|
1689
|
+
break;
|
|
1690
|
+
}
|
|
1691
|
+
};
|
|
1692
|
+
|
|
1693
|
+
//获取摄像头所支持的分辨率
|
|
1694
|
+
export const getCameraSupportedResolution = async (deviceId) => {
|
|
1695
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1696
|
+
case RTC:
|
|
1697
|
+
return await rtcsdk.getCameraSupportedRes(deviceId);
|
|
1698
|
+
case ZEGO:
|
|
1699
|
+
return await zegosdk.getCameraSupportedRes(deviceId);
|
|
1700
|
+
case TALRTC:
|
|
1701
|
+
return await talrtcsdk.getCameraResolution(deviceId);
|
|
1702
|
+
case TRTC:
|
|
1703
|
+
return await trtcsdk.getCameraResolution(deviceId);
|
|
1704
|
+
default:
|
|
1705
|
+
break;
|
|
1706
|
+
}
|
|
1707
|
+
};
|
|
1708
|
+
|
|
1709
|
+
/**
|
|
1710
|
+
* @function 发送SEI
|
|
1711
|
+
* @return: Promise
|
|
1712
|
+
*/
|
|
1713
|
+
export const sendMediaSideInfo = (info) => {
|
|
1714
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1715
|
+
case RTC:
|
|
1716
|
+
break;
|
|
1717
|
+
case ZEGO:
|
|
1718
|
+
return zegosdk.sendMediaSideInfo(info);
|
|
1719
|
+
case TALRTC:
|
|
1720
|
+
return talrtcsdk.sendSEIMsg(info);
|
|
1721
|
+
case TRTC:
|
|
1722
|
+
return trtcsdk.sendSEIMsg(info);
|
|
1723
|
+
default:
|
|
1724
|
+
break;
|
|
1725
|
+
}
|
|
1726
|
+
};
|
|
1727
|
+
/**
|
|
1728
|
+
* @function 开启rtc同屏
|
|
1729
|
+
* @return: Promise
|
|
1730
|
+
*/
|
|
1731
|
+
export const startMultiScreen = () => {
|
|
1732
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1733
|
+
case RTC:
|
|
1734
|
+
break;
|
|
1735
|
+
case ZEGO:
|
|
1736
|
+
return zegosdk.startMultiScreen();
|
|
1737
|
+
case TALRTC:
|
|
1738
|
+
return talrtcsdk.startMultiScreen();
|
|
1739
|
+
case TRTC:
|
|
1740
|
+
return trtcsdk.startMultiScreen();
|
|
1741
|
+
default:
|
|
1742
|
+
break;
|
|
1743
|
+
}
|
|
1744
|
+
};
|
|
1745
|
+
/**
|
|
1746
|
+
* @function 开启rtc同屏
|
|
1747
|
+
* @return: Promise
|
|
1748
|
+
*/
|
|
1749
|
+
export const enableHighlight = (enable) => {
|
|
1750
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1751
|
+
case RTC:
|
|
1752
|
+
break;
|
|
1753
|
+
case ZEGO:
|
|
1754
|
+
break;
|
|
1755
|
+
case TRTC:
|
|
1756
|
+
return trtcsdk.enableHighlight(enable);
|
|
1757
|
+
default:
|
|
1758
|
+
break;
|
|
1759
|
+
}
|
|
1760
|
+
};
|
|
1761
|
+
/**
|
|
1762
|
+
* @function 开启音频外部采集
|
|
1763
|
+
* @return: Promise
|
|
1764
|
+
*/
|
|
1765
|
+
export const startAudioExCapture = () => {
|
|
1766
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1767
|
+
case RTC:
|
|
1768
|
+
break;
|
|
1769
|
+
case ZEGO:
|
|
1770
|
+
return zegosdk.startAudioExCapture(1);
|
|
1771
|
+
case TALRTC:
|
|
1772
|
+
// FIXME METHOD_NOT_IMPLEMENT;
|
|
1773
|
+
break;
|
|
1774
|
+
default:
|
|
1775
|
+
break;
|
|
1776
|
+
}
|
|
1777
|
+
};
|
|
1778
|
+
|
|
1779
|
+
/**
|
|
1780
|
+
* @function 开启音频外部采集
|
|
1781
|
+
* @return: Promise
|
|
1782
|
+
*/
|
|
1783
|
+
export const setAUXAudioType = (type) => {
|
|
1784
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1785
|
+
case RTC:
|
|
1786
|
+
break;
|
|
1787
|
+
case ZEGO:
|
|
1788
|
+
return zegosdk.setAUXAudioType(type);
|
|
1789
|
+
case TALRTC:
|
|
1790
|
+
return talrtcsdk.setAudioType(type);
|
|
1791
|
+
default:
|
|
1792
|
+
break;
|
|
1793
|
+
}
|
|
1794
|
+
};
|
|
1795
|
+
|
|
1796
|
+
/**
|
|
1797
|
+
* @function 判断推流类型
|
|
1798
|
+
* @return: Promise
|
|
1799
|
+
*/
|
|
1800
|
+
export const getStreamType_zego = () => {
|
|
1801
|
+
switch (window.zbyAVSDK_init_sdk_type) {
|
|
1802
|
+
case RTC:
|
|
1803
|
+
break;
|
|
1804
|
+
case ZEGO:
|
|
1805
|
+
return zegosdk.getStreamType();
|
|
1806
|
+
default:
|
|
1807
|
+
break;
|
|
1808
|
+
}
|
|
1809
|
+
};
|
|
1810
|
+
|
|
1811
|
+
|
|
1812
|
+
export default {
|
|
1813
|
+
init,
|
|
1814
|
+
recoverSdk,
|
|
1815
|
+
deviceCheckerInit,
|
|
1816
|
+
stopCheckDevice,
|
|
1817
|
+
changeSDK,
|
|
1818
|
+
unloadExtension,
|
|
1819
|
+
startPushFlow,
|
|
1820
|
+
stopPushFlow,
|
|
1821
|
+
initPullFlow,
|
|
1822
|
+
startPullFlow,
|
|
1823
|
+
stopPullFlow,
|
|
1824
|
+
stopAllPullFlow,
|
|
1825
|
+
playDestroy,
|
|
1826
|
+
changePullFlow,
|
|
1827
|
+
getCameraDeviceList,
|
|
1828
|
+
setCameraDevice,
|
|
1829
|
+
openOrCloseCamera,
|
|
1830
|
+
startPreview,
|
|
1831
|
+
stopPreview,
|
|
1832
|
+
getOrLocateVideo,
|
|
1833
|
+
getSpeakerDeviceList,
|
|
1834
|
+
setSpeakerDevice,
|
|
1835
|
+
getSpeakerVolume,
|
|
1836
|
+
setSpeakerVolume,
|
|
1837
|
+
setSpeakerMute,
|
|
1838
|
+
getAppVolume,
|
|
1839
|
+
setAppVolume,
|
|
1840
|
+
setAppMute,
|
|
1841
|
+
getMicrophoneDeviceList,
|
|
1842
|
+
setMicrophoneDevice,
|
|
1843
|
+
openOrCloseMicrophone,
|
|
1844
|
+
getMicrophoneVolume,
|
|
1845
|
+
setMicrophoneVolume,
|
|
1846
|
+
setMicrophoneMute,
|
|
1847
|
+
leaveRoom,
|
|
1848
|
+
turnPush,
|
|
1849
|
+
setAudioMute,
|
|
1850
|
+
pullAudioFlow,
|
|
1851
|
+
setVideoMute,
|
|
1852
|
+
openMicVolumeCb,
|
|
1853
|
+
startMixtStream,
|
|
1854
|
+
stopMixtStream,
|
|
1855
|
+
singleRecord,
|
|
1856
|
+
getSnapshootId,
|
|
1857
|
+
setCameraParams,
|
|
1858
|
+
setEncodeParams,
|
|
1859
|
+
setBitRate,
|
|
1860
|
+
recordPublishTarget,
|
|
1861
|
+
localRecordVideo,
|
|
1862
|
+
localRecordAudio,
|
|
1863
|
+
teacherStartLinkMic,
|
|
1864
|
+
teacherStopLinkMic,
|
|
1865
|
+
setSpeakerCapture,
|
|
1866
|
+
setMixStream,
|
|
1867
|
+
captureSnapShot,
|
|
1868
|
+
playerSnapShot,
|
|
1869
|
+
openOrCloseCameraAndMicrophone,
|
|
1870
|
+
setMirrorStatus,
|
|
1871
|
+
getStreamType_zego,
|
|
1872
|
+
startSenseMe,
|
|
1873
|
+
setBeautifyParam,
|
|
1874
|
+
endSenseMe,
|
|
1875
|
+
setPlayViewMirror,
|
|
1876
|
+
setPushStreamVideo,
|
|
1877
|
+
getSDKVersion,
|
|
1878
|
+
getCameraSupportedResolution,
|
|
1879
|
+
setAudioMixMode,
|
|
1880
|
+
setPushViewMirror,
|
|
1881
|
+
deinit,
|
|
1882
|
+
startMultiScreen,
|
|
1883
|
+
getAllChannelIndex,
|
|
1884
|
+
startAudioExCapture,
|
|
1885
|
+
startSoundLevelMonitor,
|
|
1886
|
+
sendMediaSideInfo,
|
|
1887
|
+
enableHighlight,
|
|
1888
|
+
setAUXAudioType,
|
|
1889
|
+
mixedstuVideo
|
|
1890
|
+
// getDeviceState
|
|
1891
|
+
};
|