@realsee/vreo 1.0.0-alpha.24 → 1.0.0-alpha.25

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.
@@ -19,17 +19,10 @@ var audioCacheLength = Number((_location$search$matc = (_location$search$matc2 =
19
19
  (0, _Audio.generateBlankAudio)(audioCacheLength);
20
20
  function BgMusic() {
21
21
  var controller = (0, _hooks.useController)();
22
- var timeoutIdRef = React.useRef(null);
23
- var cleanTimeout = React.useCallback(function () {
24
- if (timeoutIdRef.current) {
25
- clearTimeout(timeoutIdRef.current);
26
- timeoutIdRef.current = null;
27
- }
28
- }, []);
29
22
  React.useEffect(function () {
30
23
  var callback = /*#__PURE__*/function () {
31
24
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(keyframe, currentTime) {
32
- var start, end, audio, play, cleanAudio;
25
+ var start, end, audio, cleanAudio;
33
26
  return _regeneratorRuntime().wrap(function _callee$(_context) {
34
27
  while (1) {
35
28
  switch (_context.prev = _context.next) {
@@ -37,29 +30,24 @@ function BgMusic() {
37
30
  start = keyframe.start, end = keyframe.end;
38
31
  audio = (0, _Audio.getAudio)(keyframe.data.url);
39
32
  audio.currentTime = Math.max((currentTime - start) / 1000, 0);
33
+
34
+ // const play = () => audio.play()
35
+
40
36
  audio.play();
41
- play = function play() {
42
- return audio.play();
43
- };
44
- audio.addEventListener('canplaythrough', play);
45
- audio.addEventListener('ended', function () {
46
- audio.src = '';
47
- });
48
- cleanTimeout();
49
37
  cleanAudio = function cleanAudio() {
50
- audio.removeEventListener('canplaythrough', play);
38
+ console.log('clean audio');
39
+ // audio.removeEventListener('canplaythrough', play)
51
40
  audio.pause();
52
- cleanTimeout();
53
- }; // const duration = end - start
54
- // audio.addEventListener('ended', cleanAudio)
55
- // 音频加载会有时间,所以不通过这种方式停止,而是等播完停止
56
- // timeoutIdRef.current = setTimeout(() => {
57
- // cleanAudio()
58
- // }, duration)
41
+ // cleanTimeout()
42
+ }; // audio.addEventListener('canplaythrough', play)
43
+
44
+ audio.addEventListener('ended', function () {
45
+ cleanAudio();
46
+ });
59
47
  controller.once('paused', function () {
60
48
  cleanAudio();
61
49
  });
62
- case 10:
50
+ case 7:
63
51
  case "end":
64
52
  return _context.stop();
65
53
  }
@@ -73,7 +61,6 @@ function BgMusic() {
73
61
  controller.on(_VreoUnit.VreoKeyframeEnum.BgMusic, callback);
74
62
  return function () {
75
63
  controller.off(_VreoUnit.VreoKeyframeEnum.BgMusic, callback);
76
- cleanTimeout();
77
64
  };
78
65
  });
79
66
  return /*#__PURE__*/React.createElement(React.Fragment, null);
@@ -7,7 +7,7 @@ declare class IAudio extends Audio {
7
7
  realSrc: string;
8
8
  private inited;
9
9
  private removeDocumentEventListener;
10
- constructor(src?: string);
11
10
  private init;
11
+ constructor(src?: string);
12
12
  }
13
13
  export {};
@@ -24,7 +24,10 @@ function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[nat
24
24
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
25
25
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
26
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; }
27
- var blankAudioSrc = 'data:audio/mpeg;base64,//AAAAHGZ0eXBNNEEgAAAAAE00QSBpc29tbXA0MgAAAAFtZGF0AAAAAAAAABwA0AAHANAABwDQAAcAAAM+bW9vdgAAAGxtdmhkAAAAAN+jti7fo7YuAACsRAAADAAAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAdB0cmFrAAAAXHRraGQAAAAB36O2Lt+jti4AAAABAAAAAAAADAAAAAAAAAAAAAAAAAABAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAFsbWRpYQAAACBtZGhkAAAAAN+jti7fo7YuAACsRAAADABVxAAAAAAAMWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABDb3JlIE1lZGlhIEF1ZGlvAAAAARNtaW5mAAAAEHNtaGQAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAANdzdGJsAAAAZ3N0c2QAAAAAAAAAAQAAAFdtcDRhAAAAAAAAAAEAAAAAAAAAAAACABAAAAAArEQAAAAAADNlc2RzAAAAAAOAgIAiAAAABICAgBRAFAAYAAAA+gAAAPoABYCAgAISCAaAgIABAgAAABhzdHRzAAAAAAAAAAEAAAADAAAEAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAwAAAAEAAAAgc3RzegAAAAAAAAAAAAAAAwAAAAQAAAAEAAAABAAAABRzdGNvAAAAAAAAAAEAAAAsAAAA+nVkdGEAAADybWV0YQAAAAAAAAAiaGRscgAAAAAAAAAAbWRpcgAAAAAAAAAAAAAAAAAAAAAAxGlsc3QAAAC8LS0tLQAAABxtZWFuAAAAAGNvbS5hcHBsZS5pVHVuZXMAAAAUbmFtZQAAAABpVHVuU01QQgAAAIRkYXRhAAAAAQAAAAAgMDAwMDAwMDAgMDAwMDA4NDAgMDAwMDAzQzAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMA==';
27
+ var blankAudioSrc = 'data:audio/mpeg;base64,//uQxAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAADAAAGhgBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr///////////////////////////////////////////8AAAA5TEFNRTMuOThyAc0AAAAAAAAAABSAJAiqQgAAgAAABobxtI73AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//uQxAACFEII9ACZ/sJZwWEoEb8w/////N//////JcxjHjf+7/v/H2PzCCFAiDtGeyBCIx7bJJ1mmEEMy6g8mm2c8nrGABB4h2Mkmn//4z/73u773R5qHHu/j/w7Kxkzh5lWRWdsifCkNAnY9Zc1HvDAhjhSHdFkHFzLmabt/AQxSg2wwzLhHIJOBnAWwVY4zrhIYhhc2kvhYDfQ4hDi2Gmh5KyFn8EcGIrHAngNgIwVIEMf5bzbAiTRoAD///8z/KVhkkWEle6IX+d/z4fvH3BShK1e5kmjkCMoxVmXhd4ROlTKo3iipasvTilY21q19ta30/v/0/idPX1v8PNxJL6ramnOVsdvMv2akO0iSYIzdJFirtzWXCZicS9vHqvSKyqm5XJBdqBwPxyfJdykhWTZ0G0ZyTZGpLKxsNwwoRhsx3tZfhwmeOBVISm3impAC/IT/8hP/EKEM1KMdVdVKM2rHV4x7HVXZvbVVKN/qq8CiV9VL9jjH/6l6qf7MBCjZmOqsAibjcP+qqqv0oxqpa/NVW286hPo1nz2L/h8+jXt//uSxCmDU2IK/ECN98KKtE5IYzNoCfbw+u9i5r8PoadUMFPKqWL4LK3T/LCraMSHGkW4bpLXR/E6LlHOVQxmslKVJ8IULktMN06N0FKCpHCoYsjC4F+Z0NVqdNFoGSTjSiyjzLdnZ2fNqTi2eHKONONKLMPMKLONKLMPQRJGlFxZRoKcJFAYEeIFiRQkUWUeYfef//Ko04soswso40UJAgMw8wosososy0EalnZyjQUGBRQGIFggOWUacWUeYmuadrZziQKKEgQsQLAhQkUJAgMQDghltLO1onp0cpkNInSFMqlYeSEJ5AHsqFdOwy1DA2sRmRJKxdKRfLhfLw5BzUxBTUUzLjk4LjJVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk4LjJVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7ksRRA8AAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=';
28
+ // 下面这段居然在11pro上播不出来
29
+ // const blankAudioSrc = 'data:audio/mpeg;base64,//AAAAHGZ0eXBNNEEgAAAAAE00QSBpc29tbXA0MgAAAAFtZGF0AAAAAAAAABwA0AAHANAABwDQAAcAAAM+bW9vdgAAAGxtdmhkAAAAAN+jti7fo7YuAACsRAAADAAAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAdB0cmFrAAAAXHRraGQAAAAB36O2Lt+jti4AAAABAAAAAAAADAAAAAAAAAAAAAAAAAABAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAFsbWRpYQAAACBtZGhkAAAAAN+jti7fo7YuAACsRAAADABVxAAAAAAAMWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABDb3JlIE1lZGlhIEF1ZGlvAAAAARNtaW5mAAAAEHNtaGQAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAANdzdGJsAAAAZ3N0c2QAAAAAAAAAAQAAAFdtcDRhAAAAAAAAAAEAAAAAAAAAAAACABAAAAAArEQAAAAAADNlc2RzAAAAAAOAgIAiAAAABICAgBRAFAAYAAAA+gAAAPoABYCAgAISCAaAgIABAgAAABhzdHRzAAAAAAAAAAEAAAADAAAEAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAwAAAAEAAAAgc3RzegAAAAAAAAAAAAAAAwAAAAQAAAAEAAAABAAAABRzdGNvAAAAAAAAAAEAAAAsAAAA+nVkdGEAAADybWV0YQAAAAAAAAAiaGRscgAAAAAAAAAAbWRpcgAAAAAAAAAAAAAAAAAAAAAAxGlsc3QAAAC8LS0tLQAAABxtZWFuAAAAAGNvbS5hcHBsZS5pVHVuZXMAAAAUbmFtZQAAAABpVHVuU01QQgAAAIRkYXRhAAAAAQAAAAAgMDAwMDAwMDAgMDAwMDA4NDAgMDAwMDAzQzAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMA=='
30
+
28
31
  var audioList = [];
29
32
  function getAudio(src) {
30
33
  var audio = audioList.find(function (audio) {
@@ -49,25 +52,37 @@ var IAudio = /*#__PURE__*/function (_Audio) {
49
52
  _inherits(IAudio, _Audio);
50
53
  var _super = _createSuper(IAudio);
51
54
  function IAudio(src) {
52
- var _this;
55
+ var _thisSuper, _this;
53
56
  _classCallCheck(this, IAudio);
54
57
  _this = _super.call(this, src);
55
58
  _defineProperty(_assertThisInitialized(_this), "preload", 'auto');
56
59
  _defineProperty(_assertThisInitialized(_this), "realSrc", '');
57
60
  _defineProperty(_assertThisInitialized(_this), "inited", false);
61
+ _defineProperty(_assertThisInitialized(_this), "init", function () {
62
+ console.log('init audio');
63
+ if (_this.inited) return;
64
+ if (_this.src) {
65
+ _this.inited = true;
66
+ _this.removeDocumentEventListener();
67
+ }
68
+ if (_this.src === blankAudioSrc) {
69
+ _this.play();
70
+ }
71
+ });
58
72
  _this.realSrc = src !== null && src !== void 0 ? src : '';
59
73
  console.log('create audio', src);
60
- _this.addEventListener('end', function () {
61
- return _this.src = '';
74
+ _get((_thisSuper = _assertThisInitialized(_this), _getPrototypeOf(IAudio.prototype)), "addEventListener", _thisSuper).call(_thisSuper, 'ended', function () {
75
+ console.log('ended', _this.realSrc, Date.now());
76
+ _this.src = '';
62
77
  });
63
- var init = function init() {
78
+ var initAudio = function initAudio() {
64
79
  return _this.init();
65
80
  };
66
- document.addEventListener('click', init);
67
- document.addEventListener('touchstart', init);
81
+ document.addEventListener('click', initAudio);
82
+ document.addEventListener('touchstart', initAudio);
68
83
  _this.removeDocumentEventListener = function () {
69
- document.removeEventListener('click', init);
70
- document.removeEventListener('touchstart', init);
84
+ document.removeEventListener('click', initAudio);
85
+ document.removeEventListener('touchstart', initAudio);
71
86
  };
72
87
  return _this;
73
88
  }
@@ -80,19 +95,6 @@ var IAudio = /*#__PURE__*/function (_Audio) {
80
95
  _set(_getPrototypeOf(IAudio.prototype), "src", paramsSrc, this, true);
81
96
  this.realSrc = paramsSrc;
82
97
  }
83
- }, {
84
- key: "init",
85
- value: function init() {
86
- console.log('init');
87
- if (this.inited) return;
88
- if (this.src) {
89
- this.inited = true;
90
- this.removeDocumentEventListener();
91
- }
92
- if (this.src === blankAudioSrc) {
93
- this.play();
94
- }
95
- }
96
98
  }]);
97
99
  return IAudio;
98
100
  }( /*#__PURE__*/_wrapNativeSuper(Audio));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realsee/vreo",
3
- "version": "1.0.0-alpha.24",
3
+ "version": "1.0.0-alpha.25",
4
4
  "description": "Vreo (VR Video 缩写) 是基于如视三维渲染引擎 Five 和 用户界面构建库 React 实现的如视 3D 空间剧本播放器。",
5
5
  "keywords": [
6
6
  "realsee",