@ezuikit/player-theme 2.1.0-beta.9 → 2.1.2-beta.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/dist/style.css CHANGED
@@ -15,9 +15,10 @@ body.ezplayer-body-mobile-noscroll{background-color:#000!important;height:100vh;
15
15
  .ezplayer-poster{bottom:0;display:none;height:100%;left:0;overflow:hidden;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:2}.ezplayer-poster img{border:0;font-size:0;height:100%;outline:none;pointer-events:none;width:100%}
16
16
  .ezplayer-icon-volume{position:relative}.ezplayer-icon-volume svg .ezplayer-icon-volume-high,.ezplayer-icon-volume svg .ezplayer-icon-volume-low,.ezplayer-icon-volume svg .ezplayer-icon-volume-muted{display:none}.ezplayer-icon-volume.ezplayer-icon-volume-high svg .ezplayer-icon-volume-high,.ezplayer-icon-volume.ezplayer-icon-volume-high svg .ezplayer-icon-volume-low,.ezplayer-icon-volume.ezplayer-icon-volume-low svg .ezplayer-icon-volume-low,.ezplayer-icon-volume.ezplayer-icon-volume-muted svg .ezplayer-icon-volume-muted,.ezplayer-icon-volume.ezplayer-icon-volume-zero svg .ezplayer-icon-volume-muted{display:inline}.ezplayer-volume-progress{height:126px}
17
17
  .ezplayer-control-rec{box-sizing:border-box;display:inline-flex;flex-direction:row}.ezplayer-control-rec .ezplayer-icon-cloud-rec,.ezplayer-control-rec .ezplayer-icon-cloud-record,.ezplayer-control-rec .ezplayer-icon-sdk{color:#d4d7dd;cursor:pointer;margin-left:5px}.ezplayer-mobile-extend .ezplayer-control-rec{background-color:#f4f6fc;border:1px solid #ededed;border-radius:18px;height:30px}.ezplayer-mobile-extend .ezplayer-icon-cloud-rec,.ezplayer-mobile-extend .ezplayer-icon-cloud-record,.ezplayer-mobile-extend .ezplayer-icon-sdk{cursor:pointer;font-size:20px;margin-left:1px;padding:2px 7px}.ezplayer-mobile-extend .ezplayer-icon-cloud-rec.ezplayer-active,.ezplayer-mobile-extend .ezplayer-icon-cloud-record.ezplayer-active,.ezplayer-mobile-extend .ezplayer-icon-sdk.ezplayer-active{background-color:#fff;border-radius:12px;box-shadow:0 1px 4px 0 hsla(0,0%,68%,.2)}.ezplayer-mobile .ezplayer-icon-cloud-rec,.ezplayer-mobile .ezplayer-icon-cloud-record,.ezplayer-mobile .ezplayer-icon-sdk{margin-left:10px}
18
- .ezplayer-more-panel{align-items:center;background-color:var(--ezplayer-panel-bg-color,rgba(0,0,0,.7));border-radius:var(--ezplayer-border-radius,8px);cursor:default;display:flex;flex-direction:row;padding:8px 10px}.ezplayer-more .ezplayer-control{margin-left:var(--ezplayer-control-space,16px)}.ezplayer-more .ezplayer-control:first-child{margin-left:0}
19
- .ezplayer-medium-height .ezplayer-zoom-panel,.ezplayer-mini-height .ezplayer-zoom-panel{height:100%;padding-bottom:var(--ezplayer-footer-height,80px);padding-top:0}.ezplayer-mini-height .ezplayer-zoom-panel{padding-bottom:calc(var(--ezplayer-footer-height, 80px) - 20px)}.ezplayer-mini-height .ezplayer-progress-slider{display:none!important}.ezplayer-mini-height .ezplayer-progress-plus{padding-bottom:0}.ezplayer-mini-height .ezplayer-progress-minus{padding-top:0}.ezplayer-zoom-panel{bottom:0;display:inline-flex;flex-direction:column;height:100%;justify-content:flex-end;left:20px;padding-bottom:calc(var(--ezplayer-footer-height, 80px) + 20px);padding-top:10%;pointer-events:none;position:absolute;top:0;z-index:23}.ezplayer-zoom-panel .ezplayer-progress{height:200px;max-height:95%;pointer-events:auto}.ezplayer-mobile .ezplayer-zoom-panel{padding-bottom:calc(var(--ezplayer-mobile-footer-height, 54px) + 10px);padding-top:5%}.ezplayer-mobile.ezplayer-fullscreen .ezplayer-zoom-panel{padding-bottom:var(--ezplayer-mobile-fullscreen-footer-height,110px);padding-top:var(--ezplayer-mobile-fullscreen-header-height,75px)}
18
+ .ezplayer-more-panel{align-items:center;background-color:var(--ezplayer-panel-bg-color,rgba(0,0,0,.7));border-radius:var(--ezplayer-border-radius,8px);cursor:default;display:flex;flex-direction:row;padding:8px 10px}.ezplayer-more .ezplayer-control{margin-left:10px}.ezplayer-more .ezplayer-control:first-child{margin-right:0}
19
+ .ezplayer-medium-height .ezplayer-zoom-panel,.ezplayer-mini-height .ezplayer-zoom-panel{height:100%;padding-bottom:var(--ezplayer-footer-height,80px);padding-top:0}.ezplayer-mini-height .ezplayer-zoom-panel{padding-bottom:calc(var(--ezplayer-footer-height, 80px) - 20px)}.ezplayer-mini-height .ezplayer-progress-plus{padding-bottom:0}.ezplayer-mini-height .ezplayer-progress-minus{padding-top:0}.ezplayer-zoom-panel{bottom:0;display:inline-flex;flex-direction:column;height:100%;justify-content:flex-end;left:20px;padding-bottom:calc(var(--ezplayer-footer-height, 80px) + 20px);padding-top:10%;pointer-events:none;position:absolute;top:0;z-index:23}.ezplayer-zoom-panel .ezplayer-progress{height:200px;max-height:95%;pointer-events:auto}.ezplayer-mobile .ezplayer-zoom-panel{padding-bottom:calc(var(--ezplayer-mobile-footer-height, 54px) + 10px);padding-top:5%}.ezplayer-mobile.ezplayer-fullscreen .ezplayer-zoom-panel{padding-bottom:var(--ezplayer-mobile-fullscreen-footer-height,110px);padding-top:var(--ezplayer-mobile-fullscreen-header-height,75px)}
20
20
  .ezplayer-icon-talk-growth-dot1,.ezplayer-icon-talk-growth-dot2,.ezplayer-icon-talk-growth-dot3,.ezplayer-icon-talk-growth-dot4{color:var(--ezplayer-default-color,#fff)}.ezplayer-control-talk.ezplayer-active.ezplayer-talk-gain-deafening .ezplayer-icon-talk-growth-dot1,.ezplayer-control-talk.ezplayer-active.ezplayer-talk-gain-deafening .ezplayer-icon-talk-growth-dot2,.ezplayer-control-talk.ezplayer-active.ezplayer-talk-gain-deafening .ezplayer-icon-talk-growth-dot3,.ezplayer-control-talk.ezplayer-active.ezplayer-talk-gain-deafening .ezplayer-icon-talk-growth-dot4,.ezplayer-control-talk.ezplayer-active.ezplayer-talk-gain-high .ezplayer-icon-talk-growth-dot2,.ezplayer-control-talk.ezplayer-active.ezplayer-talk-gain-high .ezplayer-icon-talk-growth-dot3,.ezplayer-control-talk.ezplayer-active.ezplayer-talk-gain-high .ezplayer-icon-talk-growth-dot4,.ezplayer-control-talk.ezplayer-active.ezplayer-talk-gain-low .ezplayer-icon-talk-growth-dot4,.ezplayer-control-talk.ezplayer-active.ezplayer-talk-gain-normal .ezplayer-icon-talk-growth-dot3,.ezplayer-control-talk.ezplayer-active.ezplayer-talk-gain-normal .ezplayer-icon-talk-growth-dot4{color:var(--ezplayer-active-color,#407aff)}
21
+ .ezplayer-control-broadcast.ezplayer-active .ezplayer-icon-record-circle{color:var(--ezplayer-active-color,#407aff)}
21
22
  .ezplayer-record-timer{align-items:center;background-color:#ff4c5c;border-radius:24px;color:#fff;display:inline-flex;flex-direction:row;left:50%;padding:2px 6px;position:absolute;top:60px;transform:translateX(-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:3}.ezplayer-record-timer .ezplayer-icon-record-circle{font-size:14px}.ezplayer-record-timer-time{font-weight:400;letter-spacing:1px;line-height:20px;margin-left:2px}
22
23
  .ezplayer-select-definition .ezplayer-select-panel{width:100px}.ezplayer-control-definition .ezplayer-select-btn{width:75px}
23
24
 
package/dist/style.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * @ezuikit/player-theme v2.1.0-beta.9
3
- * Copyright (c) 2026-01-08 Ezviz-OpenBiz
2
+ * @ezuikit/player-theme v2.1.2-beta.1
3
+ * Copyright (c) 2026-02-09 Ezviz-OpenBiz
4
4
  * Released under the MIT License.
5
5
  */
6
6
  require("./style.css");
@@ -4,7 +4,6 @@ import I18n, { I18nTranslation } from '@ezuikit/utils-i18n';
4
4
  import { LoggerCls, LoggerOptions } from '@ezuikit/utils-logger';
5
5
  import { BasePtzOptions } from '@ezuikit/control-ptz';
6
6
  import Zoom from '@ezuikit/control-zoom';
7
- import { ThemeOptions as ThemeOptions$1 } from '@/interface';
8
7
  import { TimeLineTimeSection } from '@ezuikit/control-time-line';
9
8
 
10
9
  /** 填充模式 */
@@ -88,6 +87,8 @@ declare const EVENTS: {
88
87
  readonly talkingChange: "talkingChange";
89
88
  /** 麦克风音量变化 */
90
89
  readonly talkVolumeChange: "talkVolumeChange";
90
+ /** 语音广播状态变化 */
91
+ readonly broadcastChange: "broadcastChange";
91
92
  /** 动态切换日志配置 */
92
93
  readonly setLoggerOptions: "setLoggerOptions";
93
94
  readonly records: "records";
@@ -162,6 +163,10 @@ declare const EVENTS: {
162
163
  readonly talkError: "Control.talkError";
163
164
  /** 对讲控件销毁 */
164
165
  readonly talkDestroy: "Control.talkDestroy";
166
+ /** 语音广播状态变化 */
167
+ readonly broadcastChange: "Control.broadcastChange";
168
+ /** 语音广播控件销毁 */
169
+ readonly broadcastDestroy: "Control.broadcastDestroy";
165
170
  /** 缩放比例改变 */
166
171
  readonly zoomChange: "Control.zoomChange";
167
172
  /** 音量调节面板 展示隐藏变换 */
@@ -935,6 +940,8 @@ type ControlType =
935
940
  | 'record'
936
941
  /** 对讲 */
937
942
  | 'talk'
943
+ /** 语音广播 */
944
+ | 'broadcast'
938
945
  /** 电子放大 */
939
946
  | 'zoom'
940
947
  /** 清晰度, 兼容 hd */
@@ -1206,7 +1213,7 @@ declare class Pause extends Control {
1206
1213
  interface ContentOptions {
1207
1214
  /** 获取容器 */
1208
1215
  getContainer: () => HTMLElement;
1209
- scaleMode: ThemeOptions$1['scaleMode'];
1216
+ scaleMode: ThemeOptions['scaleMode'];
1210
1217
  }
1211
1218
  /**
1212
1219
  * 截图控件
@@ -1236,8 +1243,8 @@ declare class Content extends EventEmitter {
1236
1243
  * @param {number} originHeight 画面高度
1237
1244
  * @returns {void}
1238
1245
  */
1239
- rerender(originWidth?: number, originHeight?: number): void;
1240
- setScaleMode(scaleMode?: ThemeOptions$1['scaleMode']): void;
1246
+ private rerender;
1247
+ setScaleMode(scaleMode?: ThemeOptions['scaleMode']): void;
1241
1248
  destroy(): void;
1242
1249
  }
1243
1250
 
@@ -1316,6 +1323,8 @@ declare class More extends Control {
1316
1323
  key: string;
1317
1324
  part: 'left' | 'right';
1318
1325
  control: Control;
1326
+ width: number;
1327
+ height: number;
1319
1328
  }>;
1320
1329
  constructor(options: MoreOptions);
1321
1330
  private _render;
@@ -1323,7 +1332,10 @@ declare class More extends Control {
1323
1332
  * 添加
1324
1333
  * @param control
1325
1334
  */
1326
- add(key: string, part: 'left' | 'right', control: Control): void;
1335
+ add(key: string, part: 'left' | 'right', control: Control, props: {
1336
+ width: number;
1337
+ height: number;
1338
+ }): void;
1327
1339
  /**
1328
1340
  * 移除
1329
1341
  * @param control
@@ -1417,17 +1429,18 @@ declare class Theme extends EventEmitter {
1417
1429
  readonly recordingChange: "recordingChange";
1418
1430
  readonly talkingChange: "talkingChange";
1419
1431
  readonly talkVolumeChange: "talkVolumeChange";
1420
- readonly setLoggerOptions: "setLoggerOptions";
1421
- readonly records: "records";
1422
- readonly ptzSpeedChange: "ptzSpeedChange"; /**
1432
+ readonly broadcastChange: "broadcastChange";
1433
+ readonly setLoggerOptions: "setLoggerOptions"; /**
1423
1434
  * 更多控件(footer more)
1424
1435
  * @since 0.0.1
1425
1436
  * @private
1426
1437
  */
1438
+ readonly records: "records";
1439
+ readonly ptzSpeedChange: "ptzSpeedChange";
1427
1440
  readonly setVideoLevelList: "setVideoLevelList";
1428
1441
  readonly currentVideoLevel: "currentVideoLevel";
1429
1442
  readonly currentVideoLevelAuto: "currentVideoLevelAuto";
1430
- readonly setAllDayRecTimes: "setAllDayRecTimes"; /** 低部控件 @since 0.0.1 @private */
1443
+ readonly setAllDayRecTimes: "setAllDayRecTimes";
1431
1444
  readonly getOSDTime: "getOSDTime";
1432
1445
  readonly control: {
1433
1446
  readonly play: "Control.play";
@@ -1442,8 +1455,9 @@ declare class Theme extends EventEmitter {
1442
1455
  readonly headerMoreShowControlsChange: "Control.headerMoreShowControlsChange";
1443
1456
  readonly headerMorePanelOpenChange: "Control.headerMorePanelOpenChange";
1444
1457
  readonly footerMoreShowControlsChange: "Control.footerMoreShowControlsChange";
1458
+ /** 电子放大倍数 @private */
1445
1459
  readonly footerMorePanelOpenChange: "Control.footerMorePanelOpenChange";
1446
- readonly deviceDestroy: "Control.deviceDestroy"; /** 对讲中 @private */
1460
+ readonly deviceDestroy: "Control.deviceDestroy";
1447
1461
  readonly recTypeChange: "Control.recTypeChange";
1448
1462
  readonly recDestroy: "Control.recDestroy";
1449
1463
  readonly definitionChange: "Control.definitionChange";
@@ -1462,6 +1476,8 @@ declare class Theme extends EventEmitter {
1462
1476
  readonly talkingChange: "Control.talkingChange";
1463
1477
  readonly talkError: "Control.talkError";
1464
1478
  readonly talkDestroy: "Control.talkDestroy";
1479
+ readonly broadcastChange: "Control.broadcastChange";
1480
+ readonly broadcastDestroy: "Control.broadcastDestroy";
1465
1481
  readonly zoomChange: "Control.zoomChange";
1466
1482
  readonly zoomPanelOpenChange: "Control.zoomPanelOpenChange";
1467
1483
  readonly zoomDestroy: "Control.zoomDestroy";
@@ -1682,12 +1698,13 @@ declare class Theme extends EventEmitter {
1682
1698
  BTN_RECORDVIDEO: string;
1683
1699
  BTN_CAPTURE: string;
1684
1700
  BTN_TALK: string;
1701
+ BTN_BROADCAST: string;
1685
1702
  BTN_ZOOM: string;
1686
1703
  BTN_3D_ZOOM: string;
1687
1704
  BTN_PTZ: string;
1688
1705
  BTN_GLOBAL_FULLSCREEN: string;
1689
1706
  BTN_EXIT_GLOBAL_FULLSCREEN: string;
1690
- BTN_FULLSCREEN: string; /** @since 0.0.1 @private */
1707
+ BTN_FULLSCREEN: string;
1691
1708
  BTN_EXIR_FULLSCREEN: string;
1692
1709
  BTN_HD: string;
1693
1710
  BTN_SPEED: string;
@@ -1709,7 +1726,7 @@ declare class Theme extends EventEmitter {
1709
1726
  OPEN_SOUND: string;
1710
1727
  CLOSE_SOUND: string;
1711
1728
  SOUND_OPENED: string;
1712
- ZOOM: string;
1729
+ ZOOM: string; /** 当前容器的全屏状态 true: 全屏, false: 非全屏 */
1713
1730
  START_ZOOM: string;
1714
1731
  CLOSE_ZOOM: string;
1715
1732
  ZOOM_ADD: string;
@@ -1718,7 +1735,7 @@ declare class Theme extends EventEmitter {
1718
1735
  ZOOM_SUB_MIN: string;
1719
1736
  ZOOM_LIMIT_MAX: string;
1720
1737
  ZOOM_LIMIT_MIN: string;
1721
- ZOOM_NOT_ENABLED: string;
1738
+ ZOOM_NOT_ENABLED: string; /** 音量 */
1722
1739
  '3D_ZOOM': string;
1723
1740
  '3D_ZOOM_DISABLE': string;
1724
1741
  '3D_ZOOM_FAILED': string;
@@ -1729,7 +1746,6 @@ declare class Theme extends EventEmitter {
1729
1746
  '3D_ZOOM_NOT_ACTIVED': string;
1730
1747
  '3D_ZOOM_CLOSED': string;
1731
1748
  CHANGE_ZOOM_TYPE: string;
1732
- /** 自定清晰度 @private */
1733
1749
  FULLSCREEN: string;
1734
1750
  FULLSCREEN_EXIT: string;
1735
1751
  GET_WEB_FULLSCREEN_STATUS: string;
@@ -1737,7 +1753,17 @@ declare class Theme extends EventEmitter {
1737
1753
  WEB_FULLSCREEN_EXIT: string;
1738
1754
  DESTROY: string;
1739
1755
  GET_CAPACITY: string;
1740
- GET_PTZ_STATUS: string;
1756
+ GET_PTZ_STATUS: string; /**
1757
+ // * 记录回放的月份
1758
+ // *
1759
+ // * key: {序列号}_{通道号}_{rec | cloud | cloudRecord} 比如:BC7799091_1_rec BC7799091_1_cloud BC7799091_1_cloudRecord
1760
+ // *
1761
+ // * value: 月份列表 比如 ["2025-12-01", "2025-12-02"]
1762
+ // * @private
1763
+ // */
1764
+ /**
1765
+ * 录像回放的月份列表 @private
1766
+ */
1741
1767
  GET_PTZ_STATUS_FAILED: string;
1742
1768
  MOBILE_HIDE_PTZ: string;
1743
1769
  OPTION_PTZ_FAILED: string;
@@ -1933,7 +1959,9 @@ declare class Theme extends EventEmitter {
1933
1959
  CALL_END: string;
1934
1960
  USER_DO_NOT_OWN_DEVICE: string;
1935
1961
  NO_CLOUD_RECORD: string;
1936
- CHANGE_VIDEO_LEVEL: string;
1962
+ CHANGE_VIDEO_LEVEL: string; /**
1963
+ * 音量值
1964
+ */
1937
1965
  CHANGE_VIDEO_LEVEL_FAIL: string;
1938
1966
  GET_VIDEO_LEVEL_LIST: string;
1939
1967
  PLEASE_INPUT_RIGHT_VIDEO_LEVEL: string;
@@ -1952,8 +1980,12 @@ declare class Theme extends EventEmitter {
1952
1980
  BTN_VOLUME: string;
1953
1981
  BTN_MUTED: string;
1954
1982
  BTN_RECORDVIDEO: string;
1955
- BTN_CAPTURE: string;
1983
+ BTN_CAPTURE: string; /**
1984
+ * 静音
1985
+ *
1986
+ */
1956
1987
  BTN_TALK: string;
1988
+ BTN_BROADCAST: string;
1957
1989
  BTN_ZOOM: string;
1958
1990
  BTN_3D_ZOOM: string;
1959
1991
  BTN_PTZ: string;
@@ -2028,9 +2060,7 @@ declare class Theme extends EventEmitter {
2028
2060
  CHANGE_FEC_TYPE: string;
2029
2061
  DEVICE_NOT_SUPPORT: string;
2030
2062
  TYPE_NOT_SUPPORT: string;
2031
- FEC_SUPPORT_VERSION: string; /**
2032
- * 云台开启中
2033
- */
2063
+ FEC_SUPPORT_VERSION: string;
2034
2064
  NO_CANVAS_ID: string;
2035
2065
  SET_FEC_PARAMS: string;
2036
2066
  GET_FEC_PARAMS: string;
@@ -2469,6 +2499,7 @@ declare class Theme extends EventEmitter {
2469
2499
  * @WARN:这里会闪一下, 原因:需要控件渲染后才知是否需要放置到 More 中,
2470
2500
  */
2471
2501
  private _footerMoreControlShow;
2502
+ private _displayMore;
2472
2503
  /**
2473
2504
  * 移除事件
2474
2505
  */
package/package.json CHANGED
@@ -1,17 +1,10 @@
1
1
  {
2
2
  "name": "@ezuikit/player-theme",
3
- "version": "2.1.0-beta.9",
3
+ "version": "2.1.2-beta.1",
4
4
  "description": "player theme",
5
5
  "title": "theme",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/types/index.d.ts",
8
- "scripts": {
9
- "dev": "cross-env NODE_ENV=development rollup --config rollup.config.mjs --watch",
10
- "build": "npm run clean && cross-env NODE_ENV=production rollup --config rollup.config.mjs",
11
- "clean": "rimraf docs dist coverage",
12
- "types": "tsc src/index.ts --emitDeclarationOnly --declaration --declarationDir dist/types --esModuleInterop",
13
- "docs": "typedoc --tsconfig typedoc.config.js"
14
- },
15
8
  "files": [
16
9
  "dist"
17
10
  ],
@@ -27,7 +20,7 @@
27
20
  "dependencies": {
28
21
  "@ezuikit/utils-i18n": "2.0.0",
29
22
  "@ezuikit/utils-logger": "2.0.0",
30
- "@ezuikit/utils-tools": "2.0.2",
23
+ "@ezuikit/utils-tools": "2.0.3",
31
24
  "@ezuikit/control-date-picker": "1.0.5",
32
25
  "@ezuikit/control-time-line": "1.0.7",
33
26
  "@juggle/resize-observer": "^3.4.0",
@@ -37,15 +30,6 @@
37
30
  "eventemitter3": "^5.0.1",
38
31
  "screenfull": "5.2.0"
39
32
  },
40
- "devDependencies": {
41
- "@common/rollup": "workspace:*",
42
- "@ezuikit/control-ptz": "workspace:*",
43
- "@ezuikit/control-zoom": "workspace:*"
44
- },
45
- "publishConfig": {
46
- "access": "public",
47
- "registry": "https://registry.npmjs.org/"
48
- },
49
33
  "repository": {
50
34
  "type": "git",
51
35
  "url": "git+https://github.com/Ezviz-OpenBiz/EZUIKit-player-theme.git"