@realsee/vreo 2.4.0 → 2.4.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/lib/PlayController/createHTMLAudioElement.js +12 -22
- package/lib/PlayController/index.js +70 -137
- package/lib/Player/App.d.ts +2 -2
- package/lib/Player/App.js +1 -28
- package/lib/Player/Controller.d.ts +3 -3
- package/lib/Player/Controller.js +46 -110
- package/lib/Player/custom/SpatialScenePanel/index.d.ts +2 -2
- package/lib/Player/custom/SpatialScenePanel/index.js +75 -72
- package/lib/Player/hooks.d.ts +3 -3
- package/lib/Player/hooks.js +0 -10
- package/lib/Player/index.js +109 -175
- package/lib/Player/modules/Drawer/index.d.ts +2 -2
- package/lib/Player/modules/Drawer/index.js +2 -21
- package/lib/Player/modules/PopUp/index.d.ts +2 -2
- package/lib/Player/modules/PopUp/index.js +1 -12
- package/lib/Player/modules/ResizeObserver/index.d.ts +2 -2
- package/lib/Player/modules/ResizeObserver/index.js +0 -8
- package/lib/Player/modules/VideoAgent/VideoAgentMesh.d.ts +1 -1
- package/lib/Player/modules/VideoAgent/VideoAgentMesh.js +148 -247
- package/lib/Player/modules/VideoAgent/VideoAgentScene.js +7 -23
- package/lib/Player/modules/VideoAgent/index.d.ts +2 -2
- package/lib/Player/modules/VideoAgent/index.js +2 -20
- package/lib/Player/modules/Wave/index.d.ts +2 -2
- package/lib/Player/modules/Wave/index.js +12 -34
- package/lib/Player/modules/keyframes/BgMusic/index.d.ts +2 -2
- package/lib/Player/modules/keyframes/BgMusic/index.js +41 -64
- package/lib/Player/modules/keyframes/CameraMovement/index.d.ts +2 -2
- package/lib/Player/modules/keyframes/CameraMovement/index.js +42 -71
- package/lib/Player/modules/keyframes/InfoPanel/index.d.ts +2 -2
- package/lib/Player/modules/keyframes/InfoPanel/index.js +16 -47
- package/lib/Player/modules/keyframes/ModelVideo/index.d.ts +2 -2
- package/lib/Player/modules/keyframes/ModelVideo/index.js +52 -83
- package/lib/Player/modules/keyframes/PanoEffect/index.d.ts +2 -2
- package/lib/Player/modules/keyframes/PanoEffect/index.js +16 -40
- package/lib/Player/modules/keyframes/PanoEffect/lineAnime.js +1 -9
- package/lib/Player/modules/keyframes/PanoTag/index.d.ts +1 -1
- package/lib/Player/modules/keyframes/PanoTag/index.js +6 -25
- package/lib/Player/modules/keyframes/PanoTextLabel/index.d.ts +2 -2
- package/lib/Player/modules/keyframes/PanoTextLabel/index.js +31 -50
- package/lib/Player/modules/keyframes/Prompter/index.d.ts +2 -2
- package/lib/Player/modules/keyframes/Prompter/index.js +11 -29
- package/lib/Player/modules/keyframes/UpdateVRPanorama/index.d.ts +2 -2
- package/lib/Player/modules/keyframes/UpdateVRPanorama/index.js +25 -29
- package/lib/Player/modules/keyframes/VideoEffect/index.d.ts +2 -2
- package/lib/Player/modules/keyframes/VideoEffect/index.js +52 -87
- package/lib/Player/typings.d.ts +7 -4
- package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.js +0 -2
- package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.js +0 -1
- package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.js +0 -1
- package/lib/fivePlugins/CSS3DRenderPlugin/index.d.ts +1 -1
- package/lib/fivePlugins/CSS3DRenderPlugin/index.js +42 -81
- package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.js +3 -7
- package/lib/fivePlugins/CameraMovementPlugin/index.js +181 -241
- package/lib/fivePlugins/CameraMovementPlugin/typings.d.ts +4 -4
- package/lib/fivePlugins/CameraMovementPlugin/typings.js +6 -12
- package/lib/fivePlugins/ModelTVVideoPlugin/index.js +37 -87
- package/lib/index.js +0 -1
- package/lib/react/index.d.ts +2 -1
- package/lib/react/index.js +10 -35
- package/lib/shared-utils/Audio.js +57 -106
- package/lib/shared-utils/AudioLike.d.ts +1 -1
- package/lib/shared-utils/AudioLike.js +19 -46
- package/lib/shared-utils/Preloader.js +2 -10
- package/lib/shared-utils/addResizeListener.d.ts +1 -1
- package/lib/shared-utils/addResizeListener.js +0 -5
- package/lib/shared-utils/animationFrame/BetterTween.d.ts +1 -1
- package/lib/shared-utils/animationFrame/BetterTween.js +14 -45
- package/lib/shared-utils/animationFrame/index.d.ts +1 -2
- package/lib/shared-utils/animationFrame/index.js +3 -12
- package/lib/shared-utils/animationFrame/tween.d.ts +2 -2
- package/lib/shared-utils/animationFrame/tween.js +3 -14
- package/lib/shared-utils/createTransMatrix.js +1 -10
- package/lib/shared-utils/getFileExpandedName.js +0 -1
- package/lib/shared-utils/getMediaInfo.d.ts +3 -3
- package/lib/shared-utils/getMediaInfo.js +0 -10
- package/lib/shared-utils/setElementDataset.js +0 -2
- package/lib/typings/VreoUnit.d.ts +16 -16
- package/lib/typings/VreoUnit.js +115 -47
- package/package.json +3 -2
|
@@ -1,64 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.VideoAgentMesh = void 0;
|
|
11
|
-
|
|
12
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
-
|
|
14
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
-
|
|
18
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
-
|
|
20
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
21
|
-
|
|
22
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
-
|
|
24
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
-
|
|
26
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
-
|
|
15
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
28
16
|
var THREE = _interopRequireWildcard(require("three"));
|
|
29
|
-
|
|
30
17
|
var _Preloader = require("../../../shared-utils/Preloader");
|
|
31
|
-
|
|
32
18
|
var _mobx = require("mobx");
|
|
33
|
-
|
|
34
|
-
var _AudioLike = _interopRequireDefault(require("../../../shared-utils/AudioLike"));
|
|
35
|
-
|
|
19
|
+
var _AduioLike = _interopRequireDefault(require("../../../shared-utils/AduioLike"));
|
|
36
20
|
var _getMediaInfo = require("../../../shared-utils/getMediaInfo");
|
|
37
|
-
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
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; }
|
|
41
|
-
|
|
42
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
43
|
-
|
|
44
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
45
|
-
|
|
21
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
22
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
23
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
46
24
|
var vertexShader = "\nvarying vec2 vUv;\nvarying vec2 vColorUv;\nvarying vec2 vMaskUv;\nvoid main(){\n vUv = uv;\n vColorUv = vec2(uv.x / 2.0, uv.y);\n vMaskUv = vec2(0.5 + uv.x / 2.0, uv.y);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n";
|
|
47
|
-
|
|
48
25
|
var fragmentShaderTpl = function fragmentShaderTpl() {
|
|
49
26
|
return "\nuniform int enable;\nuniform sampler2D map;\nvarying vec2 vUv;\nvarying vec2 vColorUv;\nvarying vec2 vMaskUv;\n\nvec3 hsv2rgb(vec3 c) {\n const vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\n}\n\nvec3 rgb2hsv(vec3 c) {\n const vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));\n vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));\n\n float d = q.x - min(q.w, q.y);\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + 0.001)), d / (q.x + 0.001), q.x);\n}\n\nvoid main(void) {\n vec3 color = texture2D(map, vUv).xyz;\n float amask = 1.0;\n\n float ref = color.r;\n if (ref < color.b) ref = color.b;\n amask = color.g - ref + 0.1;\n amask = smoothstep(0.1, 0.3, amask);\n amask = 1.0 - amask;\n\n vec3 target = rgb2hsv(vec3(0.0 / 255.0, 255.0 / 255.0, 0.0 / 255.0));\n vec3 hsv = rgb2hsv(color);\n float distance = abs(hsv.x - target.x);\n if (distance < 0.15) {\n hsv.y = 0.0;\n }\n color = hsv2rgb(hsv);\n\n gl_FragColor = vec4(color.rgb, amask * float(enable));\n}\n";
|
|
50
27
|
};
|
|
51
|
-
|
|
52
28
|
var cacheInstance = {};
|
|
53
|
-
|
|
54
29
|
/**
|
|
55
30
|
* 视频经纪人MESH
|
|
56
31
|
*/
|
|
57
|
-
var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
58
|
-
(0, _inherits2["default"])(VideoAgentMesh, _THREE$Mesh);
|
|
59
|
-
|
|
60
|
-
var _super = _createSuper(VideoAgentMesh);
|
|
61
|
-
|
|
32
|
+
var VideoAgentMesh = exports.VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
62
33
|
/**
|
|
63
34
|
*
|
|
64
35
|
* @param width
|
|
@@ -69,14 +40,11 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
69
40
|
*/
|
|
70
41
|
function VideoAgentMesh(width, height, widthSegments, heightSegments) {
|
|
71
42
|
var _this$options$videoIn, _this$options$videoIn2;
|
|
72
|
-
|
|
73
43
|
var _this;
|
|
74
|
-
|
|
75
44
|
var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {
|
|
76
45
|
preload: true
|
|
77
46
|
};
|
|
78
47
|
(0, _classCallCheck2["default"])(this, VideoAgentMesh);
|
|
79
|
-
|
|
80
48
|
if (!options.videoInstance) {
|
|
81
49
|
if (cacheInstance.videoInstance) {
|
|
82
50
|
options.videoInstance = cacheInstance.videoInstance;
|
|
@@ -92,7 +60,6 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
92
60
|
videoInstance.controls = false;
|
|
93
61
|
}
|
|
94
62
|
}
|
|
95
|
-
|
|
96
63
|
var geometry = new THREE.PlaneGeometry(width, height, widthSegments, heightSegments);
|
|
97
64
|
var videoTexture = new THREE.VideoTexture(options.videoInstance);
|
|
98
65
|
var material = new THREE.ShaderMaterial({
|
|
@@ -108,18 +75,17 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
108
75
|
fragmentShader: fragmentShaderTpl(),
|
|
109
76
|
transparent: true
|
|
110
77
|
});
|
|
111
|
-
_this =
|
|
78
|
+
_this = _callSuper(this, VideoAgentMesh, [geometry, material]);
|
|
112
79
|
_this.options = options;
|
|
113
80
|
_this.freeze = false;
|
|
114
81
|
_this.paused = true;
|
|
115
|
-
|
|
116
82
|
if (!options.audioInstance) {
|
|
117
83
|
if (cacheInstance.audioInstance) {
|
|
118
84
|
_this.audioInstance = cacheInstance.audioInstance;
|
|
119
85
|
} else {
|
|
120
86
|
var audioInstance = document.createElement('audio');
|
|
121
|
-
audioInstance.crossOrigin = '';
|
|
122
|
-
|
|
87
|
+
audioInstance.crossOrigin = '';
|
|
88
|
+
// videoInstance.muted = true
|
|
123
89
|
audioInstance.muted = false;
|
|
124
90
|
audioInstance.autoplay = false;
|
|
125
91
|
audioInstance.style.display = 'none';
|
|
@@ -130,66 +96,48 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
130
96
|
} else {
|
|
131
97
|
_this.audioInstance = options.audioInstance;
|
|
132
98
|
}
|
|
133
|
-
|
|
134
|
-
_this
|
|
135
|
-
(0, _mobx.makeObservable)((0, _assertThisInitialized2["default"])(_this), {
|
|
99
|
+
_this.audioLikeInstance = new _AduioLike["default"]();
|
|
100
|
+
(0, _mobx.makeObservable)(_this, {
|
|
136
101
|
paused: _mobx.observable
|
|
137
102
|
});
|
|
138
|
-
|
|
139
103
|
var updatePaused = function updatePaused(paused) {
|
|
140
104
|
return (0, _mobx.runInAction)(function () {
|
|
141
105
|
return _this.paused = paused;
|
|
142
106
|
});
|
|
143
107
|
};
|
|
144
|
-
|
|
145
108
|
var onPause = function onPause() {
|
|
146
109
|
return updatePaused(true);
|
|
147
110
|
};
|
|
148
|
-
|
|
149
111
|
var onPlay = function onPlay() {
|
|
150
112
|
return updatePaused(false);
|
|
151
113
|
};
|
|
152
|
-
|
|
153
114
|
_this.audioInstance.addEventListener('pause', onPause);
|
|
154
|
-
|
|
155
115
|
_this.audioInstance.addEventListener('play', onPlay);
|
|
156
|
-
|
|
157
|
-
(_this$options$
|
|
158
|
-
(_this$options$videoIn2 = _this.options.videoInstance) === null || _this$options$videoIn2 === void 0 ? void 0 : _this$options$videoIn2.addEventListener('play', onPlay);
|
|
159
|
-
|
|
116
|
+
(_this$options$videoIn = _this.options.videoInstance) === null || _this$options$videoIn === void 0 || _this$options$videoIn.addEventListener('pause', onPause);
|
|
117
|
+
(_this$options$videoIn2 = _this.options.videoInstance) === null || _this$options$videoIn2 === void 0 || _this$options$videoIn2.addEventListener('play', onPlay);
|
|
160
118
|
_this.audioLikeInstance.addEventListener('pause', onPause);
|
|
161
|
-
|
|
162
119
|
_this.audioLikeInstance.addEventListener('play', onPlay);
|
|
163
|
-
|
|
164
120
|
_this.$removeEventListener = function () {
|
|
165
121
|
var _this$options$videoIn3, _this$options$videoIn4;
|
|
166
|
-
|
|
167
122
|
_this.audioInstance.removeEventListener('pause', onPause);
|
|
168
|
-
|
|
169
123
|
_this.audioInstance.removeEventListener('play', onPlay);
|
|
170
|
-
|
|
171
|
-
(_this$options$
|
|
172
|
-
(_this$options$videoIn4 = _this.options.videoInstance) === null || _this$options$videoIn4 === void 0 ? void 0 : _this$options$videoIn4.removeEventListener('play', onPlay);
|
|
173
|
-
|
|
124
|
+
(_this$options$videoIn3 = _this.options.videoInstance) === null || _this$options$videoIn3 === void 0 || _this$options$videoIn3.removeEventListener('pause', onPause);
|
|
125
|
+
(_this$options$videoIn4 = _this.options.videoInstance) === null || _this$options$videoIn4 === void 0 || _this$options$videoIn4.removeEventListener('play', onPlay);
|
|
174
126
|
_this.audioLikeInstance.removeEventListener('pause', onPause);
|
|
175
|
-
|
|
176
127
|
_this.audioLikeInstance.removeEventListener('play', onPlay);
|
|
177
128
|
};
|
|
178
|
-
|
|
179
129
|
return _this;
|
|
180
130
|
}
|
|
181
|
-
|
|
182
|
-
(0, _createClass2["default"])(VideoAgentMesh, [{
|
|
131
|
+
(0, _inherits2["default"])(VideoAgentMesh, _THREE$Mesh);
|
|
132
|
+
return (0, _createClass2["default"])(VideoAgentMesh, [{
|
|
183
133
|
key: "mediaInstance",
|
|
184
134
|
get: function get() {
|
|
185
135
|
if (!this.videoUrl) {
|
|
186
136
|
return this.audioLikeInstance;
|
|
187
137
|
}
|
|
188
|
-
|
|
189
138
|
if ((0, _getMediaInfo.getMediaType)(this.videoUrl) === 'audio') {
|
|
190
139
|
return this.audioInstance;
|
|
191
140
|
}
|
|
192
|
-
|
|
193
141
|
var uniforms = this.material.uniforms;
|
|
194
142
|
var videoInstance = uniforms.map.value.image;
|
|
195
143
|
return videoInstance;
|
|
@@ -197,208 +145,166 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
197
145
|
}, {
|
|
198
146
|
key: "update",
|
|
199
147
|
value: function () {
|
|
200
|
-
var _update = (0, _asyncToGenerator2["default"])(
|
|
148
|
+
var _update = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(videoUrl) {
|
|
201
149
|
var _this2 = this;
|
|
202
|
-
|
|
203
|
-
var uniforms, onStart;
|
|
150
|
+
var uniforms, _onStart;
|
|
204
151
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
205
|
-
while (1) {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
_context.next = 2;
|
|
210
|
-
break;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
return _context.abrupt("return");
|
|
214
|
-
|
|
215
|
-
case 2:
|
|
216
|
-
this.videoUrl = videoUrl; // // 兼容非视频场景
|
|
217
|
-
// if (this.mediaInstance instanceof HTMLAudioElement) {
|
|
218
|
-
// this.mediaInstance.style.display = 'none'
|
|
219
|
-
// } else if (this.mediaInstance instanceof HTMLVideoElement) {
|
|
220
|
-
// this.mediaInstance.style.display = 'block'
|
|
221
|
-
// }
|
|
222
|
-
|
|
223
|
-
this.freeze = true;
|
|
224
|
-
_context.next = 6;
|
|
225
|
-
return this.mediaInstance.pause();
|
|
226
|
-
|
|
227
|
-
case 6:
|
|
228
|
-
uniforms = this.material.uniforms;
|
|
229
|
-
this.mediaInstance.muted = true;
|
|
230
|
-
|
|
231
|
-
if (!(this.options.preload || this.options.preload === undefined || (0, _getMediaInfo.getMediaType)(this.videoUrl) === 'video')) {
|
|
232
|
-
_context.next = 18;
|
|
233
|
-
break;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
_context.t1 = URL;
|
|
237
|
-
_context.next = 12;
|
|
238
|
-
return _Preloader.Preloader.blob(this.videoUrl);
|
|
239
|
-
|
|
240
|
-
case 12:
|
|
241
|
-
_context.t2 = _context.sent;
|
|
242
|
-
_context.next = 15;
|
|
243
|
-
return _context.t1.createObjectURL.call(_context.t1, _context.t2);
|
|
244
|
-
|
|
245
|
-
case 15:
|
|
246
|
-
_context.t0 = _context.sent;
|
|
247
|
-
_context.next = 19;
|
|
152
|
+
while (1) switch (_context.prev = _context.next) {
|
|
153
|
+
case 0:
|
|
154
|
+
if (!(this.videoUrl === videoUrl)) {
|
|
155
|
+
_context.next = 2;
|
|
248
156
|
break;
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
157
|
+
}
|
|
158
|
+
return _context.abrupt("return");
|
|
159
|
+
case 2:
|
|
160
|
+
this.videoUrl = videoUrl;
|
|
161
|
+
|
|
162
|
+
// // 兼容非视频场景
|
|
163
|
+
// if (this.mediaInstance instanceof HTMLAudioElement) {
|
|
164
|
+
// this.mediaInstance.style.display = 'none'
|
|
165
|
+
// } else if (this.mediaInstance instanceof HTMLVideoElement) {
|
|
166
|
+
// this.mediaInstance.style.display = 'block'
|
|
167
|
+
// }
|
|
168
|
+
|
|
169
|
+
this.freeze = true;
|
|
170
|
+
_context.next = 6;
|
|
171
|
+
return this.mediaInstance.pause();
|
|
172
|
+
case 6:
|
|
173
|
+
uniforms = this.material.uniforms;
|
|
174
|
+
this.mediaInstance.muted = true;
|
|
175
|
+
if (!(this.options.preload || this.options.preload === undefined || (0, _getMediaInfo.getMediaType)(this.videoUrl) === 'video')) {
|
|
176
|
+
_context.next = 18;
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
_context.t1 = URL;
|
|
180
|
+
_context.next = 12;
|
|
181
|
+
return _Preloader.Preloader.blob(this.videoUrl);
|
|
182
|
+
case 12:
|
|
183
|
+
_context.t2 = _context.sent;
|
|
184
|
+
_context.next = 15;
|
|
185
|
+
return _context.t1.createObjectURL.call(_context.t1, _context.t2);
|
|
186
|
+
case 15:
|
|
187
|
+
_context.t0 = _context.sent;
|
|
188
|
+
_context.next = 19;
|
|
189
|
+
break;
|
|
190
|
+
case 18:
|
|
191
|
+
_context.t0 = this.videoUrl;
|
|
192
|
+
case 19:
|
|
193
|
+
this.mediaInstance.src = _context.t0;
|
|
194
|
+
this.mediaInstance.setAttribute('data-src', this.videoUrl);
|
|
195
|
+
_onStart = function onStart() {
|
|
196
|
+
if (_this2.mediaInstance.currentTime === 0) return;
|
|
197
|
+
_this2.freeze = false;
|
|
198
|
+
_this2.mediaInstance.muted = false;
|
|
199
|
+
uniforms.enable.value = (0, _getMediaInfo.getMediaType)(_this2.videoUrl) ? 1 : 0;
|
|
200
|
+
_this2.mediaInstance.removeEventListener('timeupdate', _onStart, false);
|
|
201
|
+
};
|
|
202
|
+
this.mediaInstance.addEventListener('timeupdate', _onStart, false);
|
|
203
|
+
case 23:
|
|
204
|
+
case "end":
|
|
205
|
+
return _context.stop();
|
|
272
206
|
}
|
|
273
207
|
}, _callee, this);
|
|
274
208
|
}));
|
|
275
|
-
|
|
276
209
|
function update(_x) {
|
|
277
210
|
return _update.apply(this, arguments);
|
|
278
211
|
}
|
|
279
|
-
|
|
280
212
|
return update;
|
|
281
213
|
}()
|
|
282
214
|
}, {
|
|
283
215
|
key: "play",
|
|
284
216
|
value: function () {
|
|
285
|
-
var _play = (0, _asyncToGenerator2["default"])(
|
|
217
|
+
var _play = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
286
218
|
var _this3 = this;
|
|
287
|
-
|
|
288
219
|
var videoUrl,
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
220
|
+
currentTime,
|
|
221
|
+
duration,
|
|
222
|
+
_args3 = arguments;
|
|
292
223
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
293
|
-
while (1) {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
if (!(duration && !videoUrl)) {
|
|
302
|
-
_context3.next = 10;
|
|
303
|
-
break;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
if (this.currentTime) {
|
|
307
|
-
this.mediaInstance.currentTime = currentTime;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
this.mediaInstance.duration = duration;
|
|
311
|
-
this.videoUrl = '';
|
|
312
|
-
this.mediaInstance.play();
|
|
313
|
-
return _context3.abrupt("return", true);
|
|
314
|
-
|
|
315
|
-
case 10:
|
|
316
|
-
if (videoUrl) {
|
|
317
|
-
_context3.next = 18;
|
|
318
|
-
break;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
if (!this.videoUrl) {
|
|
322
|
-
_context3.next = 16;
|
|
323
|
-
break;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
_context3.next = 14;
|
|
327
|
-
return this.mediaInstance.play();
|
|
328
|
-
|
|
329
|
-
case 14:
|
|
330
|
-
_context3.next = 17;
|
|
224
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
225
|
+
case 0:
|
|
226
|
+
videoUrl = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : '';
|
|
227
|
+
currentTime = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : 0;
|
|
228
|
+
duration = _args3.length > 2 ? _args3[2] : undefined;
|
|
229
|
+
videoUrl = videoUrl || '';
|
|
230
|
+
if (!(duration && !videoUrl)) {
|
|
231
|
+
_context3.next = 10;
|
|
331
232
|
break;
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
console.warn('警告:视频资源未初始化。');
|
|
335
|
-
|
|
336
|
-
case 17:
|
|
337
|
-
return _context3.abrupt("return", true);
|
|
338
|
-
|
|
339
|
-
case 18:
|
|
340
|
-
if (!(videoUrl === this.videoUrl)) {
|
|
341
|
-
_context3.next = 23;
|
|
342
|
-
break;
|
|
343
|
-
}
|
|
344
|
-
|
|
233
|
+
}
|
|
234
|
+
if (this.currentTime) {
|
|
345
235
|
this.mediaInstance.currentTime = currentTime;
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
_context3.next =
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
return
|
|
387
|
-
|
|
236
|
+
}
|
|
237
|
+
this.mediaInstance.duration = duration;
|
|
238
|
+
this.videoUrl = '';
|
|
239
|
+
this.mediaInstance.play();
|
|
240
|
+
return _context3.abrupt("return", true);
|
|
241
|
+
case 10:
|
|
242
|
+
if (videoUrl) {
|
|
243
|
+
_context3.next = 18;
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
if (!this.videoUrl) {
|
|
247
|
+
_context3.next = 16;
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
_context3.next = 14;
|
|
251
|
+
return this.mediaInstance.play();
|
|
252
|
+
case 14:
|
|
253
|
+
_context3.next = 17;
|
|
254
|
+
break;
|
|
255
|
+
case 16:
|
|
256
|
+
console.warn('警告:视频资源未初始化。');
|
|
257
|
+
case 17:
|
|
258
|
+
return _context3.abrupt("return", true);
|
|
259
|
+
case 18:
|
|
260
|
+
if (!(videoUrl === this.videoUrl)) {
|
|
261
|
+
_context3.next = 23;
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
this.mediaInstance.currentTime = currentTime;
|
|
265
|
+
_context3.next = 22;
|
|
266
|
+
return this.mediaInstance.play();
|
|
267
|
+
case 22:
|
|
268
|
+
return _context3.abrupt("return", true);
|
|
269
|
+
case 23:
|
|
270
|
+
_context3.next = 25;
|
|
271
|
+
return this.update(videoUrl);
|
|
272
|
+
case 25:
|
|
273
|
+
this.mediaInstance.pause();
|
|
274
|
+
_context3.next = 28;
|
|
275
|
+
return new Promise(function (resolve) {
|
|
276
|
+
return setTimeout(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
277
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
278
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
279
|
+
case 0:
|
|
280
|
+
_this3.mediaInstance.currentTime = currentTime;
|
|
281
|
+
_context2.next = 3;
|
|
282
|
+
return _this3.mediaInstance.play();
|
|
283
|
+
case 3:
|
|
284
|
+
resolve(true);
|
|
285
|
+
case 4:
|
|
286
|
+
case "end":
|
|
287
|
+
return _context2.stop();
|
|
288
|
+
}
|
|
289
|
+
}, _callee2);
|
|
290
|
+
})), 20);
|
|
291
|
+
});
|
|
292
|
+
case 28:
|
|
293
|
+
return _context3.abrupt("return", _context3.sent);
|
|
294
|
+
case 29:
|
|
295
|
+
case "end":
|
|
296
|
+
return _context3.stop();
|
|
388
297
|
}
|
|
389
298
|
}, _callee3, this);
|
|
390
299
|
}));
|
|
391
|
-
|
|
392
300
|
function play() {
|
|
393
301
|
return _play.apply(this, arguments);
|
|
394
302
|
}
|
|
395
|
-
|
|
396
303
|
return play;
|
|
397
304
|
}()
|
|
398
305
|
/**
|
|
399
306
|
* 秒转成毫秒,保障精准度
|
|
400
307
|
*/
|
|
401
|
-
|
|
402
308
|
}, {
|
|
403
309
|
key: "currentTime",
|
|
404
310
|
get: function get() {
|
|
@@ -409,19 +315,14 @@ var VideoAgentMesh = /*#__PURE__*/function (_THREE$Mesh) {
|
|
|
409
315
|
value: function dispose() {
|
|
410
316
|
// 销毁事件监听
|
|
411
317
|
this.$removeEventListener();
|
|
412
|
-
|
|
413
318
|
if (cacheInstance.audioInstance) {
|
|
414
319
|
document.body.removeChild(cacheInstance.audioInstance);
|
|
415
320
|
cacheInstance.audioInstance = undefined;
|
|
416
321
|
}
|
|
417
|
-
|
|
418
322
|
if (cacheInstance.videoInstance) {
|
|
419
323
|
document.body.removeChild(cacheInstance.videoInstance);
|
|
420
324
|
cacheInstance.videoInstance = undefined;
|
|
421
325
|
}
|
|
422
326
|
}
|
|
423
327
|
}]);
|
|
424
|
-
|
|
425
|
-
}(THREE.Mesh);
|
|
426
|
-
|
|
427
|
-
exports.VideoAgentMesh = VideoAgentMesh;
|
|
328
|
+
}(THREE.Mesh);
|
|
@@ -1,33 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.VideoAgentScene = void 0;
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
|
|
18
12
|
var THREE = _interopRequireWildcard(require("three"));
|
|
19
|
-
|
|
20
13
|
var _addResizeListener = require("../../../shared-utils/addResizeListener");
|
|
21
|
-
|
|
22
14
|
var _VideoAgentMesh = require("./VideoAgentMesh");
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
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; }
|
|
27
|
-
|
|
28
|
-
var VideoAgentScene = /*#__PURE__*/(0, _createClass2["default"])(function VideoAgentScene(container, options) {
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
|
+
var VideoAgentScene = exports.VideoAgentScene = /*#__PURE__*/(0, _createClass2["default"])(function VideoAgentScene(container, options) {
|
|
29
17
|
var _this = this;
|
|
30
|
-
|
|
31
18
|
(0, _classCallCheck2["default"])(this, VideoAgentScene);
|
|
32
19
|
(0, _defineProperty2["default"])(this, "scene", new THREE.Scene());
|
|
33
20
|
(0, _defineProperty2["default"])(this, "camera", new THREE.OrthographicCamera(-240, 240, 135, -135));
|
|
@@ -40,19 +27,18 @@ var VideoAgentScene = /*#__PURE__*/(0, _createClass2["default"])(function VideoA
|
|
|
40
27
|
if (!(_this.videoAgentMesh.paused || _this.videoAgentMesh.freeze) && _this.videoAgentMesh.currentTime > 1000) {
|
|
41
28
|
_this.renderer.render(_this.scene, _this.camera);
|
|
42
29
|
}
|
|
43
|
-
|
|
44
30
|
requestAnimationFrame(_this.run);
|
|
45
31
|
});
|
|
46
32
|
(0, _defineProperty2["default"])(this, "dispose", function () {
|
|
47
33
|
var _this$videoAgentMesh;
|
|
48
|
-
|
|
49
|
-
(_this$videoAgentMesh = _this.videoAgentMesh) === null || _this$videoAgentMesh === void 0 ? void 0 : _this$videoAgentMesh.dispose();
|
|
50
|
-
|
|
34
|
+
(_this$videoAgentMesh = _this.videoAgentMesh) === null || _this$videoAgentMesh === void 0 || _this$videoAgentMesh.dispose();
|
|
51
35
|
_this.disposers.forEach(function (disposer) {
|
|
52
36
|
return disposer === null || disposer === void 0 ? void 0 : disposer();
|
|
53
37
|
});
|
|
54
38
|
});
|
|
55
|
-
this.videoAgentMesh = new _VideoAgentMesh.VideoAgentMesh(480, 270, 1, 1, options);
|
|
39
|
+
this.videoAgentMesh = new _VideoAgentMesh.VideoAgentMesh(480, 270, 1, 1, options);
|
|
40
|
+
|
|
41
|
+
// const needRender = getMediaType(this.videoAgentMesh.videoUrl) === 'video'
|
|
56
42
|
|
|
57
43
|
if (container) {
|
|
58
44
|
this.camera.position.set(0, 0, 10);
|
|
@@ -61,7 +47,6 @@ var VideoAgentScene = /*#__PURE__*/(0, _createClass2["default"])(function VideoA
|
|
|
61
47
|
domElement.classList.add('VideoAgent-canvas');
|
|
62
48
|
var dispose = (0, _addResizeListener.addResizeListener)(container, function (width, height) {
|
|
63
49
|
_this.renderer.setSize(width * window.devicePixelRatio, height * window.devicePixelRatio);
|
|
64
|
-
|
|
65
50
|
domElement.style.width = "".concat(width, "px");
|
|
66
51
|
domElement.style.height = "".concat(height, "px");
|
|
67
52
|
});
|
|
@@ -70,5 +55,4 @@ var VideoAgentScene = /*#__PURE__*/(0, _createClass2["default"])(function VideoA
|
|
|
70
55
|
this.scene.add(this.videoAgentMesh);
|
|
71
56
|
this.run();
|
|
72
57
|
}
|
|
73
|
-
});
|
|
74
|
-
exports.VideoAgentScene = VideoAgentScene;
|
|
58
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { VideoAgentMeshOptions } from './VideoAgentMesh';
|
|
3
3
|
export declare function VideoAgent(props: {
|
|
4
4
|
onClick?: () => void;
|
|
5
5
|
options?: VideoAgentMeshOptions;
|
|
6
|
-
}): JSX.Element;
|
|
6
|
+
}): React.JSX.Element;
|