ezuikit-js 8.0.11-alpha.1 → 8.0.12-alpha.1
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/README.md +34 -154
- package/ezuikit.js +17 -16
- package/ezuikit_static/PlayCtrlWasm/playCtrl1/HasSIMD/Decoder.js +6 -4
- package/ezuikit_static/PlayCtrlWasm/playCtrl1/NoSIMD/Decoder.js +6 -4
- package/ezuikit_static/PlayCtrlWasm/playCtrl3/hasWorker/HasSIMD/Decoder.js +1 -1
- package/ezuikit_static/PlayCtrlWasm/playCtrl3/hasWorker/HasSIMD/Decoder.wasm +0 -0
- package/ezuikit_static/PlayCtrlWasm/playCtrl3/hasWorker/NoSIMD/Decoder.js +1 -1
- package/ezuikit_static/PlayCtrlWasm/playCtrl3/hasWorker/NoSIMD/Decoder.wasm +0 -0
- package/ezuikit_static/PlayCtrlWasm/playCtrl3/noWorker/Decoder.js +1 -1
- package/ezuikit_static/PlayCtrlWasm/playCtrl3/noWorker/Decoder.wasm +0 -0
- package/ezuikit_static/rec/jquery.min.js +1 -1
- package/ezuikit_static/talk/tts-v4.js +343 -343
- package/package.json +15 -15
- package/CHANGELOG.md +0 -188
package/README.md
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
# [EZUIKit-JavaScript-npm][ezuikit-js]
|
|
2
2
|
|
|
3
|
-

|
|
4
|
-

|
|
5
|
-

|
|
6
|
-

