@realsee/vreo 2.3.10 → 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.
Files changed (79) hide show
  1. package/lib/PlayController/createHTMLAudioElement.js +12 -22
  2. package/lib/PlayController/index.js +70 -137
  3. package/lib/Player/App.d.ts +2 -2
  4. package/lib/Player/App.js +1 -28
  5. package/lib/Player/Controller.d.ts +3 -3
  6. package/lib/Player/Controller.js +46 -110
  7. package/lib/Player/custom/SpatialScenePanel/index.d.ts +2 -2
  8. package/lib/Player/custom/SpatialScenePanel/index.js +75 -72
  9. package/lib/Player/hooks.d.ts +3 -3
  10. package/lib/Player/hooks.js +0 -10
  11. package/lib/Player/index.js +109 -175
  12. package/lib/Player/modules/Drawer/index.d.ts +2 -2
  13. package/lib/Player/modules/Drawer/index.js +2 -21
  14. package/lib/Player/modules/PopUp/index.d.ts +2 -2
  15. package/lib/Player/modules/PopUp/index.js +1 -12
  16. package/lib/Player/modules/ResizeObserver/index.d.ts +2 -2
  17. package/lib/Player/modules/ResizeObserver/index.js +0 -8
  18. package/lib/Player/modules/VideoAgent/VideoAgentMesh.d.ts +1 -1
  19. package/lib/Player/modules/VideoAgent/VideoAgentMesh.js +148 -247
  20. package/lib/Player/modules/VideoAgent/VideoAgentScene.js +7 -23
  21. package/lib/Player/modules/VideoAgent/index.d.ts +2 -2
  22. package/lib/Player/modules/VideoAgent/index.js +2 -20
  23. package/lib/Player/modules/Wave/index.d.ts +2 -2
  24. package/lib/Player/modules/Wave/index.js +12 -34
  25. package/lib/Player/modules/keyframes/BgMusic/index.d.ts +2 -2
  26. package/lib/Player/modules/keyframes/BgMusic/index.js +41 -64
  27. package/lib/Player/modules/keyframes/CameraMovement/index.d.ts +2 -2
  28. package/lib/Player/modules/keyframes/CameraMovement/index.js +42 -71
  29. package/lib/Player/modules/keyframes/InfoPanel/index.d.ts +2 -2
  30. package/lib/Player/modules/keyframes/InfoPanel/index.js +16 -47
  31. package/lib/Player/modules/keyframes/ModelVideo/index.d.ts +2 -2
  32. package/lib/Player/modules/keyframes/ModelVideo/index.js +52 -83
  33. package/lib/Player/modules/keyframes/PanoEffect/index.d.ts +2 -2
  34. package/lib/Player/modules/keyframes/PanoEffect/index.js +16 -40
  35. package/lib/Player/modules/keyframes/PanoEffect/lineAnime.js +1 -9
  36. package/lib/Player/modules/keyframes/PanoTag/index.d.ts +1 -1
  37. package/lib/Player/modules/keyframes/PanoTag/index.js +6 -25
  38. package/lib/Player/modules/keyframes/PanoTextLabel/index.d.ts +2 -2
  39. package/lib/Player/modules/keyframes/PanoTextLabel/index.js +31 -50
  40. package/lib/Player/modules/keyframes/Prompter/index.d.ts +2 -2
  41. package/lib/Player/modules/keyframes/Prompter/index.js +11 -29
  42. package/lib/Player/modules/keyframes/UpdateVRPanorama/index.d.ts +2 -2
  43. package/lib/Player/modules/keyframes/UpdateVRPanorama/index.js +25 -29
  44. package/lib/Player/modules/keyframes/VideoEffect/index.d.ts +2 -2
  45. package/lib/Player/modules/keyframes/VideoEffect/index.js +52 -87
  46. package/lib/Player/typings.d.ts +7 -4
  47. package/lib/fivePlugins/CSS3DRenderPlugin/centerPoint.js +0 -2
  48. package/lib/fivePlugins/CSS3DRenderPlugin/createResizeObserver.js +0 -1
  49. package/lib/fivePlugins/CSS3DRenderPlugin/evenNumber.js +0 -1
  50. package/lib/fivePlugins/CSS3DRenderPlugin/index.d.ts +1 -1
  51. package/lib/fivePlugins/CSS3DRenderPlugin/index.js +42 -81
  52. package/lib/fivePlugins/CSS3DRenderPlugin/transformPositionToVector3.js +3 -7
  53. package/lib/fivePlugins/CameraMovementPlugin/index.js +181 -241
  54. package/lib/fivePlugins/CameraMovementPlugin/typings.d.ts +4 -4
  55. package/lib/fivePlugins/CameraMovementPlugin/typings.js +6 -12
  56. package/lib/fivePlugins/ModelTVVideoPlugin/index.js +37 -87
  57. package/lib/index.js +0 -1
  58. package/lib/react/index.d.ts +2 -1
  59. package/lib/react/index.js +10 -35
  60. package/lib/shared-utils/Audio.js +57 -106
  61. package/lib/shared-utils/AudioLike.d.ts +1 -1
  62. package/lib/shared-utils/AudioLike.js +19 -46
  63. package/lib/shared-utils/Preloader.js +2 -10
  64. package/lib/shared-utils/addResizeListener.d.ts +1 -1
  65. package/lib/shared-utils/addResizeListener.js +0 -5
  66. package/lib/shared-utils/animationFrame/BetterTween.d.ts +1 -1
  67. package/lib/shared-utils/animationFrame/BetterTween.js +14 -45
  68. package/lib/shared-utils/animationFrame/index.d.ts +1 -2
  69. package/lib/shared-utils/animationFrame/index.js +3 -12
  70. package/lib/shared-utils/animationFrame/tween.d.ts +2 -2
  71. package/lib/shared-utils/animationFrame/tween.js +3 -14
  72. package/lib/shared-utils/createTransMatrix.js +1 -10
  73. package/lib/shared-utils/getFileExpandedName.js +0 -1
  74. package/lib/shared-utils/getMediaInfo.d.ts +3 -3
  75. package/lib/shared-utils/getMediaInfo.js +0 -10
  76. package/lib/shared-utils/setElementDataset.js +0 -2
  77. package/lib/typings/VreoUnit.d.ts +16 -16
  78. package/lib/typings/VreoUnit.js +115 -47
  79. package/package.json +23 -18
