sample-xmonitor-js 0.0.2 → 0.0.4

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.
@@ -89,6 +89,7 @@ class DefaultMonitor extends Monitor {
89
89
  this.dispatchEvent('start');
90
90
  };
91
91
  element.onplaying = () => {
92
+ this.dispatchEvent('playing');
92
93
  this.active = true;
93
94
  };
94
95
  element.onended = () => {
package/lib/index.d.ts CHANGED
@@ -3,12 +3,13 @@ export default class MonitorFactory {
3
3
  /**
4
4
  * 监控
5
5
  */
6
- static INSTANCE: MonitorFactory;
7
- private readonly MonitorFactory;
6
+ static INSTANCE?: MonitorFactory;
7
+ private readonly monitorMap;
8
8
  private readonly pointer;
9
9
  private readonly eventPool;
10
10
  private intervalId;
11
11
  constructor(pointer: MObject);
12
+ get monitors(): Monitor[];
12
13
  /**
13
14
  * 添加事件监听
14
15
  * 必须在start之前调用
@@ -32,6 +33,7 @@ export default class MonitorFactory {
32
33
  */
33
34
  stop(): Promise<void>;
34
35
  }
36
+ export declare function reset(): void;
35
37
  /**
36
38
  * 初始化监控
37
39
  */
package/lib/index.js CHANGED
@@ -11,11 +11,14 @@ import { MObject, MonitorEvents } from "./Monitor";
11
11
  import { CameraMonitor, DesktopMonitor } from "./DefaultMonitor";
12
12
  export default class MonitorFactory {
13
13
  constructor(pointer) {
14
- this.MonitorFactory = new Map();
14
+ this.monitorMap = new Map();
15
15
  this.eventPool = new Map();
16
16
  this.intervalId = 0;
17
17
  this.pointer = pointer;
18
18
  }
19
+ get monitors() {
20
+ return [...this.monitorMap.values()];
21
+ }
19
22
  /**
20
23
  * 添加事件监听
21
24
  * 必须在start之前调用
@@ -51,7 +54,7 @@ export default class MonitorFactory {
51
54
  (_a = this.eventPool.get(evt)) === null || _a === void 0 ? void 0 : _a.call(monitor, event);
52
55
  });
53
56
  });
54
- this.MonitorFactory.set(type, monitor);
57
+ this.monitorMap.set(type, monitor);
55
58
  return monitor;
56
59
  }
57
60
  /**
@@ -63,7 +66,7 @@ export default class MonitorFactory {
63
66
  throw new Error('定时捕捉画面时间间隔不能少于5秒');
64
67
  }
65
68
  // 启动所有监视器
66
- for (let [, monitor] of this.MonitorFactory) {
69
+ for (let [, monitor] of this.monitorMap) {
67
70
  yield monitor.start();
68
71
  }
69
72
  clearInterval(this.intervalId);
@@ -71,7 +74,7 @@ export default class MonitorFactory {
71
74
  this.intervalId = setInterval(() => __awaiter(this, void 0, void 0, function* () {
72
75
  try {
73
76
  // 调用所有监视器截图
74
- for (let [, monitor] of this.MonitorFactory) {
77
+ for (let [, monitor] of this.monitorMap) {
75
78
  if (monitor.isPaused())
76
79
  continue;
77
80
  yield monitor.shot();
@@ -90,12 +93,17 @@ export default class MonitorFactory {
90
93
  return __awaiter(this, void 0, void 0, function* () {
91
94
  clearInterval(this.intervalId);
92
95
  // 启动所有监视器
93
- for (let [, monitor] of this.MonitorFactory) {
96
+ for (let [, monitor] of this.monitorMap) {
94
97
  yield monitor.stop();
95
98
  }
96
99
  });
97
100
  }
98
101
  }
102
+ export function reset() {
103
+ var _a;
104
+ (_a = MonitorFactory.INSTANCE) === null || _a === void 0 ? void 0 : _a.stop();
105
+ MonitorFactory.INSTANCE = undefined;
106
+ }
99
107
  /**
100
108
  * 初始化监控
101
109
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sample-xmonitor-js",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "",
5
5
  "main": "./lib/index",
6
6
  "files": [