|
|
7
|
-
|
|
8
|
-
|
|
9
3
|
> 轻应用npm版本,降低接入难度,适配自定义UI,适配主流框架
|
|
10
4
|
|
|
11
5
|
> 低延时预览,云存储回放,SD卡回放
|
|
@@ -17,15 +11,7 @@
|
|
|
17
11
|
### 获取ezuikit-js
|
|
18
12
|
|
|
19
13
|
```
|
|
20
|
-
npm install ezuikit-js
|
|
21
|
-
|
|
22
|
-
# yarn
|
|
23
|
-
|
|
24
|
-
yarn add ezuikit-js
|
|
25
|
-
|
|
26
|
-
# pnpm
|
|
27
|
-
|
|
28
|
-
pnpm add ezuikit-js
|
|
14
|
+
$ npm install ezuikit-js
|
|
29
15
|
```
|
|
30
16
|
### 引入ezuikit-js
|
|
31
17
|
|
|
@@ -34,15 +20,12 @@ import EZUIKit from 'ezuikit-js';
|
|
|
34
20
|
```
|
|
35
21
|
|
|
36
22
|
#### 如果你使用原生方法,可以通过标签引用
|
|
37
|
-
|
|
38
23
|
```
|
|
39
|
-
<!-- umd -->
|
|
40
24
|
<script src="./ezuikit.js"></script>
|
|
41
25
|
```
|
|
42
26
|
|
|
43
27
|
### 开始使用 - 初始化
|
|
44
|
-
|
|
45
|
-
> 基本使用
|
|
28
|
+
>基本使用
|
|
46
29
|
|
|
47
30
|
创建DOM
|
|
48
31
|
|
|
@@ -51,62 +34,51 @@ import EZUIKit from 'ezuikit-js';
|
|
|
51
34
|
```
|
|
52
35
|
|
|
53
36
|
## 播放器初始化
|
|
54
|
-
|
|
55
37
|
### 直播
|
|
56
|
-
|
|
57
|
-
```js
|
|
38
|
+
```
|
|
58
39
|
var player = new EZUIKit.EZUIKitPlayer({
|
|
59
40
|
id: 'video-container', // 视频容器ID
|
|
60
41
|
accessToken: 'at.3bvmj4ycamlgdwgw1ig1jruma0wpohl6-48zifyb39c-13t5am6-yukyi86mz',
|
|
61
|
-
url: 'ezopen://open.ys7.com/
|
|
42
|
+
url: 'ezopen://open.ys7.com/AA2615287/1.live',
|
|
62
43
|
width: 600,
|
|
63
44
|
height: 400,
|
|
64
|
-
handleError: (err) => {
|
|
65
|
-
if (err.type === "handleRunTimeInfoError" && err.data.nErrorCode === 5) {
|
|
66
|
-
// 加密设备密码错误
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
45
|
})
|
|
70
46
|
```
|
|
71
|
-
|
|
72
47
|
### 回放
|
|
73
|
-
|
|
74
|
-
```js
|
|
48
|
+
```
|
|
75
49
|
var player = new EZUIKit.EZUIKitPlayer({
|
|
76
50
|
id: 'video-container', // 视频容器ID
|
|
77
51
|
width: 600,
|
|
78
52
|
height: 400,
|
|
79
53
|
accessToken: 'at.3bvmj4ycamlgdwgw1ig1jruma0wpohl6-48zifyb39c-13t5am6-yukyi86mz',
|
|
80
|
-
url: 'ezopen://open.ys7.com/
|
|
54
|
+
url: 'ezopen://open.ys7.com/AA2615287/1.rec'
|
|
81
55
|
})
|
|
82
56
|
```
|
|
83
57
|
#### tips
|
|
84
|
-
|
|
85
58
|
为方便开发者快速接入
|
|
86
59
|
|
|
87
60
|
我们提供了测试accessToken,测试播放地址,并提供了几种常用场景使用示例。你可以通过使用示例,使用测试播放地址,测试accessToken,在你的应用快速接入。
|
|
88
61
|
|
|
89
|
-
<b>测试播放地址:</b> ezopen://open.ys7.com/
|
|
62
|
+
<b>测试播放地址:</b> ezopen://open.ys7.com/AA2615287/1.live
|
|
90
63
|
|
|
91
|
-
你可以通过以下地址获取到测试accessToken <a href="https://open.ys7.com/jssdk/ezopen/demo/token" target="_blank">获取测试accessToken</a> 用来播放上述测试播放地址。
|
|
92
|
-
当前设备有可能下线或被移除了, 如果自己有设备优先使用自己的设备进行测试。
|
|
64
|
+
你可以通过以下地址获取到测试accessToken <a href="https://open.ys7.com/jssdk/ezopen/demo/token" target="_blank">获取测试accessToken</a> 用来播放上述测试播放地址。
|
|
93
65
|
|
|
94
66
|
#### 最佳实践tips
|
|
95
67
|
|
|
96
68
|
1. 我们在v0.6.2及以上版本持用户通过开启谷歌实验室特性启动多线程解码,多线程模式将大大提升解码效率,降低解码内存消耗。
|
|
97
69
|
|
|
98
|
-
|
|
70
|
+
>>[开启多线程方式1](https://open.ys7.com/help/384) (https://open.ys7.com/help/384)
|
|
99
71
|
|
|
100
|
-
|
|
72
|
+
>>[开启多线程方式2](https://open.ys7.com/help/385)(https://open.ys7.com/help/385)
|
|
101
73
|
|
|
102
74
|
2. 视频解码库默认从开放平台远程拉取,你可以将解码库放到本地或者你的服务内,可以提升加载解码库速度。
|
|
103
75
|
|
|
104
|
-
|
|
76
|
+
>> <b>使用本地解码库提升加载速度</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/localDecoder.html" target="_blank">本地解码库示例</a>
|
|
105
77
|
|
|
106
78
|
### 使用示例
|
|
107
79
|
> 1. 快速创建视频播放页面
|
|
108
80
|
|
|
109
|
-
    <b>基本使用:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/
|
|
81
|
+
    <b>基本使用:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/base.html" target="_blank">基本使用示例</a>
|
|
110
82
|
|
|
111
83
|
> 2. 前往[开放平台轻应用模板管理页](https://open.ys7.com/console/ezuikit/template.html)创建一个主题,可以动态配置你的播放主题,控件,示例展示了获取一个主题后使用示例。
|
|
112
84
|
|
|
@@ -157,11 +129,10 @@ ezopen://open.ys7.com/${设备序列号}/{通道号}.rec?begin=yyyyMMddhhmmss
|
|
|
157
129
|
##### 云存储回放
|
|
158
130
|
初始化参数 url值为:<br/>
|
|
159
131
|
ezopen://open.ys7.com/${设备序列号}/{通道号}.cloud.rec?begin=yyyyMMddhhmmss
|
|
160
|
-
视频ezopen协议播放地址 详见:<a href="
|
|
132
|
+
视频ezopen协议播放地址 详见:<a href="http://open.ys7.com/doc/zh/readme/ezopen.html" target="_blank">ezopen协议</a> </td><td>Y</td></tr>
|
|
161
133
|
<tr><td>audio</td><td>boolean</td><td>是否默认开启声音 true:打开(默认) false:关闭 </td><td>N</td></tr>
|
|
162
134
|
<tr><td>width</td><td>int</td><td>视频宽度,默认值为容器容器DOM宽度 </td><td>Y</td></tr>
|
|
163
135
|
<tr><td>height</td><td>int</td><td>视频高度,默认值为容器容器DOM高度</td><td>Y</td></tr>
|
|
164
|
-
<tr><td>staticPath</td><td>string</td><td>设置静态资源地址, 自定义可以自行下载 `ezuikit_static`放置在自己的服务器下, 设置 {staticPath: "/ezuikit_static"} </td><td>N</td></tr>
|
|
165
136
|
<tr><td>template</td><td>String</td><td>
|
|
166
137
|
|
|
167
138
|
|
|
@@ -181,7 +152,7 @@ ezopen://open.ys7.com/${设备序列号}/{通道号}.cloud.rec?begin=yyyyMMddhhm
|
|
|
181
152
|
<tr><td>自定义themeId</td><td>自定义主题,<a href="https://open.ys7.com/console/ezuikit/template.html" target="_blank">前往开放平台控制台配置页面获取</a><br />(v0.6.2版本及以上支持,建议使用 自定义themeId,或者使用themeData本地<br />配置);</td></tr>
|
|
182
153
|
</table>
|
|
183
154
|
|
|
184
|
-
</td
|
|
155
|
+
</td></tr>
|
|
185
156
|
<tr><td>themeData</td><td>Object</td><td>
|
|
186
157
|
themeData将主题数据本地化,设置本地数据,需要删除template参数 <br />
|
|
187
158
|
你可以通过themeData修改按钮位置,颜色,头部底部颜色等配置。
|
|
@@ -311,20 +282,16 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
|
|
|
311
282
|
</td><td>N</td></tr>
|
|
312
283
|
<tr><td>plugin</td><td>String</td><td>按需加载插件,可选值: talk:对讲,示例:plugin:["talk"] </td><td>N</td></tr>
|
|
313
284
|
<tr><td>handleSuccess</td><td>function</td><td>自动播放成功回调</td><td>N</td></tr>
|
|
314
|
-
<tr><td>handleError</td><td>function</td><td>错误回调</td><td>N</td></tr>
|
|
315
285
|
<tr><td>seekFrequency </td><td>function</td><td>为避免频繁拖动播放异常,可设置模板回放时间轴拖动防抖间隔,默认值为2000(2秒),可取2000(2秒),3000(3秒),4000(4秒),5000(5秒)</td><td>N</td></tr>
|
|
316
|
-
<tr><td>language</td><td>String</td><td>多语言 (zh | en), 默认zh (v8.0.8版本及以上支持)</td><td>N</td></tr>
|
|
317
286
|
</table>
|
|
318
287
|
|
|
319
288
|
|
|
320
289
|
### 方法调用
|
|
321
|
-
|
|
322
290
|
> 同步方法(方式1)
|
|
323
291
|
> 方法支持通过promise回调,可通过回调方式执行下一步动作(方式2)。
|
|
324
292
|
|
|
325
293
|
#### 开始播放
|
|
326
|
-
|
|
327
|
-
```js
|
|
294
|
+
```
|
|
328
295
|
// 方式1
|
|
329
296
|
player.play();
|
|
330
297
|
// 方式2
|
|
@@ -333,10 +300,9 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
|
|
|
333
300
|
console.log("执行播放成功后其他动作");
|
|
334
301
|
});
|
|
335
302
|
```
|
|
336
|
-
|
|
337
303
|
#### 停止播放
|
|
338
304
|
|
|
339
|
-
```
|
|
305
|
+
```
|
|
340
306
|
// 方式1
|
|
341
307
|
player.stop();
|
|
342
308
|
// 方式2
|
|
@@ -345,10 +311,9 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
|
|
|
345
311
|
console.log("执行停止成功后其他动作");
|
|
346
312
|
});
|
|
347
313
|
```
|
|
348
|
-
|
|
349
314
|
#### 开启声音
|
|
350
315
|
|
|
351
|
-
```
|
|
316
|
+
```
|
|
352
317
|
// 方式1
|
|
353
318
|
player.openSound();
|
|
354
319
|
// 方式2
|
|
@@ -357,19 +322,10 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
|
|
|
357
322
|
console.log("执行开启声音成功后其他动作");
|
|
358
323
|
});
|
|
359
324
|
```
|
|
360
|
-
|
|
361
|
-
#### 关闭声音
|
|
362
|
-
|
|
363
|
-
```js
|
|
364
|
-
// 方式1
|
|
365
|
-
player.closeSound();
|
|
366
|
-
```
|
|
367
|
-
|
|
368
325
|
#### 开始录制
|
|
369
326
|
> 因录制解码库加载限制,录制库加载需要3S秒左右,请保证录制时长需要大于5秒。
|
|
370
327
|
> 录制文件需要使用播放器,播放器下载地址 <a href="https://service.ys7.com/downloadInfoSite/admin">播放器下载</a>
|
|
371
|
-
|
|
372
|
-
```js
|
|
328
|
+
```
|
|
373
329
|
// 方式1
|
|
374
330
|
player.startSave("唯一文件名");
|
|
375
331
|
// 方式2
|
|
@@ -380,7 +336,7 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
|
|
|
380
336
|
```
|
|
381
337
|
#### 停止录制并下载文件
|
|
382
338
|
|
|
383
|
-
```
|
|
339
|
+
```
|
|
384
340
|
// 方式1
|
|
385
341
|
player.stopSave();
|
|
386
342
|
// 方式2
|
|
@@ -389,10 +345,9 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
|
|
|
389
345
|
console.log("执行停止录制成功后其他动作");
|
|
390
346
|
});
|
|
391
347
|
```
|
|
392
|
-
|
|
393
348
|
#### 抓图
|
|
394
349
|
|
|
395
|
-
```
|
|
350
|
+
```
|
|
396
351
|
// 方式1 - 下载到本地
|
|
397
352
|
player.capturePicture("文件名");
|
|
398
353
|
// 方式2 - 返回base64格式
|
|
@@ -403,74 +358,29 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
|
|
|
403
358
|
```
|
|
404
359
|
#### 开始对讲
|
|
405
360
|
|
|
406
|
-
```
|
|
361
|
+
```
|
|
407
362
|
player.startTalk();
|
|
408
363
|
```
|
|
409
364
|
|
|
410
365
|
#### 结束对讲
|
|
411
366
|
|
|
412
|
-
```js
|
|
413
|
-
player.stopTalk();
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
#### 对讲设置麦克风增益
|
|
417
|
-
|
|
418
|
-
```
|
|
419
|
-
// 设置音频增益系数 0 ~ 10
|
|
420
|
-
player.setVolumeGain(volume);
|
|
421
|
-
```
|
|
422
|
-
|
|
423
|
-
#### 获取麦克风权限
|
|
424
|
-
|
|
425
|
-
```
|
|
426
|
-
player.getMicrophonePermission().then(data => {
|
|
427
|
-
if (data.code === 0) {
|
|
428
|
-
// 成功....
|
|
429
|
-
}
|
|
430
|
-
})
|
|
431
|
-
```
|
|
432
|
-
|
|
433
|
-
#### 获取麦克风列表
|
|
434
|
-
|
|
435
|
-
```
|
|
436
|
-
// 需要在麦克风已授权的情况下调用,才能获取到麦克风列表,可以和getMicrophonePermission配合使用,或在初始化后先调用getMicrophonePermission获取授权
|
|
437
|
-
player.getMicrophonesList().then(data => {
|
|
438
|
-
if (data.code === 0) {
|
|
439
|
-
// 成功....
|
|
440
|
-
}
|
|
441
|
-
})
|
|
442
|
-
```
|
|
443
|
-
|
|
444
|
-
#### 切换麦克风
|
|
445
|
-
|
|
446
|
-
```
|
|
447
|
-
// microphoneId 为获取到的麦克风列表中的deviceId,如果当前处于对讲中,调用setProfile会先关闭,重新发起对讲
|
|
448
|
-
player.setProfile({ microphoneId })
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
#### 监听麦克风音量变化
|
|
452
367
|
```
|
|
453
|
-
player.
|
|
454
|
-
// 动态显示音柱,100ms触发一次
|
|
455
|
-
console.log(`${data * 100}%`)
|
|
456
|
-
})
|
|
368
|
+
player.stopTalk();
|
|
457
369
|
```
|
|
458
370
|
|
|
459
371
|
#### 全屏
|
|
460
372
|
|
|
461
|
-
```
|
|
373
|
+
```
|
|
462
374
|
player.fullScreen();
|
|
463
375
|
```
|
|
464
|
-
|
|
465
376
|
#### 取消全屏
|
|
466
377
|
|
|
467
|
-
```
|
|
378
|
+
```
|
|
468
379
|
player.cancelFullScreen();
|
|
469
380
|
```
|
|
470
|
-
|
|
471
381
|
#### 获取OSD时间
|
|
472
382
|
|
|
473
|
-
```
|
|
383
|
+
```
|
|
474
384
|
player.getOSDTime()
|
|
475
385
|
.then((time)=>{
|
|
476
386
|
console.log("获取到的当前播放时间", time);
|
|
@@ -481,7 +391,7 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
|
|
|
481
391
|
|
|
482
392
|
> 可用于在播放中切换设备,切换播放参数,以及直播切换回放等。请注意,频繁切换可能导致异常,切换间隔至少需要1秒
|
|
483
393
|
|
|
484
|
-
```
|
|
394
|
+
```
|
|
485
395
|
player.changePlayUrl(options)
|
|
486
396
|
.then(()=>{
|
|
487
397
|
console.log("切换成功")
|
|
@@ -504,11 +414,10 @@ options参数说明
|
|
|
504
414
|
|
|
505
415
|
|
|
506
416
|
|
|
507
|
-
#### 切换模板主题
|
|
508
|
-
|
|
417
|
+
#### 切换模板主题
|
|
509
418
|
> 可用于在播放中切换模板主题,请切换播放地址成功后调用
|
|
510
419
|
|
|
511
|
-
```
|
|
420
|
+
```
|
|
512
421
|
player.Theme.changeTheme(template)
|
|
513
422
|
|
|
514
423
|
// 预览切回放场景示例
|
|
@@ -520,7 +429,6 @@ options参数说明
|
|
|
520
429
|
|
|
521
430
|
|
|
522
431
|
```
|
|
523
|
-
|
|
524
432
|
template参数说明
|
|
525
433
|
|
|
526
434
|
|参数名|类型|描述|是否必选|
|
|
@@ -529,10 +437,9 @@ template参数说明
|
|
|
529
437
|
|
|
530
438
|
|
|
531
439
|
#### 开启电子放大
|
|
532
|
-
|
|
533
440
|
>建议使用模板,模板中的电子放大功能更全
|
|
534
441
|
|
|
535
|
-
```
|
|
442
|
+
```
|
|
536
443
|
// 方式1
|
|
537
444
|
player.enableZoom();
|
|
538
445
|
// 方式2
|
|
@@ -541,10 +448,9 @@ template参数说明
|
|
|
541
448
|
console.log("开启电子放大成功");
|
|
542
449
|
});
|
|
543
450
|
```
|
|
544
|
-
|
|
545
451
|
#### 关闭电子放大
|
|
546
452
|
|
|
547
|
-
```
|
|
453
|
+
```
|
|
548
454
|
// 方式1
|
|
549
455
|
player.closeZoom();
|
|
550
456
|
// 方式2
|
|
@@ -556,40 +462,14 @@ template参数说明
|
|
|
556
462
|
|
|
557
463
|
#### 重置画面宽高
|
|
558
464
|
|
|
559
|
-
```js
|
|
560
|
-
player.reSize(width, height);
|
|
561
465
|
```
|
|
562
|
-
|
|
563
|
-
#### 鱼眼矫正(软解 开启 [SharedArrayBuffer](https://open.ys7.com/help/1772?h=SharedArrayBuffer))
|
|
564
|
-
|
|
565
|
-
```js
|
|
566
|
-
// {1, 0} 壁装鱼眼 不矫正
|
|
567
|
-
// {1, 1} 壁装360°全景
|
|
568
|
-
// {1, 2} 壁装4分屏
|
|
569
|
-
// {1, 4} 壁装广角
|
|
570
|
-
// {3, 0} 顶装鱼眼 不矫正
|
|
571
|
-
// {3, 1} 顶装360°全景
|
|
572
|
-
// {3, 4} 顶装4分屏
|
|
573
|
-
// {3, 5} 顶装柱状
|
|
574
|
-
// 顶装4分屏
|
|
575
|
-
player.setFECCorrectType({place: 3 , type:4}, "cavnas1,canvas2,canvas3") // cavnas1,canvas2,canvas3 是分屏是需要的
|
|
466
|
+
player.reSize(width, height);
|
|
576
467
|
```
|
|
577
468
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
### 非正式版说明
|
|
581
|
-
|
|
582
|
-
非正式版需要配置 `staticPath`
|
|
583
|
-
|
|
584
469
|
### 使用示例
|
|
585
470
|
|
|
586
|
-
> 如果使用原生js,可参考demos =>
|
|
587
|
-
|
|
588
|
-
> 如果使用react,可参考demos => [react-demo](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/react-demo)
|
|
589
|
-
|
|
590
|
-
> 如果使用react + vite,可参考demos => [with-react-vite](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/with-react-vite)
|
|
591
|
-
|
|
471
|
+
> 如果使用原生js,可参考demos => base-demo
|
|
592
472
|
|
|
593
|
-
> 如果使用
|
|
473
|
+
> 如果使用react,可参考demos => react-demo
|
|
594
474
|
|
|
595
|
-
> 如果使用
|
|
475
|
+
> 如果使用vue,可参考demos => vue-demo
|