@@ -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 _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); }
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 = _super.call(this, geometry, material);
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 = ''; // videoInstance.muted = true
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.audioLikeInstance = new _AudioLike["default"]();
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$videoIn = _this.options.videoInstance) === null || _this$options$videoIn === void 0 ? void 0 : _this$options$videoIn.addEventListener('pause', onPause);
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$videoIn3 = _this.options.videoInstance) === null || _this$options$videoIn3 === void 0 ? void 0 : _this$options$videoIn3.removeEventListener('pause', onPause);
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"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(videoUrl) {
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
- switch (_context.prev = _context.next) {
207
- case 0:
208
- if (!(this.videoUrl === videoUrl)) {
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
- case 18:
251
- _context.t0 = this.videoUrl;
252
-
253
- case 19:
254
- this.mediaInstance.src = _context.t0;
255
- this.mediaInstance.setAttribute('data-src', this.videoUrl);
256
-
257
- onStart = function onStart() {
258
- if (_this2.mediaInstance.currentTime === 0) return;
259
- _this2.freeze = false;
260
- _this2.mediaInstance.muted = false;
261
- uniforms.enable.value = (0, _getMediaInfo.getMediaType)(_this2.videoUrl) ? 1 : 0;
262
-
263
- _this2.mediaInstance.removeEventListener('timeupdate', onStart, false);
264
- };
265
-
266
- this.mediaInstance.addEventListener('timeupdate', onStart, false);
267
-
268
- case 23:
269
- case "end":
270
- return _context.stop();
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"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
217
+ var _play = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
286
218
  var _this3 = this;
287
-
288
219
  var videoUrl,
289
- currentTime,
290
- duration,
291
- _args3 = arguments;
220
+ currentTime,
221
+ duration,
222
+ _args3 = arguments;
292
223
  return _regenerator["default"].wrap(function _callee3$(_context3) {
293
- while (1) {
294
- switch (_context3.prev = _context3.next) {
295
- case 0:
296
- videoUrl = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : '';
297
- currentTime = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : 0;
298
- duration = _args3.length > 2 ? _args3[2] : undefined;
299
- videoUrl = videoUrl || '';
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
- case 16:
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
- _context3.next = 22;
347
- return this.mediaInstance.play();
348
-
349
- case 22:
350
- return _context3.abrupt("return", true);
351
-
352
- case 23:
353
- _context3.next = 25;
354
- return this.update(videoUrl);
355
-
356
- case 25:
357
- this.mediaInstance.pause();
358
- _context3.next = 28;
359
- return new Promise(function (resolve) {
360
- return setTimeout( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
361
- return _regenerator["default"].wrap(function _callee2$(_context2) {
362
- while (1) {
363
- switch (_context2.prev = _context2.next) {
364
- case 0:
365
- _this3.mediaInstance.currentTime = currentTime;
366
- _context2.next = 3;
367
- return _this3.mediaInstance.play();
368
-
369
- case 3:
370
- resolve(true);
371
-
372
- case 4:
373
- case "end":
374
- return _context2.stop();
375
- }
376
- }
377
- }, _callee2);
378
- })), 20);
379
- });
380
-
381
- case 28:
382
- return _context3.abrupt("return", _context3.sent);
383
-
384
- case 29:
385
- case "end":
386
- return _context3.stop();
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
- return VideoAgentMesh;
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
- 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); }
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); // const needRender = getMediaType(this.videoAgentMesh.videoUrl) === 'video'
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
- /// <reference types="react" />
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;