model-action 2.0.4 → 2.0.8
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/Init.d.ts.map +1 -1
- package/dist/modules/Init.js +6 -0
- package/dist/modules/Init.js.map +1 -1
- package/dist/modules/Routing.d.ts +1 -0
- package/dist/modules/Routing.d.ts.map +1 -1
- package/dist/modules/Routing.js +3 -0
- package/dist/modules/Routing.js.map +1 -1
- package/dist/modules/VideoFusion.d.ts +60 -43
- package/dist/modules/VideoFusion.d.ts.map +1 -1
- package/dist/modules/VideoFusion.js +138 -56
- package/dist/modules/VideoFusion.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/modules/Init.ts +6 -0
- package/src/modules/Routing.ts +6 -0
- package/src/modules/VideoFusion.ts +316 -0
package/dist/index.d.ts
CHANGED
|
@@ -12,5 +12,6 @@ export { GameModeAction } from './modules/GameMode';
|
|
|
12
12
|
export { AnimationAction } from './modules/Animation';
|
|
13
13
|
export { EffectAction } from './modules/Effect';
|
|
14
14
|
export { InitAction } from './modules/Init';
|
|
15
|
+
export { VideoFusionAction } from './modules/VideoFusion';
|
|
15
16
|
export type { InitVideoOptions } from './modules/Init';
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -12,4 +12,5 @@ export { GameModeAction } from './modules/GameMode';
|
|
|
12
12
|
export { AnimationAction } from './modules/Animation';
|
|
13
13
|
export { EffectAction } from './modules/Effect';
|
|
14
14
|
export { InitAction } from './modules/Init';
|
|
15
|
+
export { VideoFusionAction } from './modules/VideoFusion';
|
|
15
16
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Init.d.ts","sourceRoot":"","sources":["../../src/modules/Init.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Init.d.ts","sourceRoot":"","sources":["../../src/modules/Init.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,mBAAmB,CAAC;AAI3B,MAAM,WAAW,gBAAgB;IAC7B,wBAAwB;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,eAAe;IACf,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,iBAAiB;IACjB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,qBAAa,UAAW,SAAQ,MAAM;IAClC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;CA8EhE"}
|
package/dist/modules/Init.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { Action } from "./Action";
|
|
5
5
|
// 导入 peer-stream.js 以确保自定义元素在使用前被注册
|
|
6
6
|
import "../peer-stream.js";
|
|
7
|
+
import { VideoFusionAction } from "./VideoFusion";
|
|
7
8
|
export class InitAction extends Action {
|
|
8
9
|
/**
|
|
9
10
|
* 初始化视频流
|
|
@@ -39,6 +40,11 @@ export class InitAction extends Action {
|
|
|
39
40
|
try {
|
|
40
41
|
const data = JSON.parse(e.detail);
|
|
41
42
|
options.onMessage(data);
|
|
43
|
+
//视频融合初始化的返回。我这里先自动处理一波,外面可以不处理了
|
|
44
|
+
if (data.code === '0' && data.cmd === 'videoFusion' && data.data.action === 'init') {
|
|
45
|
+
//获取当前所有融合点位ID
|
|
46
|
+
VideoFusionAction.get();
|
|
47
|
+
}
|
|
42
48
|
}
|
|
43
49
|
catch (error) {
|
|
44
50
|
console.error("解析消息失败:", error);
|
package/dist/modules/Init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Init.js","sourceRoot":"","sources":["../../src/modules/Init.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,oCAAoC;AACpC,OAAO,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Init.js","sourceRoot":"","sources":["../../src/modules/Init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Routing.d.ts","sourceRoot":"","sources":["../../src/modules/Routing.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAG7C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;AAGtE,MAAM,MAAM,WAAW,GAAG,aAAa,CAAA;AAGvC,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"Routing.d.ts","sourceRoot":"","sources":["../../src/modules/Routing.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAG7C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;AAGtE,MAAM,MAAM,WAAW,GAAG,aAAa,CAAA;AAGvC,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAeD,qBAAa,aAAc,SAAQ,MAAM;IACrC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY;IAyChC;;;OAGG;IACH,MAAM,CAAC,IAAI;IAcX;;OAEG;IACH,MAAM,CAAC,KAAK;IAcZ;;;OAGG;IACH,MAAM,CAAC,OAAO;CAajB"}
|
package/dist/modules/Routing.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Routing.js","sourceRoot":"","sources":["../../src/modules/Routing.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Routing.js","sourceRoot":"","sources":["../../src/modules/Routing.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AA+B7C,MAAM,OAAO,aAAc,SAAQ,MAAM;IACrC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,KAAmB;QAC5B,0DAA0D;QAC1D,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,IAAI,GAQN;YACA,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;SACf,CAAC;QAEF,OAAO;QACP,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC7B,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACnD,CAAC;QACD,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QAC3C,CAAC;QAED,MAAM,SAAS,GAAqB;YAChC,GAAG,EAAE,SAAS;YACd,IAAI;SACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI;QACP,MAAM,IAAI,GAEN;YACA,MAAM,EAAE,MAAM;SACjB,CAAC;QAEF,MAAM,SAAS,GAAqB;YAChC,GAAG,EAAE,SAAS;YACd,IAAI;SACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK;QACR,MAAM,IAAI,GAEN;YACA,MAAM,EAAE,OAAO;SAClB,CAAC;QAEF,MAAM,SAAS,GAAqB;YAChC,GAAG,EAAE,SAAS;YACd,IAAI;SACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO;QACV,MAAM,IAAI,GAEN;YACA,MAAM,EAAE,SAAS;SACpB,CAAC;QAEF,MAAM,SAAS,GAAqB;YAChC,GAAG,EAAE,SAAS;YACd,IAAI;SACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IACzC,CAAC;CACJ"}
|
|
@@ -1,63 +1,80 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 视频融合
|
|
3
3
|
*/
|
|
4
|
-
import { Action
|
|
5
|
-
type
|
|
6
|
-
type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
export type VideoType = 'Video' | 'Record';
|
|
6
|
+
export type RecordType = 'Cloud' | 'Device';
|
|
7
|
+
export interface FusionIdItem {
|
|
8
|
+
id: string;
|
|
9
|
+
}
|
|
10
|
+
export interface VideoFusionInitOptions {
|
|
11
|
+
token: string;
|
|
12
|
+
ip: string;
|
|
10
13
|
port?: string;
|
|
11
14
|
isHttps?: boolean;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
backPlay?: boolean;
|
|
15
|
-
ids?: IdList;
|
|
15
|
+
}
|
|
16
|
+
export interface VideoFusionPlayOptions {
|
|
16
17
|
isLocation?: boolean;
|
|
17
|
-
videoType?:
|
|
18
|
-
recordType?:
|
|
19
|
-
|
|
18
|
+
videoType?: VideoType;
|
|
19
|
+
recordType?: RecordType;
|
|
20
|
+
recordStartTime?: string;
|
|
21
|
+
recordEndTime?: string;
|
|
22
|
+
backPlay?: boolean;
|
|
23
|
+
ids?: FusionIdItem[];
|
|
24
|
+
}
|
|
25
|
+
export interface VideoFusionFlyToOptions {
|
|
26
|
+
id: string;
|
|
27
|
+
fov?: number;
|
|
28
|
+
}
|
|
29
|
+
export interface VideoFusionSettingOptions {
|
|
30
|
+
armLengthThreshold?: number;
|
|
31
|
+
distanceThreshold?: number;
|
|
32
|
+
rotationThreshold?: number;
|
|
33
|
+
}
|
|
20
34
|
export declare class VideoFusionAction extends Action {
|
|
21
35
|
/**
|
|
22
|
-
*
|
|
23
|
-
* @param
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*
|
|
36
|
+
* 初始化视频融合
|
|
37
|
+
* @param options 初始化参数
|
|
38
|
+
*/
|
|
39
|
+
static init(options: VideoFusionInitOptions): void;
|
|
40
|
+
/**
|
|
41
|
+
* 刷新token
|
|
42
|
+
* @param token 新的token
|
|
43
|
+
*/
|
|
44
|
+
static refresh(token: string): void;
|
|
45
|
+
/**
|
|
46
|
+
* 播放视频
|
|
47
|
+
* @param options 播放参数
|
|
48
|
+
*/
|
|
49
|
+
static start(options?: VideoFusionPlayOptions): void;
|
|
50
|
+
/**
|
|
51
|
+
* 停止视频
|
|
52
|
+
* @param ids 融合点位ID列表(可选,如果不传则操作之前start打开的ids)
|
|
28
53
|
*/
|
|
29
|
-
static
|
|
54
|
+
static stop(ids?: FusionIdItem[]): void;
|
|
30
55
|
/**
|
|
31
|
-
*
|
|
32
|
-
* @param
|
|
33
|
-
* @param {*} fov 视场角
|
|
56
|
+
* 暂停录像播放
|
|
57
|
+
* @param ids 融合点位ID列表(可选,如果不传则操作之前start打开的ids)
|
|
34
58
|
*/
|
|
35
|
-
static
|
|
59
|
+
static pause(ids?: FusionIdItem[]): void;
|
|
36
60
|
/**
|
|
37
|
-
*
|
|
38
|
-
* @param
|
|
39
|
-
* @param {*} isLocation 是否定位到第一个点。 true = 定位第一个, false = 不定位
|
|
40
|
-
* @param {*} backPlay
|
|
41
|
-
* @param {*} videoType Video:实时流,Record:录像,默认实时流 Video
|
|
61
|
+
* 恢复录像播放
|
|
62
|
+
* @param ids 融合点位ID列表(可选,如果不传则操作之前start打开的ids)
|
|
42
63
|
*/
|
|
43
|
-
static
|
|
64
|
+
static resume(ids?: FusionIdItem[]): void;
|
|
44
65
|
/**
|
|
45
|
-
*
|
|
46
|
-
* @param
|
|
47
|
-
* @param {*} isLocation 是否定位到第一个点。 true = 定位第一个, false = 不定位
|
|
48
|
-
* @param {*} backPlay
|
|
49
|
-
* @param {*} videoType Video:实时流,Record:录像,默认实时流 Video
|
|
66
|
+
* 视角飞到指定的融合点位
|
|
67
|
+
* @param options 飞到融合点位参数
|
|
50
68
|
*/
|
|
51
|
-
static
|
|
69
|
+
static flyTo(options: VideoFusionFlyToOptions): void;
|
|
52
70
|
/**
|
|
53
|
-
*
|
|
54
|
-
* @param {*} token TOKEN
|
|
71
|
+
* 获取当前所有的融合点位ID
|
|
55
72
|
*/
|
|
56
|
-
static
|
|
73
|
+
static get(): void;
|
|
57
74
|
/**
|
|
58
|
-
*
|
|
75
|
+
* 设置定位到融合点的时候,隐藏融合视频的阈值
|
|
76
|
+
* @param options 设置参数
|
|
59
77
|
*/
|
|
60
|
-
static
|
|
78
|
+
static setting(options?: VideoFusionSettingOptions): void;
|
|
61
79
|
}
|
|
62
|
-
export {};
|
|
63
80
|
//# sourceMappingURL=VideoFusion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoFusion.d.ts","sourceRoot":"","sources":["../../src/modules/VideoFusion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VideoFusion.d.ts","sourceRoot":"","sources":["../../src/modules/VideoFusion.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAM7C,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAG3C,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAG5C,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAGD,MAAM,WAAW,sBAAsB;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC;CACxB;AAGD,MAAM,WAAW,uBAAuB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,yBAAyB;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAyBD,qBAAa,iBAAkB,SAAQ,MAAM;IACzC;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB;IAuB3C;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM;IAiB5B;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,GAAE,sBAA2B;IA4CjD;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE;IAoBhC;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE;IAoBjC;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE;IAoBlC;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,uBAAuB;IAmB7C;;OAEG;IACH,MAAM,CAAC,GAAG;IAeV;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,yBAA8B;CA2BzD"}
|
|
@@ -1,98 +1,180 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 视频融合
|
|
3
3
|
*/
|
|
4
4
|
import { Action } from "./Action";
|
|
5
5
|
export class VideoFusionAction extends Action {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
* @param
|
|
9
|
-
* @param {*} ip IP
|
|
10
|
-
* @param {*} port 端口
|
|
11
|
-
* @param {*} token TOKEN
|
|
12
|
-
* @param {*} isHttps 是否https
|
|
7
|
+
* 初始化视频融合
|
|
8
|
+
* @param options 初始化参数
|
|
13
9
|
*/
|
|
14
|
-
static
|
|
10
|
+
static init(options) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const data = {
|
|
13
|
+
action: 'init',
|
|
14
|
+
token: options.token,
|
|
15
|
+
ip: options.ip,
|
|
16
|
+
port: (_a = options.port) !== null && _a !== void 0 ? _a : '8080',
|
|
17
|
+
isHttps: (_b = options.isHttps) !== null && _b !== void 0 ? _b : true
|
|
18
|
+
};
|
|
19
|
+
const param = {
|
|
20
|
+
cmd: "videoFusion",
|
|
21
|
+
data
|
|
22
|
+
};
|
|
23
|
+
this.sendParam(param, '初始化视频融合');
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 刷新token
|
|
27
|
+
* @param token 新的token
|
|
28
|
+
*/
|
|
29
|
+
static refresh(token) {
|
|
30
|
+
const data = {
|
|
31
|
+
action: 'refresh',
|
|
32
|
+
token
|
|
33
|
+
};
|
|
15
34
|
const param = {
|
|
16
35
|
cmd: "videoFusion",
|
|
17
|
-
|
|
18
|
-
token,
|
|
19
|
-
ip,
|
|
20
|
-
port,
|
|
21
|
-
isHttps,
|
|
36
|
+
data
|
|
22
37
|
};
|
|
23
|
-
this.sendParam(param, '
|
|
38
|
+
this.sendParam(param, '刷新token');
|
|
24
39
|
}
|
|
25
40
|
/**
|
|
26
|
-
*
|
|
27
|
-
* @param
|
|
28
|
-
* @param {*} fov 视场角
|
|
41
|
+
* 播放视频
|
|
42
|
+
* @param options 播放参数
|
|
29
43
|
*/
|
|
30
|
-
static
|
|
44
|
+
static start(options = {}) {
|
|
45
|
+
const data = {
|
|
46
|
+
action: 'start'
|
|
47
|
+
};
|
|
48
|
+
if (options.isLocation !== undefined) {
|
|
49
|
+
data.isLocation = options.isLocation;
|
|
50
|
+
}
|
|
51
|
+
if (options.videoType) {
|
|
52
|
+
data.videoType = options.videoType;
|
|
53
|
+
}
|
|
54
|
+
if (options.recordType) {
|
|
55
|
+
data.recordType = options.recordType;
|
|
56
|
+
}
|
|
57
|
+
if (options.recordStartTime) {
|
|
58
|
+
data.recordStartTime = options.recordStartTime;
|
|
59
|
+
}
|
|
60
|
+
if (options.recordEndTime) {
|
|
61
|
+
data.recordEndTime = options.recordEndTime;
|
|
62
|
+
}
|
|
63
|
+
if (options.backPlay !== undefined) {
|
|
64
|
+
data.backPlay = options.backPlay;
|
|
65
|
+
}
|
|
66
|
+
if (options.ids) {
|
|
67
|
+
data.ids = options.ids;
|
|
68
|
+
}
|
|
31
69
|
const param = {
|
|
32
70
|
cmd: "videoFusion",
|
|
33
|
-
|
|
34
|
-
id,
|
|
35
|
-
fov,
|
|
71
|
+
data
|
|
36
72
|
};
|
|
37
|
-
this.sendParam(param,
|
|
73
|
+
this.sendParam(param, '播放视频');
|
|
38
74
|
}
|
|
39
75
|
/**
|
|
40
|
-
*
|
|
41
|
-
* @param
|
|
42
|
-
* @param {*} isLocation 是否定位到第一个点。 true = 定位第一个, false = 不定位
|
|
43
|
-
* @param {*} backPlay
|
|
44
|
-
* @param {*} videoType Video:实时流,Record:录像,默认实时流 Video
|
|
76
|
+
* 停止视频
|
|
77
|
+
* @param ids 融合点位ID列表(可选,如果不传则操作之前start打开的ids)
|
|
45
78
|
*/
|
|
46
|
-
static
|
|
79
|
+
static stop(ids) {
|
|
80
|
+
const data = {
|
|
81
|
+
action: 'stop'
|
|
82
|
+
};
|
|
83
|
+
if (ids) {
|
|
84
|
+
data.ids = ids;
|
|
85
|
+
}
|
|
47
86
|
const param = {
|
|
48
87
|
cmd: "videoFusion",
|
|
49
|
-
|
|
50
|
-
isLocation,
|
|
51
|
-
videoType,
|
|
52
|
-
backPlay,
|
|
53
|
-
ids,
|
|
88
|
+
data
|
|
54
89
|
};
|
|
55
|
-
this.sendParam(param, '
|
|
90
|
+
this.sendParam(param, '停止视频');
|
|
56
91
|
}
|
|
57
92
|
/**
|
|
58
|
-
*
|
|
59
|
-
* @param
|
|
60
|
-
* @param {*} isLocation 是否定位到第一个点。 true = 定位第一个, false = 不定位
|
|
61
|
-
* @param {*} backPlay
|
|
62
|
-
* @param {*} videoType Video:实时流,Record:录像,默认实时流 Video
|
|
93
|
+
* 暂停录像播放
|
|
94
|
+
* @param ids 融合点位ID列表(可选,如果不传则操作之前start打开的ids)
|
|
63
95
|
*/
|
|
64
|
-
static
|
|
96
|
+
static pause(ids) {
|
|
97
|
+
const data = {
|
|
98
|
+
action: 'pause'
|
|
99
|
+
};
|
|
100
|
+
if (ids) {
|
|
101
|
+
data.ids = ids;
|
|
102
|
+
}
|
|
65
103
|
const param = {
|
|
66
104
|
cmd: "videoFusion",
|
|
67
|
-
|
|
68
|
-
isLocation,
|
|
69
|
-
videoType,
|
|
70
|
-
backPlay,
|
|
71
|
-
ids,
|
|
105
|
+
data
|
|
72
106
|
};
|
|
73
|
-
this.sendParam(param, '
|
|
107
|
+
this.sendParam(param, '暂停录像播放');
|
|
74
108
|
}
|
|
75
109
|
/**
|
|
76
|
-
*
|
|
77
|
-
* @param
|
|
110
|
+
* 恢复录像播放
|
|
111
|
+
* @param ids 融合点位ID列表(可选,如果不传则操作之前start打开的ids)
|
|
78
112
|
*/
|
|
79
|
-
static
|
|
113
|
+
static resume(ids) {
|
|
114
|
+
const data = {
|
|
115
|
+
action: 'resume'
|
|
116
|
+
};
|
|
117
|
+
if (ids) {
|
|
118
|
+
data.ids = ids;
|
|
119
|
+
}
|
|
80
120
|
const param = {
|
|
81
121
|
cmd: "videoFusion",
|
|
82
|
-
|
|
83
|
-
token,
|
|
122
|
+
data
|
|
84
123
|
};
|
|
85
|
-
this.sendParam(param, '
|
|
124
|
+
this.sendParam(param, '恢复录像播放');
|
|
86
125
|
}
|
|
87
126
|
/**
|
|
88
|
-
*
|
|
127
|
+
* 视角飞到指定的融合点位
|
|
128
|
+
* @param options 飞到融合点位参数
|
|
89
129
|
*/
|
|
90
|
-
static
|
|
130
|
+
static flyTo(options) {
|
|
131
|
+
var _a;
|
|
132
|
+
const data = {
|
|
133
|
+
action: 'flyTo',
|
|
134
|
+
id: options.id,
|
|
135
|
+
fov: (_a = options.fov) !== null && _a !== void 0 ? _a : 90
|
|
136
|
+
};
|
|
137
|
+
const param = {
|
|
138
|
+
cmd: "videoFusion",
|
|
139
|
+
data
|
|
140
|
+
};
|
|
141
|
+
this.sendParam(param, `飞到融合点位 - id: ${options.id}`);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* 获取当前所有的融合点位ID
|
|
145
|
+
*/
|
|
146
|
+
static get() {
|
|
147
|
+
const data = {
|
|
148
|
+
action: 'get'
|
|
149
|
+
};
|
|
150
|
+
const param = {
|
|
151
|
+
cmd: "videoFusion",
|
|
152
|
+
data
|
|
153
|
+
};
|
|
154
|
+
this.sendParam(param, '获取当前所有的融合点位ID');
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* 设置定位到融合点的时候,隐藏融合视频的阈值
|
|
158
|
+
* @param options 设置参数
|
|
159
|
+
*/
|
|
160
|
+
static setting(options = {}) {
|
|
161
|
+
const data = {
|
|
162
|
+
action: 'setting'
|
|
163
|
+
};
|
|
164
|
+
if (options.armLengthThreshold !== undefined) {
|
|
165
|
+
data.armLengthThreshold = options.armLengthThreshold;
|
|
166
|
+
}
|
|
167
|
+
if (options.distanceThreshold !== undefined) {
|
|
168
|
+
data.distanceThreshold = options.distanceThreshold;
|
|
169
|
+
}
|
|
170
|
+
if (options.rotationThreshold !== undefined) {
|
|
171
|
+
data.rotationThreshold = options.rotationThreshold;
|
|
172
|
+
}
|
|
91
173
|
const param = {
|
|
92
174
|
cmd: "videoFusion",
|
|
93
|
-
|
|
175
|
+
data
|
|
94
176
|
};
|
|
95
|
-
this.sendParam(param, '
|
|
177
|
+
this.sendParam(param, '设置隐藏融合视频的阈值');
|
|
96
178
|
}
|
|
97
179
|
}
|
|
98
180
|
//# sourceMappingURL=VideoFusion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoFusion.js","sourceRoot":"","sources":["../../src/modules/VideoFusion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VideoFusion.js","sourceRoot":"","sources":["../../src/modules/VideoFusion.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -12,4 +12,5 @@ export { GameModeAction } from './modules/GameMode'
|
|
|
12
12
|
export { AnimationAction } from './modules/Animation'
|
|
13
13
|
export { EffectAction } from './modules/Effect'
|
|
14
14
|
export { InitAction } from './modules/Init'
|
|
15
|
+
export { VideoFusionAction } from './modules/VideoFusion'
|
|
15
16
|
export type { InitVideoOptions } from './modules/Init'
|
package/src/modules/Init.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { Action } from "./Action";
|
|
5
5
|
// 导入 peer-stream.js 以确保自定义元素在使用前被注册
|
|
6
6
|
import "../peer-stream.js";
|
|
7
|
+
import { VideoFusionAction } from "./VideoFusion";
|
|
7
8
|
|
|
8
9
|
// 初始化配置选项
|
|
9
10
|
export interface InitVideoOptions {
|
|
@@ -61,6 +62,11 @@ export class InitAction extends Action {
|
|
|
61
62
|
try {
|
|
62
63
|
const data = JSON.parse(e.detail);
|
|
63
64
|
options.onMessage!(data);
|
|
65
|
+
//视频融合初始化的返回。我这里先自动处理一波,外面可以不处理了
|
|
66
|
+
if (data.code === '0' && data.cmd === 'videoFusion' && data.data.action === 'init') {
|
|
67
|
+
//获取当前所有融合点位ID
|
|
68
|
+
VideoFusionAction.get();
|
|
69
|
+
}
|
|
64
70
|
} catch (error) {
|
|
65
71
|
console.error("解析消息失败:", error);
|
|
66
72
|
}
|
package/src/modules/Routing.ts
CHANGED
|
@@ -13,6 +13,7 @@ export type RoutingType = 'videoPatrol'
|
|
|
13
13
|
export interface RoutingParam {
|
|
14
14
|
type: RoutingType; // 巡视类型,目前只有 videoPatrol
|
|
15
15
|
id: string; // 路线ID,命名规则:园区室外使用 VP-1, VP-2;室内分层建筑使用 A-1(A楼1楼)
|
|
16
|
+
speed?: number; // 移动速度,越小越慢
|
|
16
17
|
isPauseAtRouting?: boolean; // 巡检途中遇到摄像头弹框时是否停下来,默认 false
|
|
17
18
|
isRolerMoveOnRouting?: boolean; // 巡检途中是否有人在路径上行走,默认 false
|
|
18
19
|
isViewFollow?: boolean; // 巡检途中视角是否跟随路径线,默认 false。true时,isRolerMoveOnRouting 应为 false
|
|
@@ -24,6 +25,7 @@ type RoutingParamType = SendParam & {
|
|
|
24
25
|
action: RoutingActionType;
|
|
25
26
|
type?: RoutingType;
|
|
26
27
|
id?: string;
|
|
28
|
+
speed?: number;
|
|
27
29
|
isPauseAtRouting?: boolean;
|
|
28
30
|
isRolerMoveOnRouting?: boolean;
|
|
29
31
|
isViewFollow?: boolean;
|
|
@@ -46,6 +48,7 @@ export class RoutingAction extends Action {
|
|
|
46
48
|
action: 'start';
|
|
47
49
|
type: RoutingType;
|
|
48
50
|
id: string;
|
|
51
|
+
speed?: number;
|
|
49
52
|
isPauseAtRouting?: boolean;
|
|
50
53
|
isRolerMoveOnRouting?: boolean;
|
|
51
54
|
isViewFollow?: boolean;
|
|
@@ -56,6 +59,9 @@ export class RoutingAction extends Action {
|
|
|
56
59
|
};
|
|
57
60
|
|
|
58
61
|
// 可选参数
|
|
62
|
+
if (param.speed !== undefined) {
|
|
63
|
+
data.speed = param.speed;
|
|
64
|
+
}
|
|
59
65
|
if (param.isPauseAtRouting !== undefined) {
|
|
60
66
|
data.isPauseAtRouting = param.isPauseAtRouting;
|
|
61
67
|
}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 视频融合
|
|
3
|
+
*/
|
|
4
|
+
import { Action, SendParam } from "./Action";
|
|
5
|
+
|
|
6
|
+
// 视频融合操作类型
|
|
7
|
+
type VideoFusionActionType = 'init' | 'refresh' | 'start' | 'stop' | 'pause' | 'resume' | 'flyTo' | 'get' | 'setting';
|
|
8
|
+
|
|
9
|
+
// 视频类型
|
|
10
|
+
export type VideoType = 'Video' | 'Record';
|
|
11
|
+
|
|
12
|
+
// 录像类型
|
|
13
|
+
export type RecordType = 'Cloud' | 'Device';
|
|
14
|
+
|
|
15
|
+
// 融合点位ID项
|
|
16
|
+
export interface FusionIdItem {
|
|
17
|
+
id: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// 初始化参数
|
|
21
|
+
export interface VideoFusionInitOptions {
|
|
22
|
+
token: string;
|
|
23
|
+
ip: string;
|
|
24
|
+
port?: string; // 默认 8080
|
|
25
|
+
isHttps?: boolean; // 默认 true
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// 播放/停止视频参数
|
|
29
|
+
export interface VideoFusionPlayOptions {
|
|
30
|
+
isLocation?: boolean; // 是否定位到第一个点
|
|
31
|
+
videoType?: VideoType; // 视频类型:Video(实时流),Record(录像)
|
|
32
|
+
recordType?: RecordType; // 录像类型:Cloud(中心录像),Device(设备录像)
|
|
33
|
+
recordStartTime?: string; // 录像开始时间,格式:YYYYMMDDTHHmmSSZ
|
|
34
|
+
recordEndTime?: string; // 录像结束时间,格式:YYYYMMDDTHHmmSSZ
|
|
35
|
+
backPlay?: boolean; // 是否回放
|
|
36
|
+
ids?: FusionIdItem[]; // 融合点位ID列表
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// 飞到融合点位参数
|
|
40
|
+
export interface VideoFusionFlyToOptions {
|
|
41
|
+
id: string; // 视频融合的channelCode
|
|
42
|
+
fov?: number; // pawn相机的视场角,默认90
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// 设置参数
|
|
46
|
+
export interface VideoFusionSettingOptions {
|
|
47
|
+
armLengthThreshold?: number; // 臂长阈值
|
|
48
|
+
distanceThreshold?: number; // 距离阈值
|
|
49
|
+
rotationThreshold?: number; // 旋转阈值
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
type VideoFusionParamType = SendParam & {
|
|
53
|
+
cmd: "videoFusion";
|
|
54
|
+
data: {
|
|
55
|
+
action: VideoFusionActionType;
|
|
56
|
+
token?: string;
|
|
57
|
+
ip?: string;
|
|
58
|
+
port?: string;
|
|
59
|
+
isHttps?: boolean;
|
|
60
|
+
isLocation?: boolean;
|
|
61
|
+
videoType?: VideoType;
|
|
62
|
+
recordType?: RecordType;
|
|
63
|
+
recordStartTime?: string;
|
|
64
|
+
recordEndTime?: string;
|
|
65
|
+
backPlay?: boolean;
|
|
66
|
+
ids?: FusionIdItem[];
|
|
67
|
+
id?: string;
|
|
68
|
+
fov?: number;
|
|
69
|
+
armLengthThreshold?: number;
|
|
70
|
+
distanceThreshold?: number;
|
|
71
|
+
rotationThreshold?: number;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export class VideoFusionAction extends Action {
|
|
76
|
+
/**
|
|
77
|
+
* 初始化视频融合
|
|
78
|
+
* @param options 初始化参数
|
|
79
|
+
*/
|
|
80
|
+
static init(options: VideoFusionInitOptions) {
|
|
81
|
+
const data: {
|
|
82
|
+
action: 'init';
|
|
83
|
+
token: string;
|
|
84
|
+
ip: string;
|
|
85
|
+
port: string;
|
|
86
|
+
isHttps: boolean;
|
|
87
|
+
} = {
|
|
88
|
+
action: 'init',
|
|
89
|
+
token: options.token,
|
|
90
|
+
ip: options.ip,
|
|
91
|
+
port: options.port ?? '8080',
|
|
92
|
+
isHttps: options.isHttps ?? true
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const param: VideoFusionParamType = {
|
|
96
|
+
cmd: "videoFusion",
|
|
97
|
+
data
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
this.sendParam(param, '初始化视频融合');
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* 刷新token
|
|
105
|
+
* @param token 新的token
|
|
106
|
+
*/
|
|
107
|
+
static refresh(token: string) {
|
|
108
|
+
const data: {
|
|
109
|
+
action: 'refresh';
|
|
110
|
+
token: string;
|
|
111
|
+
} = {
|
|
112
|
+
action: 'refresh',
|
|
113
|
+
token
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
const param: VideoFusionParamType = {
|
|
117
|
+
cmd: "videoFusion",
|
|
118
|
+
data
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
this.sendParam(param, '刷新token');
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* 播放视频
|
|
126
|
+
* @param options 播放参数
|
|
127
|
+
*/
|
|
128
|
+
static start(options: VideoFusionPlayOptions = {}) {
|
|
129
|
+
const data: {
|
|
130
|
+
action: 'start';
|
|
131
|
+
isLocation?: boolean;
|
|
132
|
+
videoType?: VideoType;
|
|
133
|
+
recordType?: RecordType;
|
|
134
|
+
recordStartTime?: string;
|
|
135
|
+
recordEndTime?: string;
|
|
136
|
+
backPlay?: boolean;
|
|
137
|
+
ids?: FusionIdItem[];
|
|
138
|
+
} = {
|
|
139
|
+
action: 'start'
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
if (options.isLocation !== undefined) {
|
|
143
|
+
data.isLocation = options.isLocation;
|
|
144
|
+
}
|
|
145
|
+
if (options.videoType) {
|
|
146
|
+
data.videoType = options.videoType;
|
|
147
|
+
}
|
|
148
|
+
if (options.recordType) {
|
|
149
|
+
data.recordType = options.recordType;
|
|
150
|
+
}
|
|
151
|
+
if (options.recordStartTime) {
|
|
152
|
+
data.recordStartTime = options.recordStartTime;
|
|
153
|
+
}
|
|
154
|
+
if (options.recordEndTime) {
|
|
155
|
+
data.recordEndTime = options.recordEndTime;
|
|
156
|
+
}
|
|
157
|
+
if (options.backPlay !== undefined) {
|
|
158
|
+
data.backPlay = options.backPlay;
|
|
159
|
+
}
|
|
160
|
+
if (options.ids) {
|
|
161
|
+
data.ids = options.ids;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
const param: VideoFusionParamType = {
|
|
165
|
+
cmd: "videoFusion",
|
|
166
|
+
data
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
this.sendParam(param, '播放视频');
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* 停止视频
|
|
174
|
+
* @param ids 融合点位ID列表(可选,如果不传则操作之前start打开的ids)
|
|
175
|
+
*/
|
|
176
|
+
static stop(ids?: FusionIdItem[]) {
|
|
177
|
+
const data: {
|
|
178
|
+
action: 'stop';
|
|
179
|
+
ids?: FusionIdItem[];
|
|
180
|
+
} = {
|
|
181
|
+
action: 'stop'
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
if (ids) {
|
|
185
|
+
data.ids = ids;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
const param: VideoFusionParamType = {
|
|
189
|
+
cmd: "videoFusion",
|
|
190
|
+
data
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
this.sendParam(param, '停止视频');
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* 暂停录像播放
|
|
198
|
+
* @param ids 融合点位ID列表(可选,如果不传则操作之前start打开的ids)
|
|
199
|
+
*/
|
|
200
|
+
static pause(ids?: FusionIdItem[]) {
|
|
201
|
+
const data: {
|
|
202
|
+
action: 'pause';
|
|
203
|
+
ids?: FusionIdItem[];
|
|
204
|
+
} = {
|
|
205
|
+
action: 'pause'
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
if (ids) {
|
|
209
|
+
data.ids = ids;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
const param: VideoFusionParamType = {
|
|
213
|
+
cmd: "videoFusion",
|
|
214
|
+
data
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
this.sendParam(param, '暂停录像播放');
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* 恢复录像播放
|
|
222
|
+
* @param ids 融合点位ID列表(可选,如果不传则操作之前start打开的ids)
|
|
223
|
+
*/
|
|
224
|
+
static resume(ids?: FusionIdItem[]) {
|
|
225
|
+
const data: {
|
|
226
|
+
action: 'resume';
|
|
227
|
+
ids?: FusionIdItem[];
|
|
228
|
+
} = {
|
|
229
|
+
action: 'resume'
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
if (ids) {
|
|
233
|
+
data.ids = ids;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
const param: VideoFusionParamType = {
|
|
237
|
+
cmd: "videoFusion",
|
|
238
|
+
data
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
this.sendParam(param, '恢复录像播放');
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* 视角飞到指定的融合点位
|
|
246
|
+
* @param options 飞到融合点位参数
|
|
247
|
+
*/
|
|
248
|
+
static flyTo(options: VideoFusionFlyToOptions) {
|
|
249
|
+
const data: {
|
|
250
|
+
action: 'flyTo';
|
|
251
|
+
id: string;
|
|
252
|
+
fov: number;
|
|
253
|
+
} = {
|
|
254
|
+
action: 'flyTo',
|
|
255
|
+
id: options.id,
|
|
256
|
+
fov: options.fov ?? 90
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
const param: VideoFusionParamType = {
|
|
260
|
+
cmd: "videoFusion",
|
|
261
|
+
data
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
this.sendParam(param, `飞到融合点位 - id: ${options.id}`);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* 获取当前所有的融合点位ID
|
|
269
|
+
*/
|
|
270
|
+
static get() {
|
|
271
|
+
const data: {
|
|
272
|
+
action: 'get';
|
|
273
|
+
} = {
|
|
274
|
+
action: 'get'
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
const param: VideoFusionParamType = {
|
|
278
|
+
cmd: "videoFusion",
|
|
279
|
+
data
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
this.sendParam(param, '获取当前所有的融合点位ID');
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* 设置定位到融合点的时候,隐藏融合视频的阈值
|
|
287
|
+
* @param options 设置参数
|
|
288
|
+
*/
|
|
289
|
+
static setting(options: VideoFusionSettingOptions = {}) {
|
|
290
|
+
const data: {
|
|
291
|
+
action: 'setting';
|
|
292
|
+
armLengthThreshold?: number;
|
|
293
|
+
distanceThreshold?: number;
|
|
294
|
+
rotationThreshold?: number;
|
|
295
|
+
} = {
|
|
296
|
+
action: 'setting'
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
if (options.armLengthThreshold !== undefined) {
|
|
300
|
+
data.armLengthThreshold = options.armLengthThreshold;
|
|
301
|
+
}
|
|
302
|
+
if (options.distanceThreshold !== undefined) {
|
|
303
|
+
data.distanceThreshold = options.distanceThreshold;
|
|
304
|
+
}
|
|
305
|
+
if (options.rotationThreshold !== undefined) {
|
|
306
|
+
data.rotationThreshold = options.rotationThreshold;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
const param: VideoFusionParamType = {
|
|
310
|
+
cmd: "videoFusion",
|
|
311
|
+
data
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
this.sendParam(param, '设置隐藏融合视频的阈值');
|
|
315
|
+
}
|
|
316
|
+
}
|