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 CHANGED
@@ -1,11 +1,5 @@
1
1
  # [EZUIKit-JavaScript-npm][ezuikit-js]
2
2
 
3
- ![Download](https://img.shields.io/npm/dm/ezuikit-js.svg)
4
- ![Version](https://img.shields.io/npm/v/ezuikit-js.svg)
5
- ![License](https://img.shields.io/npm/l/ezuikit-js.svg)
6
- ![Build Demos](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/workflows/build-demos/badge.svg)
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/G39444019/1.live',
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/G39444019/1.rec'
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/G39444019/1.live
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
- > [开启多线程方式1](https://open.ys7.com/help/384)(https://open.ys7.com/help/384)
70
+ >>[开启多线程方式1](https://open.ys7.com/help/384) (https://open.ys7.com/help/384)
99
71
 
100
- > [开启多线程方式2](https://open.ys7.com/help/385)(https://open.ys7.com/help/385)
72
+ >>[开启多线程方式2](https://open.ys7.com/help/385)(https://open.ys7.com/help/385)
101
73
 
102
74
  2. 视频解码库默认从开放平台远程拉取,你可以将解码库放到本地或者你的服务内,可以提升加载解码库速度。
103
75
 
104
- > <b>使用本地解码库提升加载速度</b> 开发者需要自己设置静态资源文件地址, 参考 `staticPath`的配置
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
- &emsp;&emsp;&emsp;&emsp;<b>基本使用:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/index.html" target="_blank">基本使用示例</a>
81
+ &emsp;&emsp;&emsp;&emsp;<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="https://open.ys7.com/help/23" target="_blank">ezopen协议</a> </td><td>Y</td></tr>
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><td>N</td></tr>
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
- ```js
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
- ```js
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
- ```js
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
- ```js
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
- ```js
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.eventEmitter.on('volumeChange', ({ data }) => {
454
- // 动态显示音柱,100ms触发一次
455
- console.log(`${data * 100}%`)
456
- })
368
+ player.stopTalk();
457
369
  ```
458
370
 
459
371
  #### 全屏
460
372
 
461
- ```js
373
+ ```
462
374
  player.fullScreen();
463
375
  ```
464
-
465
376
  #### 取消全屏
466
377
 
467
- ```js
378
+ ```
468
379
  player.cancelFullScreen();
469
380
  ```
470
-
471
381
  #### 获取OSD时间
472
382
 
473
- ```js
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
- ```js
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
- ```js
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
- ```js
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
- ```js
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 => [base-demo](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/base-demo)
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
- > 如果使用vue2,可参考demos => [vue-demo](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/vue-demo)
473
+ > 如果使用react,可参考demos => react-demo
594
474
 
595
- > 如果使用vue3,可参考demos => [vue3-demo](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/vue3-demo)
475
+ > 如果使用vue,可参考demos => vue-demo