@realsee/vreo 1.1.0-dev.1 → 1.2.0-alpha.0
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/lib/Player/App.js
CHANGED
package/lib/Player/index.js
CHANGED
|
@@ -133,19 +133,14 @@ var Player = /*#__PURE__*/function (_Subscribe) {
|
|
|
133
133
|
if (force) {
|
|
134
134
|
vreoUnit = JSON.parse(JSON.stringify(vreoUnit));
|
|
135
135
|
}
|
|
136
|
-
if (this.controller.visible) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
//
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
setTimeout(function () {
|
|
145
|
-
return resolve(true);
|
|
146
|
-
}, 500);
|
|
147
|
-
});
|
|
148
|
-
case 10:
|
|
136
|
+
// if (!this.controller.visible) {
|
|
137
|
+
// this.controller.setVisible(true)
|
|
138
|
+
// // 延迟 500ms 规避跟 DOM 动画冲突
|
|
139
|
+
// await new Promise((resolve) => {
|
|
140
|
+
// setTimeout(() => resolve(true), 500)
|
|
141
|
+
// })
|
|
142
|
+
// }
|
|
143
|
+
|
|
149
144
|
if (this.controller.stopInterval) {
|
|
150
145
|
this.controller.stopInterval();
|
|
151
146
|
this.controller.stopInterval = undefined;
|
|
@@ -161,7 +156,7 @@ var Player = /*#__PURE__*/function (_Subscribe) {
|
|
|
161
156
|
|
|
162
157
|
// 预载数据中的点位
|
|
163
158
|
if (!(preload || preload === undefined && this.configs.autoPreload)) {
|
|
164
|
-
_context.next =
|
|
159
|
+
_context.next = 20;
|
|
165
160
|
break;
|
|
166
161
|
}
|
|
167
162
|
panoIndexMap = vreoUnit.keyframes.filter(function (vreoKeyframe) {
|
|
@@ -182,18 +177,18 @@ var Player = /*#__PURE__*/function (_Subscribe) {
|
|
|
182
177
|
}, {});
|
|
183
178
|
panoIndexes = Object.keys(panoIndexMap);
|
|
184
179
|
i = 0;
|
|
185
|
-
case
|
|
180
|
+
case 14:
|
|
186
181
|
if (!(i < panoIndexes.length)) {
|
|
187
|
-
_context.next =
|
|
182
|
+
_context.next = 20;
|
|
188
183
|
break;
|
|
189
184
|
}
|
|
190
|
-
_context.next =
|
|
185
|
+
_context.next = 17;
|
|
191
186
|
return this.$five.preloadPano(Number(panoIndexes[i]));
|
|
192
|
-
case
|
|
187
|
+
case 17:
|
|
193
188
|
i++;
|
|
194
|
-
_context.next =
|
|
189
|
+
_context.next = 14;
|
|
195
190
|
break;
|
|
196
|
-
case
|
|
191
|
+
case 20:
|
|
197
192
|
// 新数据载入就绪
|
|
198
193
|
this.emit('loaded', vreoUnit);
|
|
199
194
|
this.controller.emit('loaded', vreoUnit);
|
|
@@ -201,12 +196,12 @@ var Player = /*#__PURE__*/function (_Subscribe) {
|
|
|
201
196
|
this.controller.videoAgentScene.videoAgentMesh.mediaInstance.currentTime = currentTime / 1000;
|
|
202
197
|
}
|
|
203
198
|
this.controller.setAvatar(vreoUnit.video.avatar);
|
|
204
|
-
_context.next =
|
|
199
|
+
_context.next = 26;
|
|
205
200
|
return (0, _Audio.waitForBlankAudioGenerated)();
|
|
206
|
-
case
|
|
207
|
-
_context.next =
|
|
201
|
+
case 26:
|
|
202
|
+
_context.next = 28;
|
|
208
203
|
return (_this$controller$vide2 = this.controller.videoAgentScene) === null || _this$controller$vide2 === void 0 ? void 0 : _this$controller$vide2.videoAgentMesh.play(vreoUnit.video.url, currentTime / 1000, vreoUnit.video.duration);
|
|
209
|
-
case
|
|
204
|
+
case 28:
|
|
210
205
|
this.controller.setEnded(false);
|
|
211
206
|
this.play();
|
|
212
207
|
this.controller.run(function (type, keyframe) {
|
|
@@ -214,7 +209,7 @@ var Player = /*#__PURE__*/function (_Subscribe) {
|
|
|
214
209
|
});
|
|
215
210
|
this.controller.setLoading(false);
|
|
216
211
|
return _context.abrupt("return", true);
|
|
217
|
-
case
|
|
212
|
+
case 33:
|
|
218
213
|
case "end":
|
|
219
214
|
return _context.stop();
|
|
220
215
|
}
|
|
@@ -5,11 +5,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.InfoPanel = InfoPanel;
|
|
8
|
+
exports.isWX = void 0;
|
|
8
9
|
var React = _interopRequireWildcard(require("react"));
|
|
9
10
|
var _VreoUnit = require("../../../../typings/VreoUnit");
|
|
10
11
|
var _hooks = require("../../../hooks");
|
|
11
12
|
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); }
|
|
12
13
|
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; }
|
|
14
|
+
var isWX = navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1;
|
|
15
|
+
exports.isWX = isWX;
|
|
16
|
+
var videoElement = document.createElement('video');
|
|
17
|
+
if (isWX) {
|
|
18
|
+
videoElement.playsInline = true;
|
|
19
|
+
videoElement.classList.add('vreo-infoPanelVideo');
|
|
20
|
+
document.body.addEventListener('click', function () {
|
|
21
|
+
return videoElement.play();
|
|
22
|
+
}, {
|
|
23
|
+
once: true
|
|
24
|
+
});
|
|
25
|
+
}
|
|
13
26
|
function InfoPanelImg(_ref) {
|
|
14
27
|
var url = _ref.url,
|
|
15
28
|
children = _ref.children;
|
|
@@ -29,6 +42,16 @@ function InfoPanelImg(_ref) {
|
|
|
29
42
|
function InfoPanelVideo(_ref2) {
|
|
30
43
|
var url = _ref2.url,
|
|
31
44
|
children = _ref2.children;
|
|
45
|
+
var videoWrapperRef = React.useRef(null);
|
|
46
|
+
React.useEffect(function () {
|
|
47
|
+
if (!isWX) return;
|
|
48
|
+
if (!videoWrapperRef.current) return;
|
|
49
|
+
videoElement.src = url;
|
|
50
|
+
if (!videoWrapperRef.current.contains(videoElement)) {
|
|
51
|
+
videoWrapperRef.current.appendChild(videoElement);
|
|
52
|
+
}
|
|
53
|
+
videoElement.play();
|
|
54
|
+
}, [videoWrapperRef.current]);
|
|
32
55
|
return /*#__PURE__*/React.createElement("div", {
|
|
33
56
|
className: "vreo-infoPanel-container"
|
|
34
57
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -38,8 +61,9 @@ function InfoPanelVideo(_ref2) {
|
|
|
38
61
|
}, /*#__PURE__*/React.createElement("div", {
|
|
39
62
|
className: "vreo-infoPanel-inner"
|
|
40
63
|
}, children, /*#__PURE__*/React.createElement("div", {
|
|
41
|
-
className: "vreo-infoPanelVideo"
|
|
42
|
-
|
|
64
|
+
className: "vreo-infoPanelVideo",
|
|
65
|
+
ref: videoWrapperRef
|
|
66
|
+
}, !isWX && /*#__PURE__*/React.createElement("video", {
|
|
43
67
|
playsInline: true,
|
|
44
68
|
autoPlay: true,
|
|
45
69
|
className: "vreo-infoPanelVideo",
|