@realsee/vreo 1.0.0-alpha.1 → 1.0.0-alpha.2
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/docs/assets/search.js +1 -1
- package/docs/classes/Player.AudioLike.html +6 -6
- package/docs/classes/Player.Controller.html +12 -12
- package/docs/classes/Player.Player-1.html +11 -11
- package/docs/classes/Player.VideoAgentMesh.html +12 -12
- package/docs/classes/Player.VideoAgentScene.html +1 -1
- package/docs/enums/Player.InfoPanelStyleEnum.html +1 -1
- package/docs/enums/Player.InfoPanelTypeEnum.html +1 -1
- package/docs/enums/Player.PanoEffectEnum.html +1 -1
- package/docs/enums/Player.PanoTagEnum.html +1 -1
- package/docs/enums/Player.PanoTagStyleEnum.html +2 -2
- package/docs/enums/Player.VreoKeyframeEnum.html +12 -12
- package/docs/enums/fivePlugins.CameraMovementEffect.html +1 -1
- package/docs/enums/fivePlugins.Rotation.html +1 -1
- package/docs/interfaces/Player.CustomVreoKeyframeProps.html +1 -1
- package/docs/interfaces/Player.PlayerConfigs.html +4 -3
- package/docs/interfaces/Player.Vertex.html +1 -1
- package/docs/interfaces/Player.VideoAgentMeshOptions.html +3 -3
- package/docs/interfaces/Player.VreoKeyframe.html +1 -1
- package/docs/interfaces/Player.VreoUnit.html +1 -1
- package/docs/interfaces/Player.VreoVideo.html +1 -1
- package/docs/interfaces/fivePlugins.CSS3DRenderPluginExportType.html +2 -2
- package/docs/interfaces/fivePlugins.CameraMovementOptsCallback.html +1 -1
- package/docs/interfaces/fivePlugins.CameraMovementPluginExportType.html +2 -2
- package/docs/interfaces/fivePlugins.ModelTVVideoPluginData.html +1 -1
- package/docs/interfaces/fivePlugins.ModelTVVideoPluginExportType.html +1 -1
- package/docs/interfaces/fivePlugins.ModelTVVideoPluginParameterType.html +1 -1
- package/docs/interfaces/fivePlugins.Vector3Position.html +1 -1
- package/docs/interfaces/react.VreoActionCallbacks.html +6 -6
- package/docs/interfaces/react.VreoProviderProps.html +1 -1
- package/docs/modules/Player.html +16 -16
- package/docs/modules/custom.html +1 -1
- package/docs/modules/fivePlugins.html +3 -3
- package/docs/modules/react.html +1 -1
- package/lib/PlayController/index.js +1 -2
- package/lib/Player/App.js +8 -6
- package/lib/Player/Controller.d.ts +27 -8
- package/lib/Player/Controller.js +170 -23
- package/lib/Player/custom/SpatialScenePanel/index.js +2 -1
- package/lib/Player/hooks.js +2 -2
- package/lib/Player/index.d.ts +2 -1
- package/lib/Player/index.js +42 -29
- package/lib/Player/modules/ResizeObserver/index.d.ts +2 -0
- package/lib/Player/modules/ResizeObserver/index.js +37 -0
- package/lib/Player/modules/VideoAgent/VideoAgentMesh.d.ts +1 -1
- package/lib/Player/modules/VideoAgent/VideoAgentMesh.js +44 -43
- package/lib/Player/modules/VideoAgent/VideoAgentScene.d.ts +3 -7
- package/lib/Player/modules/VideoAgent/VideoAgentScene.js +25 -34
- package/lib/Player/modules/VideoAgent/index.js +52 -11
- package/lib/Player/modules/Wave/index.d.ts +5 -0
- package/lib/Player/modules/Wave/index.js +51 -0
- package/lib/Player/modules/keyframes/InfoPanel/index.js +20 -8
- package/lib/Player/modules/keyframes/PanoTag/index.d.ts +1 -2
- package/lib/Player/modules/keyframes/PanoTag/index.js +78 -131
- package/lib/Player/modules/keyframes/PanoTextLabel/index.js +0 -1
- package/lib/Player/modules/keyframes/Prompter/index.js +5 -4
- package/lib/Player/typings.d.ts +9 -2
- package/lib/fivePlugins/CameraMovementPlugin/index.js +2 -5
- package/lib/react/index.d.ts +2 -2
- package/lib/shared-utils/AduioLike.js +8 -7
- package/lib/shared-utils/addResizeListener.d.ts +4 -0
- package/lib/shared-utils/addResizeListener.js +51 -0
- package/lib/shared-utils/getFileExpandedName.d.ts +1 -0
- package/lib/shared-utils/getFileExpandedName.js +13 -0
- package/lib/shared-utils/getMediaInfo.d.ts +9 -0
- package/lib/shared-utils/getMediaInfo.js +75 -0
- package/lib/shared-utils/setElementDataset.d.ts +1 -0
- package/lib/shared-utils/setElementDataset.js +24 -0
- package/lib/typings/VreoUnit.d.ts +4 -0
- package/package.json +1 -1
|
@@ -15,6 +15,8 @@ var _mobx = require("mobx");
|
|
|
15
15
|
|
|
16
16
|
var _AduioLike = _interopRequireDefault(require("../../../shared-utils/AduioLike"));
|
|
17
17
|
|
|
18
|
+
var _getMediaInfo = require("../../../shared-utils/getMediaInfo");
|
|
19
|
+
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
21
|
|
|
20
22
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -86,6 +88,7 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
86
88
|
} else {
|
|
87
89
|
var videoInstance = document.createElement('video');
|
|
88
90
|
videoInstance.style.opacity = '0';
|
|
91
|
+
videoInstance.style.pointerEvents = 'none';
|
|
89
92
|
videoInstance.style.display = 'none';
|
|
90
93
|
document.body.append(videoInstance);
|
|
91
94
|
options.videoInstance = videoInstance;
|
|
@@ -123,10 +126,8 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
123
126
|
audioInstance.crossOrigin = ''; // videoInstance.muted = true
|
|
124
127
|
|
|
125
128
|
audioInstance.muted = false;
|
|
126
|
-
audioInstance.
|
|
127
|
-
audioInstance.
|
|
128
|
-
audioInstance.setAttribute('autoplay', 'false');
|
|
129
|
-
audioInstance.setAttribute('style', 'display: none;');
|
|
129
|
+
audioInstance.autoplay = false;
|
|
130
|
+
audioInstance.style.display = 'none';
|
|
130
131
|
document.body.appendChild(audioInstance);
|
|
131
132
|
_this.audioInstance = audioInstance;
|
|
132
133
|
cacheInstance.audioInstance = audioInstance;
|
|
@@ -155,7 +156,7 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
155
156
|
};
|
|
156
157
|
|
|
157
158
|
var onEnded = function onEnded() {
|
|
158
|
-
console.log('vreo: video 播放结束');
|
|
159
|
+
return console.log('vreo: video 播放结束');
|
|
159
160
|
};
|
|
160
161
|
|
|
161
162
|
_this.audioInstance.addEventListener('pause', onPause);
|
|
@@ -192,15 +193,13 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
192
193
|
}
|
|
193
194
|
|
|
194
195
|
_createClass(VideoAgentMesh, [{
|
|
195
|
-
key: "
|
|
196
|
+
key: "mediaInstance",
|
|
196
197
|
get: function get() {
|
|
197
|
-
var _this$videoUrl;
|
|
198
|
-
|
|
199
198
|
if (!this.videoUrl) {
|
|
200
199
|
return this.audioLikeInstance;
|
|
201
200
|
}
|
|
202
201
|
|
|
203
|
-
if ((
|
|
202
|
+
if ((0, _getMediaInfo.getMediaType)(this.videoUrl) === 'audio') {
|
|
204
203
|
return this.audioInstance;
|
|
205
204
|
}
|
|
206
205
|
|
|
@@ -227,16 +226,22 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
227
226
|
return _context.abrupt("return");
|
|
228
227
|
|
|
229
228
|
case 2:
|
|
230
|
-
this.videoUrl = videoUrl;
|
|
229
|
+
this.videoUrl = videoUrl; // // 兼容非视频场景
|
|
230
|
+
// if (this.mediaInstance instanceof HTMLAudioElement) {
|
|
231
|
+
// this.mediaInstance.style.display = 'none'
|
|
232
|
+
// } else if (this.mediaInstance instanceof HTMLVideoElement) {
|
|
233
|
+
// this.mediaInstance.style.display = 'block'
|
|
234
|
+
// }
|
|
235
|
+
|
|
231
236
|
this.freeze = true;
|
|
232
237
|
_context.next = 6;
|
|
233
|
-
return this.
|
|
238
|
+
return this.mediaInstance.pause();
|
|
234
239
|
|
|
235
240
|
case 6:
|
|
236
241
|
uniforms = this.material.uniforms;
|
|
237
|
-
this.
|
|
242
|
+
this.mediaInstance.muted = true;
|
|
238
243
|
|
|
239
|
-
if (!(this.options.preload || this.options.preload === undefined || this.videoUrl
|
|
244
|
+
if (!(this.options.preload || this.options.preload === undefined || (0, _getMediaInfo.getMediaType)(this.videoUrl) === 'video')) {
|
|
240
245
|
_context.next = 18;
|
|
241
246
|
break;
|
|
242
247
|
}
|
|
@@ -259,21 +264,19 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
259
264
|
_context.t0 = this.videoUrl;
|
|
260
265
|
|
|
261
266
|
case 19:
|
|
262
|
-
this.
|
|
263
|
-
this.
|
|
267
|
+
this.mediaInstance.src = _context.t0;
|
|
268
|
+
this.mediaInstance.setAttribute('data-src', this.videoUrl);
|
|
264
269
|
|
|
265
270
|
onStart = function onStart() {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
if (_this2.videoInstance.currentTime === 0) return;
|
|
271
|
+
if (_this2.mediaInstance.currentTime === 0) return;
|
|
269
272
|
_this2.freeze = false;
|
|
270
|
-
_this2.
|
|
271
|
-
uniforms.enable.value = (
|
|
273
|
+
_this2.mediaInstance.muted = false;
|
|
274
|
+
uniforms.enable.value = (0, _getMediaInfo.getMediaType)(_this2.videoUrl) ? 1 : 0;
|
|
272
275
|
|
|
273
|
-
_this2.
|
|
276
|
+
_this2.mediaInstance.removeEventListener('timeupdate', onStart, false);
|
|
274
277
|
};
|
|
275
278
|
|
|
276
|
-
this.
|
|
279
|
+
this.mediaInstance.addEventListener('timeupdate', onStart, false);
|
|
277
280
|
|
|
278
281
|
case 23:
|
|
279
282
|
case "end":
|
|
@@ -314,12 +317,12 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
314
317
|
}
|
|
315
318
|
|
|
316
319
|
if (this.currentTime) {
|
|
317
|
-
this.
|
|
320
|
+
this.mediaInstance.currentTime = currentTime;
|
|
318
321
|
}
|
|
319
322
|
|
|
320
|
-
this.
|
|
323
|
+
this.mediaInstance.duration = duration;
|
|
321
324
|
this.videoUrl = '';
|
|
322
|
-
this.
|
|
325
|
+
this.mediaInstance.play();
|
|
323
326
|
return _context3.abrupt("return", true);
|
|
324
327
|
|
|
325
328
|
case 10:
|
|
@@ -334,7 +337,7 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
334
337
|
}
|
|
335
338
|
|
|
336
339
|
_context3.next = 14;
|
|
337
|
-
return this.
|
|
340
|
+
return this.mediaInstance.play();
|
|
338
341
|
|
|
339
342
|
case 14:
|
|
340
343
|
_context3.next = 17;
|
|
@@ -347,36 +350,34 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
347
350
|
return _context3.abrupt("return", true);
|
|
348
351
|
|
|
349
352
|
case 18:
|
|
350
|
-
console.log('play', videoUrl, this.videoUrl);
|
|
351
|
-
|
|
352
353
|
if (!(videoUrl === this.videoUrl)) {
|
|
353
|
-
_context3.next =
|
|
354
|
+
_context3.next = 23;
|
|
354
355
|
break;
|
|
355
356
|
}
|
|
356
357
|
|
|
357
|
-
this.
|
|
358
|
-
_context3.next =
|
|
359
|
-
return this.
|
|
358
|
+
this.mediaInstance.currentTime = currentTime;
|
|
359
|
+
_context3.next = 22;
|
|
360
|
+
return this.mediaInstance.play();
|
|
360
361
|
|
|
361
|
-
case
|
|
362
|
+
case 22:
|
|
362
363
|
return _context3.abrupt("return", true);
|
|
363
364
|
|
|
364
|
-
case
|
|
365
|
-
_context3.next =
|
|
365
|
+
case 23:
|
|
366
|
+
_context3.next = 25;
|
|
366
367
|
return this.update(videoUrl);
|
|
367
368
|
|
|
368
|
-
case
|
|
369
|
-
this.
|
|
370
|
-
_context3.next =
|
|
369
|
+
case 25:
|
|
370
|
+
this.mediaInstance.pause();
|
|
371
|
+
_context3.next = 28;
|
|
371
372
|
return new Promise(function (resolve) {
|
|
372
373
|
return setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
|
373
374
|
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
374
375
|
while (1) {
|
|
375
376
|
switch (_context2.prev = _context2.next) {
|
|
376
377
|
case 0:
|
|
377
|
-
_this3.
|
|
378
|
+
_this3.mediaInstance.currentTime = currentTime;
|
|
378
379
|
_context2.next = 3;
|
|
379
|
-
return _this3.
|
|
380
|
+
return _this3.mediaInstance.play();
|
|
380
381
|
|
|
381
382
|
case 3:
|
|
382
383
|
resolve(true);
|
|
@@ -390,10 +391,10 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
390
391
|
})), 20);
|
|
391
392
|
});
|
|
392
393
|
|
|
393
|
-
case
|
|
394
|
+
case 28:
|
|
394
395
|
return _context3.abrupt("return", _context3.sent);
|
|
395
396
|
|
|
396
|
-
case
|
|
397
|
+
case 29:
|
|
397
398
|
case "end":
|
|
398
399
|
return _context3.stop();
|
|
399
400
|
}
|
|
@@ -414,7 +415,7 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
414
415
|
}, {
|
|
415
416
|
key: "currentTime",
|
|
416
417
|
get: function get() {
|
|
417
|
-
return this.
|
|
418
|
+
return this.mediaInstance.currentTime * 1000;
|
|
418
419
|
}
|
|
419
420
|
}, {
|
|
420
421
|
key: "dispose",
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
|
-
import { VideoAgentMesh } from './VideoAgentMesh';
|
|
2
|
+
import { VideoAgentMesh, VideoAgentMeshOptions } from './VideoAgentMesh';
|
|
3
3
|
export declare class VideoAgentScene {
|
|
4
4
|
videoAgentMesh: VideoAgentMesh;
|
|
5
5
|
scene: THREE.Scene;
|
|
6
6
|
camera: THREE.OrthographicCamera;
|
|
7
7
|
renderer: THREE.WebGLRenderer;
|
|
8
|
-
|
|
9
|
-
constructor(container
|
|
10
|
-
videoInstance?: HTMLVideoElement;
|
|
11
|
-
audioInstance?: HTMLAudioElement;
|
|
12
|
-
preload?: boolean;
|
|
13
|
-
});
|
|
8
|
+
disposers: (() => void)[];
|
|
9
|
+
constructor(container?: HTMLElement, options?: VideoAgentMeshOptions);
|
|
14
10
|
run: () => void;
|
|
15
11
|
dispose: () => void;
|
|
16
12
|
}
|
|
@@ -9,6 +9,8 @@ exports.VideoAgentScene = void 0;
|
|
|
9
9
|
|
|
10
10
|
var THREE = _interopRequireWildcard(require("three"));
|
|
11
11
|
|
|
12
|
+
var _addResizeListener = require("../../../shared-utils/addResizeListener");
|
|
13
|
+
|
|
12
14
|
var _VideoAgentMesh = require("./VideoAgentMesh");
|
|
13
15
|
|
|
14
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -23,12 +25,9 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
23
25
|
|
|
24
26
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
27
|
|
|
26
|
-
var VideoAgentScene = /*#__PURE__*/_createClass(function VideoAgentScene(container) {
|
|
28
|
+
var VideoAgentScene = /*#__PURE__*/_createClass(function VideoAgentScene(container, options) {
|
|
27
29
|
var _this = this;
|
|
28
30
|
|
|
29
|
-
var needRender = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
30
|
-
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
31
|
-
|
|
32
31
|
_classCallCheck(this, VideoAgentScene);
|
|
33
32
|
|
|
34
33
|
_defineProperty(this, "scene", new THREE.Scene());
|
|
@@ -39,20 +38,12 @@ var VideoAgentScene = /*#__PURE__*/_createClass(function VideoAgentScene(contain
|
|
|
39
38
|
alpha: true
|
|
40
39
|
}));
|
|
41
40
|
|
|
42
|
-
_defineProperty(this, "
|
|
43
|
-
var _this$videoAgentMesh$;
|
|
44
|
-
|
|
45
|
-
var domElement = _this.renderer.domElement; // 视频开始 1s 不渲染:规避某些设备黑屏闪烁问题。视频前 2s 是最好是静默的。
|
|
41
|
+
_defineProperty(this, "disposers", []);
|
|
46
42
|
|
|
43
|
+
_defineProperty(this, "run", function () {
|
|
44
|
+
// 视频开始 1s 不渲染:规避某些设备黑屏闪烁问题。视频前 2s 是最好是静默的。
|
|
47
45
|
if (!(_this.videoAgentMesh.paused || _this.videoAgentMesh.freeze) && _this.videoAgentMesh.currentTime > 1000) {
|
|
48
46
|
_this.renderer.render(_this.scene, _this.camera);
|
|
49
|
-
} // 兼容非视频场景
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (!((_this$videoAgentMesh$ = _this.videoAgentMesh.videoUrl) !== null && _this$videoAgentMesh$ !== void 0 && _this$videoAgentMesh$.endsWith('.mp4'))) {
|
|
53
|
-
if (domElement.style.display !== 'none') domElement.style.display = 'none';
|
|
54
|
-
} else {
|
|
55
|
-
if (domElement.style.display !== 'block') domElement.style.display = 'block';
|
|
56
47
|
}
|
|
57
48
|
|
|
58
49
|
requestAnimationFrame(_this.run);
|
|
@@ -62,27 +53,27 @@ var VideoAgentScene = /*#__PURE__*/_createClass(function VideoAgentScene(contain
|
|
|
62
53
|
var _this$videoAgentMesh;
|
|
63
54
|
|
|
64
55
|
(_this$videoAgentMesh = _this.videoAgentMesh) === null || _this$videoAgentMesh === void 0 ? void 0 : _this$videoAgentMesh.dispose();
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
this.container = container;
|
|
68
|
-
this.camera.position.set(0, 0, 10);
|
|
69
|
-
this.camera.lookAt(0, 0, 0);
|
|
70
|
-
var state = {
|
|
71
|
-
width: container.offsetWidth,
|
|
72
|
-
height: container.offsetHeight
|
|
73
|
-
};
|
|
74
|
-
var _domElement = this.renderer.domElement;
|
|
75
|
-
|
|
76
|
-
_domElement.classList.add('VideoAgent-canvas');
|
|
77
56
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
this.videoAgentMesh = new _VideoAgentMesh.VideoAgentMesh(480, 270, 1, 1, options);
|
|
57
|
+
_this.disposers.forEach(function (disposer) {
|
|
58
|
+
return disposer === null || disposer === void 0 ? void 0 : disposer();
|
|
59
|
+
});
|
|
60
|
+
});
|
|
83
61
|
|
|
84
|
-
|
|
85
|
-
|
|
62
|
+
this.videoAgentMesh = new _VideoAgentMesh.VideoAgentMesh(480, 270, 1, 1, options); // const needRender = getMediaType(this.videoAgentMesh.videoUrl) === 'video'
|
|
63
|
+
|
|
64
|
+
if (container) {
|
|
65
|
+
this.camera.position.set(0, 0, 10);
|
|
66
|
+
this.camera.lookAt(0, 0, 0);
|
|
67
|
+
var domElement = this.renderer.domElement;
|
|
68
|
+
domElement.classList.add('VideoAgent-canvas');
|
|
69
|
+
var dispose = (0, _addResizeListener.addResizeListener)(container, function (width, height) {
|
|
70
|
+
_this.renderer.setSize(width * window.devicePixelRatio, height * window.devicePixelRatio);
|
|
71
|
+
|
|
72
|
+
domElement.style.width = "".concat(width, "px");
|
|
73
|
+
domElement.style.height = "".concat(height, "px");
|
|
74
|
+
});
|
|
75
|
+
this.disposers.push(dispose);
|
|
76
|
+
container.append(domElement);
|
|
86
77
|
this.scene.add(this.videoAgentMesh);
|
|
87
78
|
this.run();
|
|
88
79
|
}
|
|
@@ -13,38 +13,79 @@ var _hooks = require("../../hooks");
|
|
|
13
13
|
|
|
14
14
|
var _VideoAgentScene = require("./VideoAgentScene");
|
|
15
15
|
|
|
16
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
|
+
|
|
16
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
21
|
|
|
18
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
23
|
|
|
20
24
|
function VideoAgent(props) {
|
|
25
|
+
var _controller$avatar2;
|
|
26
|
+
|
|
21
27
|
var ref = React.useRef(null);
|
|
22
28
|
var controller = (0, _hooks.useController)();
|
|
29
|
+
var showAvatar = React.useMemo(function () {
|
|
30
|
+
var _controller$avatar;
|
|
31
|
+
|
|
32
|
+
return ((_controller$avatar = controller.avatar) === null || _controller$avatar === void 0 ? void 0 : _controller$avatar.url) && controller.avatar.force === true;
|
|
33
|
+
}, [controller.avatar]);
|
|
34
|
+
var showVideoAgent = React.useMemo(function () {
|
|
35
|
+
var _controller$videoAgen;
|
|
36
|
+
|
|
37
|
+
if (showAvatar) return false;
|
|
38
|
+
return ((_controller$videoAgen = controller.videoAgentScene) === null || _controller$videoAgen === void 0 ? void 0 : _controller$videoAgen.videoAgentMesh.mediaInstance) instanceof HTMLVideoElement;
|
|
39
|
+
}, [controller.videoAgentScene]);
|
|
23
40
|
React.useEffect(function () {
|
|
24
41
|
if (!ref.current) throw new Error('React 渲染异常,请稍后重试 ...');
|
|
25
42
|
|
|
26
43
|
if (controller.videoAgentScene) {
|
|
27
|
-
console.warn('
|
|
44
|
+
console.warn('VideoAgentScene" 重复初始化,已被过滤');
|
|
28
45
|
return;
|
|
29
46
|
}
|
|
30
47
|
|
|
31
|
-
var videoAgentScene = new _VideoAgentScene.VideoAgentScene(ref.current,
|
|
48
|
+
var videoAgentScene = new _VideoAgentScene.VideoAgentScene(ref.current, props.options);
|
|
32
49
|
controller.videoAgentScene = videoAgentScene;
|
|
33
50
|
return function () {
|
|
34
|
-
var _controller$
|
|
51
|
+
var _controller$videoAgen2;
|
|
35
52
|
|
|
36
53
|
controller.dispose();
|
|
37
|
-
(_controller$
|
|
54
|
+
(_controller$videoAgen2 = controller.videoAgentScene) === null || _controller$videoAgen2 === void 0 ? void 0 : _controller$videoAgen2.dispose();
|
|
38
55
|
};
|
|
39
56
|
}, []);
|
|
40
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
41
|
-
className: "
|
|
57
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
58
|
+
className: "Avatar",
|
|
59
|
+
style: {
|
|
60
|
+
display: showAvatar ? 'block' : 'none'
|
|
61
|
+
}
|
|
62
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
63
|
+
className: "Avatar-wrapper ratio-1-1"
|
|
64
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
65
|
+
className: "Avatar-img",
|
|
66
|
+
src: (_controller$avatar2 = controller.avatar) === null || _controller$avatar2 === void 0 ? void 0 : _controller$avatar2.url,
|
|
42
67
|
onClick: function onClick() {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
68
|
+
var _props$onClick;
|
|
69
|
+
|
|
70
|
+
return (_props$onClick = props.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props);
|
|
71
|
+
}
|
|
72
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
73
|
+
className: (0, _classnames["default"])('VideoAgent', {
|
|
74
|
+
hide: !showVideoAgent
|
|
75
|
+
})
|
|
76
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
77
|
+
className: "VideoAgent-container"
|
|
78
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
79
|
+
className: "VideoAgent-wrapper ratio-16-9"
|
|
80
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
81
|
+
className: "VideoAgent-inner",
|
|
46
82
|
ref: ref
|
|
47
83
|
}, /*#__PURE__*/React.createElement("div", {
|
|
48
|
-
className: "VideoAgent-play"
|
|
49
|
-
|
|
84
|
+
className: "VideoAgent-play",
|
|
85
|
+
onClick: function onClick() {
|
|
86
|
+
var _props$onClick2;
|
|
87
|
+
|
|
88
|
+
return (_props$onClick2 = props.onClick) === null || _props$onClick2 === void 0 ? void 0 : _props$onClick2.call(props);
|
|
89
|
+
}
|
|
90
|
+
}))))));
|
|
50
91
|
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Wave = Wave;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
function Wave(props) {
|
|
13
|
+
var waveUrl = _react["default"].useMemo(function () {
|
|
14
|
+
var _props$appearance;
|
|
15
|
+
|
|
16
|
+
var appearance = (_props$appearance = props === null || props === void 0 ? void 0 : props.appearance) !== null && _props$appearance !== void 0 ? _props$appearance : 'solid';
|
|
17
|
+
|
|
18
|
+
switch (appearance) {
|
|
19
|
+
default:
|
|
20
|
+
return 'https://vr-public.realsee-cdn.cn/release/static/image/release/vapor/static/wave-solid.64438b63cbb346906d066bb7b8dc3e20.webm';
|
|
21
|
+
|
|
22
|
+
case 'solid':
|
|
23
|
+
return 'https://vr-public.realsee-cdn.cn/release/static/image/release/vapor/static/wave-solid.64438b63cbb346906d066bb7b8dc3e20.webm';
|
|
24
|
+
|
|
25
|
+
case 'single':
|
|
26
|
+
return 'https://vr-public.realsee-cdn.cn/release/static/image/release/vapor/static/wave-single.eda65de390a830193fff40d1f1255555.webm';
|
|
27
|
+
|
|
28
|
+
case 'double':
|
|
29
|
+
return 'https://vr-public.realsee-cdn.cn/release/static/image/release/vapor/static/wave-double.77dfe8548ebcb3f3d336785d4fe9c7b2.webm';
|
|
30
|
+
|
|
31
|
+
case 'swap':
|
|
32
|
+
return 'https://vr-public.realsee-cdn.cn/release/static/image/release/vapor/static/wave-swap.c02e4b94cf05aecf6e7a0023bc7bb90f.webm';
|
|
33
|
+
|
|
34
|
+
case 'expand':
|
|
35
|
+
return 'https://vr-public.realsee-cdn.cn/release/static/image/release/vapor/static/wave-expand.a0d2a0074001cd3d4fea56818c6d3c38.webm';
|
|
36
|
+
}
|
|
37
|
+
}, [props === null || props === void 0 ? void 0 : props.appearance]);
|
|
38
|
+
|
|
39
|
+
return /*#__PURE__*/_react["default"].createElement("video", {
|
|
40
|
+
className: "vreo-wave",
|
|
41
|
+
width: "100%",
|
|
42
|
+
preload: "auto",
|
|
43
|
+
muted: true,
|
|
44
|
+
autoPlay: true,
|
|
45
|
+
loop: true,
|
|
46
|
+
playsInline: true,
|
|
47
|
+
disablePictureInPicture: true,
|
|
48
|
+
controls: false,
|
|
49
|
+
src: waveUrl
|
|
50
|
+
});
|
|
51
|
+
}
|
|
@@ -21,20 +21,30 @@ function InfoPanelImg(_ref) {
|
|
|
21
21
|
var url = _ref.url,
|
|
22
22
|
children = _ref.children;
|
|
23
23
|
return /*#__PURE__*/React.createElement("div", {
|
|
24
|
+
className: "vreo-infoPanel-container"
|
|
25
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
24
26
|
className: "vreo-infoPanel vreo-infoPanel--img"
|
|
25
|
-
},
|
|
27
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
28
|
+
className: "ratio-4-5 vreo-infoPanel-wrapper"
|
|
29
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
30
|
+
className: "vreo-infoPanel-inner"
|
|
31
|
+
}, children, /*#__PURE__*/React.createElement("img", {
|
|
26
32
|
className: "vreo-infoPanelImg",
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
}));
|
|
33
|
+
src: url
|
|
34
|
+
})))));
|
|
31
35
|
}
|
|
32
36
|
|
|
33
37
|
function InfoPanelVideo(_ref2) {
|
|
34
38
|
var url = _ref2.url,
|
|
35
39
|
children = _ref2.children;
|
|
36
40
|
return /*#__PURE__*/React.createElement("div", {
|
|
41
|
+
className: "vreo-infoPanel-container"
|
|
42
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
37
43
|
className: "vreo-infoPanel vreo-infoPanel--video"
|
|
44
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
45
|
+
className: "ratio-4-5 vreo-infoPanel-wrapper"
|
|
46
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
47
|
+
className: "vreo-infoPanel-inner"
|
|
38
48
|
}, children, /*#__PURE__*/React.createElement("div", {
|
|
39
49
|
className: "vreo-infoPanelVideo"
|
|
40
50
|
}, /*#__PURE__*/React.createElement("video", {
|
|
@@ -42,7 +52,7 @@ function InfoPanelVideo(_ref2) {
|
|
|
42
52
|
autoPlay: true,
|
|
43
53
|
className: "vreo-infoPanelVideo",
|
|
44
54
|
src: url
|
|
45
|
-
})));
|
|
55
|
+
}))))));
|
|
46
56
|
}
|
|
47
57
|
|
|
48
58
|
var Title = function Title(props) {
|
|
@@ -50,13 +60,15 @@ var Title = function Title(props) {
|
|
|
50
60
|
return null;
|
|
51
61
|
}
|
|
52
62
|
|
|
53
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
63
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
64
|
+
className: "vreo-infoPanel-title-shadow"
|
|
65
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
54
66
|
className: "vreo-infoPanel-title"
|
|
55
67
|
}, /*#__PURE__*/React.createElement("div", {
|
|
56
68
|
className: "vreo-infoPanel-t1"
|
|
57
69
|
}, props.title), /*#__PURE__*/React.createElement("div", {
|
|
58
70
|
className: "vreo-infoPanel-t2"
|
|
59
|
-
}, props.subTitle));
|
|
71
|
+
}, props.subTitle)));
|
|
60
72
|
};
|
|
61
73
|
|
|
62
74
|
function InfoPanel() {
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function PanoTag(): JSX.Element;
|
|
1
|
+
export declare function PanoTag(): null;
|