@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,
|
|
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
|
-
|
|
38
|
+
console.log('clean audio');
|
|
39
|
+
// audio.removeEventListener('canplaythrough', play)
|
|
51
40
|
audio.pause();
|
|
52
|
-
cleanTimeout()
|
|
53
|
-
}; //
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
|
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);
|
|
@@ -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,//
|
|
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('
|
|
61
|
-
|
|
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
|
|
78
|
+
var initAudio = function initAudio() {
|
|
64
79
|
return _this.init();
|
|
65
80
|
};
|
|
66
|
-
document.addEventListener('click',
|
|
67
|
-
document.addEventListener('touchstart',
|
|
81
|
+
document.addEventListener('click', initAudio);
|
|
82
|
+
document.addEventListener('touchstart', initAudio);
|
|
68
83
|
_this.removeDocumentEventListener = function () {
|
|
69
|
-
document.removeEventListener('click',
|
|
70
|
-
document.removeEventListener('touchstart',
|
|
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));
|