diff --git a/public/index.html b/public/index.html index 251ee00..1197451 100644 --- a/public/index.html +++ b/public/index.html @@ -14,6 +14,11 @@ + + + diff --git a/src/plugin/xml-digital-teaching/lib/02e73818049b5bde.png b/src/plugin/xml-digital-teaching/lib/02e73818049b5bde.png new file mode 100644 index 0000000..b1e333d Binary files /dev/null and b/src/plugin/xml-digital-teaching/lib/02e73818049b5bde.png differ diff --git a/src/plugin/xml-digital-teaching/lib/68e92cdad838b335.png b/src/plugin/xml-digital-teaching/lib/68e92cdad838b335.png new file mode 100644 index 0000000..2b385f6 Binary files /dev/null and b/src/plugin/xml-digital-teaching/lib/68e92cdad838b335.png differ diff --git a/src/plugin/xml-digital-teaching/lib/a6071719aecd4e53.png b/src/plugin/xml-digital-teaching/lib/a6071719aecd4e53.png new file mode 100644 index 0000000..362386f Binary files /dev/null and b/src/plugin/xml-digital-teaching/lib/a6071719aecd4e53.png differ diff --git a/src/plugin/xml-digital-teaching/lib/catalog.js b/src/plugin/xml-digital-teaching/lib/catalog.js index fd9f07d..1bcc6d4 100644 --- a/src/plugin/xml-digital-teaching/lib/catalog.js +++ b/src/plugin/xml-digital-teaching/lib/catalog.js @@ -1,6 +1,6 @@ /* * XmlDigitalTeaching v0.0.1 -* Copyright ©Fri Mar 14 2025 14:04:05 GMT+0800 (中国标准时间) smile +* Copyright ©Tue Apr 08 2025 18:13:23 GMT+0800 (中国标准时间) smile * Released under the ISC License. */ // diff --git a/src/plugin/xml-digital-teaching/lib/ebook.js b/src/plugin/xml-digital-teaching/lib/ebook.js index 3e35ba6..47f15f6 100644 --- a/src/plugin/xml-digital-teaching/lib/ebook.js +++ b/src/plugin/xml-digital-teaching/lib/ebook.js @@ -1,6 +1,6 @@ /* * XmlDigitalTeaching v0.0.1 -* Copyright ©Fri Mar 14 2025 14:04:05 GMT+0800 (中国标准时间) smile +* Copyright ©Tue Apr 08 2025 18:13:23 GMT+0800 (中国标准时间) smile * Released under the ISC License. */ // diff --git a/src/plugin/xml-digital-teaching/lib/group.js b/src/plugin/xml-digital-teaching/lib/group.js index 854802c..ea20486 100644 --- a/src/plugin/xml-digital-teaching/lib/group.js +++ b/src/plugin/xml-digital-teaching/lib/group.js @@ -1,6 +1,6 @@ /* * XmlDigitalTeaching v0.0.1 -* Copyright ©Fri Mar 14 2025 14:04:05 GMT+0800 (中国标准时间) smile +* Copyright ©Tue Apr 08 2025 18:13:23 GMT+0800 (中国标准时间) smile * Released under the ISC License. */ // diff --git a/src/plugin/xml-digital-teaching/lib/html.js b/src/plugin/xml-digital-teaching/lib/html.js index 7aee1c2..83cf5d3 100644 --- a/src/plugin/xml-digital-teaching/lib/html.js +++ b/src/plugin/xml-digital-teaching/lib/html.js @@ -1,6 +1,6 @@ /* * XmlDigitalTeaching v0.0.1 -* Copyright ©Fri Mar 14 2025 14:04:05 GMT+0800 (中国标准时间) smile +* Copyright ©Tue Apr 08 2025 18:13:23 GMT+0800 (中国标准时间) smile * Released under the ISC License. */ // diff --git a/src/plugin/xml-digital-teaching/lib/image.js b/src/plugin/xml-digital-teaching/lib/image.js index f75d2f2..9a7cc84 100644 --- a/src/plugin/xml-digital-teaching/lib/image.js +++ b/src/plugin/xml-digital-teaching/lib/image.js @@ -1,6 +1,6 @@ /* * XmlDigitalTeaching v0.0.1 -* Copyright ©Fri Mar 14 2025 14:04:05 GMT+0800 (中国标准时间) smile +* Copyright ©Tue Apr 08 2025 18:13:23 GMT+0800 (中国标准时间) smile * Released under the ISC License. */ import Vue from 'vue'; diff --git a/src/plugin/xml-digital-teaching/lib/imageText.css b/src/plugin/xml-digital-teaching/lib/imageText.css index 01a9e61..e251905 100644 --- a/src/plugin/xml-digital-teaching/lib/imageText.css +++ b/src/plugin/xml-digital-teaching/lib/imageText.css @@ -1,33 +1,38 @@ -/*# sourceMappingURL=fifth.vue.map */ - - -/*# sourceMappingURL=first.vue.map */ - - -/*# sourceMappingURL=seventh.vue.map */ - - -/*# sourceMappingURL=second.vue.map */ - - -/*# sourceMappingURL=third.vue.map */ - - -/*# sourceMappingURL=sixth.vue.map */ - - /*# sourceMappingURL=fourth.vue.map */ +/*# sourceMappingURL=first.vue.map */ + + /*# sourceMappingURL=eighth.vue.map */ -.xml-text-h5[data-v-e037ecc2] { + +/*# sourceMappingURL=fifth.vue.map */ + + +/*# sourceMappingURL=sixth.vue.map */ + + +/*# sourceMappingURL=third.vue.map */ + + +/*# sourceMappingURL=second.vue.map */ + + +/*# sourceMappingURL=seventh.vue.map */ + +.xml-image-lun-bo .el-carousel__item { + text-align: center; +} + + +.xml-text-h5[data-v-ab7c5c76] { } -.xml-text-pc[data-v-e037ecc2] { +.xml-text-pc[data-v-ab7c5c76] { } -.xml-text-h5[data-v-e037ecc2] { +.xml-text-h5[data-v-ab7c5c76] { } .xml-text-h5 .inline-audio-wrap, @@ -101,11 +106,6 @@ /*# sourceMappingURL=XmlText.vue.map */ -.xml-image-lun-bo .el-carousel__item { - text-align: center; -} - - /*# sourceMappingURL=XmlTextDialog.vue.map */ diff --git a/src/plugin/xml-digital-teaching/lib/imageText.js b/src/plugin/xml-digital-teaching/lib/imageText.js index 09bb5a6..d08599f 100644 --- a/src/plugin/xml-digital-teaching/lib/imageText.js +++ b/src/plugin/xml-digital-teaching/lib/imageText.js @@ -1,6 +1,6 @@ /* * XmlDigitalTeaching v0.0.1 -* Copyright ©Fri Mar 14 2025 14:04:05 GMT+0800 (中国标准时间) smile +* Copyright ©Tue Apr 08 2025 18:13:23 GMT+0800 (中国标准时间) smile * Released under the ISC License. */ import Vue from 'vue'; @@ -11813,6 +11813,7 @@ class MagicLink extends HTMLElement { box-sizing: border-box; overflow: hidden; vertical-align: text-bottom; + white-space: initial; } .wifi-symbol svg { display:block; @@ -11942,27 +11943,30 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js a = t ? window : Object; !function (e, w) { - var S = function () {}, + var M = function () {}, f = function (e) { return "number" == typeof e; }, - N = function (e) { - return new l(e); + B = function (e) { + return JSON.stringify(e); }, - M = N.LM = "2024-04-09 19:15", - y = "https://github.com/xiangyuecn/Recorder", - R = "Recorder", - A = "getUserMedia", - V = "srcSampleRate", - D = "sampleRate", + W = function (e) { + return new _(e); + }, + y = W.LM = "2024-10-20 22:15", + A = "https://github.com/xiangyuecn/Recorder", + T = "Recorder", + k = "getUserMedia", + N = "srcSampleRate", + V = "sampleRate", i = "bitRate", - x = "catch", - t = e[R]; - if (t && t.LM == M) return t.CLog(t.i18n.$T("K8zP::重复导入{1}", 0, R), 3); - N.IsOpen = function () { - var e = N.Stream; + E = "catch", + t = e[T]; + if (t && t.LM == y) return t.CLog(t.i18n.$T("K8zP::重复导入{1}", 0, T), 3); + W.IsOpen = function () { + var e = W.Stream; if (e) { - var t = e.getTracks && e.getTracks() || e.audioTracks || [], + var t = D(e), a = t[0]; if (a) { var n = a.readyState; @@ -11970,54 +11974,47 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } return !1; - }, N.BufferSize = 4096, N.Destroy = function () { - for (var e in O(R + " Destroy"), L(), a) a[e](); + }, W.BufferSize = 4096, W.Destroy = function () { + for (var e in Q(T + " Destroy"), O(), a) a[e](); }; var a = {}; - N.BindDestroy = function (e, t) { + W.BindDestroy = function (e, t) { a[e] = t; - }, N.Support = function () { + }, W.Support = function () { if (!w) return !1; var e = navigator.mediaDevices || {}; - return e[A] || (e = navigator)[A] || (e[A] = e.webkitGetUserMedia || e.mozGetUserMedia || e.msGetUserMedia), !!e[A] && (N.Scope = e, !!N.GetContext()); - }, N.GetContext = function (e) { + return e[k] || (e = navigator)[k] || (e[k] = e.webkitGetUserMedia || e.mozGetUserMedia || e.msGetUserMedia), !!e[k] && (W.Scope = e, !!W.GetContext()); + }, W.GetContext = function (e) { if (!w) return null; var t = window.AudioContext; if (t || (t = window.webkitAudioContext), !t) return null; - var a = N.Ctx; - if (a && "closed" != a.state || (a = N.Ctx = new t(), N.NewCtxs = N.NewCtxs || [], N.BindDestroy("Ctx", function () { - var e = N.Ctx; - e && e.close && (s(e), N.Ctx = 0); - var t = N.NewCtxs; - N.NewCtxs = []; + var a = W.Ctx, + n = 0; + return a || (a = W.Ctx = new t(), n = 1, W.NewCtxs = W.NewCtxs || [], W.BindDestroy("Ctx", function () { + var e = W.Ctx; + e && e.close && (s(e), W.Ctx = 0); + var t = W.NewCtxs; + W.NewCtxs = []; for (var a = 0; a < t.length; a++) s(t[a]); - })), e && a.close) try { - a = new t(), N.NewCtxs.push(a); - } catch (e) { - O("GetContext tryNew Error", 1, e); - } - return a; - }, N.CloseNewCtx = function (e) { - if (e && e != N.Ctx) { + })), e && a.close && (n || (a._useC || s(a), a = new t()), a._useC = 1, W.NewCtxs.push(a)), a; + }, W.CloseNewCtx = function (e) { + if (e && e.close) { s(e); - for (var t = N.NewCtxs || [], a = t.length, n = 0; n < t.length; n++) if (t[n] == e) { + for (var t = W.NewCtxs || [], a = t.length, n = 0; n < t.length; n++) if (t[n] == e) { t.splice(n, 1); break; } - O(z("mSxV::剩{1}个GetContext未close", 0, a + "-1=" + t.length), t.length ? 3 : 0); + Q($("mSxV::剩{1}个GetContext未close", 0, a + "-1=" + t.length), t.length ? 3 : 0); } }; var s = function (e) { - if (e && e.close) { - e._isC = 1; - try { - e.close(); - } catch (e) { - O("ctx close err", 1, e); - } + if (e && e.close && !e._isC && (e._isC = 1, "closed" != e.state)) try { + e.close(); + } catch (e) { + Q("ctx close err", 1, e); } }, - B = N.ResumeCtx = function (a, n, s, r) { + C = W.ResumeCtx = function (a, n, s, r) { var i = 0, o = 0, _ = 0, @@ -12037,98 +12034,117 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js var e = a.state, t = p(e); if (!i && !n(t ? ++l : l)) return u(); - t ? (_ && O(c + "sc " + e, 3), h(1), a.resume().then(function () { - _ && O(c + "sc " + a.state), u(0, 1); - })[x](function (e) { - O(c + "error", 1, e), p(a.state) || u(e.message || "error"); - })) : "closed" == e ? (_ && !a._isC && O(c + "sc " + e, 1), u("ctx closed")) : u(0, 1); + t ? (_ && Q(c + "sc " + e, 3), h(1), a.resume().then(function () { + _ && Q(c + "sc " + a.state), u(0, 1); + })[E](function (e) { + Q(c + "error", 1, e), p(a.state) || u(e.message || "error"); + })) : "closed" == e ? (_ && !a._isC && Q(c + "sc " + e, 1), u("ctx closed")) : u(0, 1); }; b(); }, - p = N.CtxSpEnd = function (e) { + p = W.CtxSpEnd = function (e) { return "suspended" == e || "interrupted" == e; }, - k = function (e) { + R = function (e) { var t = e.state, a = "ctx.state=" + t; - return p(t) && (a += z("nMIy::(注意:ctx不是running状态,rec.open和start至少要有一个在用户操作(触摸、点击等)时进行调用,否则将在rec.start时尝试进行ctx.resume,可能会产生兼容性问题(仅iOS),请参阅文档中runningContext配置)")), a; + return p(t) && (a += $("nMIy::(注意:ctx不是running状态,rec.open和start至少要有一个在用户操作(触摸、点击等)时进行调用,否则将在rec.start时尝试进行ctx.resume,可能会产生兼容性问题(仅iOS),请参阅文档中runningContext配置)")), a; }, - T = "ConnectEnableWebM"; - N[T] = !0; - var E = "ConnectEnableWorklet"; - N[E] = !1; - var C = function (e, _) { - var l = e.BufferSize || N.BufferSize, - f = e.Stream, - c = f._RC || f._c || N.GetContext(!0); - f._c = c; + I = "ConnectEnableWebM"; + W[I] = !0; + var L = "ConnectEnableWorklet"; + W[L] = !1; + var x = function (e) { + var _ = e.BufferSize || W.BufferSize, + l = e.Stream, + i = l._c, + f = i[V], + c = {}, + t = D(l), + a = t[0], + n = null, + s = ""; + if (a && a.getSettings) { + var r = (n = a.getSettings())[V]; + r && r != f && (s = $("eS8i::Stream的采样率{1}不等于{2},将进行采样率转换(注意:音质不会变好甚至可能变差),主要在移动端未禁用回声消除时会产生此现象,浏览器有回声消除时可能只会返回16k采样率的音频数据,", 0, r, f)); + } + l._ts = n, Q(s + "Stream TrackSet: " + B(n), s ? 3 : 0); var u, - a, + o, h, - i = function (e) { - var t = f._m = c.createMediaStreamSource(f), - a = c.destination, + b = function (e) { + var t = l._m = i.createMediaStreamSource(l), + a = i.destination, n = "createMediaStreamDestination"; - c[n] && (a = f._d = c[n]()), t.connect(e), e.connect(a); + i[n] && (a = l._d = i[n]()), t.connect(e), e.connect(a); }, - b = "", - p = f._call, - m = function (e) { - for (var t in p) { - for (var a = e.length, n = new Int16Array(a), s = 0, r = 0; r < a; r++) { - var i = Math.max(-1, Math.min(1, e[r])); - i = i < 0 ? 32768 * i : 32767 * i, n[r] = i, s += Math.abs(i); + p = "", + m = l._call, + v = function (e, t) { + for (var a in m) { + if (t != f) { + c.index = 0; + var n = (c = W.SampleData([e], t, f, c, { + _sum: 1 + })).data, + s = c._sum; + } else { + c = {}; + for (var r = e.length, n = new Int16Array(r), s = 0, i = 0; i < r; i++) { + var o = Math.max(-1, Math.min(1, e[i])); + o = o < 0 ? 32768 * o : 32767 * o, n[i] = o, s += Math.abs(o); + } } - for (var o in p) p[o](n, s); + for (var _ in m) m[_](n, s); return; } }, - v = "ScriptProcessor", - d = "audioWorklet", - o = R + " " + d, - g = "RecProc", - w = "MediaRecorder", - S = w + ".WebM.PCM", - M = c.createScriptProcessor || c.createJavaScriptNode, - y = z("ZGlf::。由于{1}内部1秒375次回调,在移动端可能会有性能问题导致回调丢失录音变短,PC端无影响,暂不建议开启{1}。", 0, d), - A = function () { - a = f.isWorklet = !1, n(f), O(z("7TU0::Connect采用老的{1},", 0, v) + Y.get(z(N[E] ? "JwCL::但已设置{1}尝试启用{2}" : "VGjB::可设置{1}尝试启用{2}", 2), [R + "." + E + "=true", d]) + b + y, 3); - var e = f._p = M.call(c, l, 1, 1); - i(e), e.onaudioprocess = function (e) { + d = "ScriptProcessor", + g = "audioWorklet", + S = T + " " + g, + w = "RecProc", + M = "MediaRecorder", + y = M + ".WebM.PCM", + A = i.createScriptProcessor || i.createJavaScriptNode, + k = $("ZGlf::。由于{1}内部1秒375次回调,在移动端可能会有性能问题导致回调丢失录音变短,PC端无影响,暂不建议开启{1}。", 0, g), + R = function () { + o = l.isWorklet = !1, P(l), Q($("7TU0::Connect采用老的{1},", 0, d) + q.get($(W[L] ? "JwCL::但已设置{1}尝试启用{2}" : "VGjB::可设置{1}尝试启用{2}", 2), [T + "." + L + "=true", g]) + p + k, 3); + var e = l._p = A.call(i, _, 1, 1); + b(e), e.onaudioprocess = function (e) { var t = e.inputBuffer.getChannelData(0); - m(t); + v(t, f); }; }, - k = function () { - u = f.isWebM = !1, I(f), a = f.isWorklet = !M || N[E]; + x = function () { + u = l.isWebM = !1, H(l), o = l.isWorklet = !A || W[L]; var t = window.AudioWorkletNode; - if (a && c[d] && t) { + if (o && i[g] && t) { var n = function () { - return a && f._na; + return o && l._na; }, - s = f._na = function () { + s = l._na = function () { "" !== h && (clearTimeout(h), h = setTimeout(function () { - h = 0, n() && (O(z("MxX1::{1}未返回任何音频,恢复使用{2}", 0, d, v), 3), M && A()); + h = 0, n() && (Q($("MxX1::{1}未返回任何音频,恢复使用{2}", 0, g, d), 3), A && R()); }, 500)); }, r = function () { if (n()) { - var e = f._n = new t(c, g, { + var e = l._n = new t(i, w, { processorOptions: { - bufferSize: l + bufferSize: _ } }); - i(e), e.port.onmessage = function (e) { - h && (clearTimeout(h), h = ""), n() ? m(e.data.val) : a || O(z("XUap::{1}多余回调", 0, d), 3); - }, O(z("yOta::Connect采用{1},设置{2}可恢复老式{3}", 0, d, R + "." + E + "=false", v) + b + y, 3); + b(e), e.port.onmessage = function (e) { + h && (clearTimeout(h), h = ""), n() ? v(e.data.val, f) : o || Q($("XUap::{1}多余回调", 0, g), 3); + }, Q($("yOta::Connect采用{1},设置{2}可恢复老式{3}", 0, g, T + "." + L + "=false", d) + p + k, 3); } }, e = function () { - if (n()) if (c[g]) r();else { + if (n()) if (i[w]) r();else { var e, t, - a = (t = "class " + g + " extends AudioWorkletProcessor{", t += "constructor " + (e = function (e) { - return e.toString().replace(/^function|DEL_/g, "").replace(/\$RA/g, o); + a = (t = "class " + w + " extends AudioWorkletProcessor{", t += "constructor " + (e = function (e) { + return e.toString().replace(/^function|DEL_/g, "").replace(/\$RA/g, S); })(function (e) { DEL_super(e); var t = this, @@ -12154,137 +12170,188 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js n.pos = i; } return !n.kill; - }), t = (t += '}try{registerProcessor("' + g + '", ' + g + ')}catch(e){$C.error("' + o + ' Reg Error",e)}').replace(/\$C\./g, "console."), "data:text/javascript;base64," + btoa(unescape(encodeURIComponent(t)))); - c[d].addModule(a).then(function (e) { - n() && (c[g] = 1, r(), h && s()); - })[x](function (e) { - O(d + ".addModule Error", 1, e), n() && A(); + }), t = (t += '}try{registerProcessor("' + w + '", ' + w + ')}catch(e){$C.error("' + S + ' Reg Error",e)}').replace(/\$C\./g, "console."), "data:text/javascript;base64," + btoa(unescape(encodeURIComponent(t)))); + i[g].addModule(a).then(function (e) { + n() && (i[w] = 1, r(), h && s()); + })[E](function (e) { + Q(g + ".addModule Error", 1, e), n() && R(); }); } }; - B(c, function () { + C(i, function () { return n(); }, e, e); - } else A(); + } else R(); }; !function () { - var e = window[w], + var e = window[M], t = "ondataavailable", a = "audio/webm; codecs=pcm"; - u = f.isWebM = N[T]; + u = l.isWebM = W[I]; var n = e && t in e.prototype && e.isTypeSupported(a); - if (b = n ? "" : z("VwPd::(此浏览器不支持{1})", 0, S), !_ || !u || !n) return k(); + if (p = n ? "" : $("VwPd::(此浏览器不支持{1})", 0, y), !u || !n) return x(); var s = function () { - return u && f._ra; - }, - r = (f._ra = function () { - "" !== h && (clearTimeout(h), h = setTimeout(function () { - s() && (O(z("vHnb::{1}未返回任何音频,降级使用{2}", 0, w, d), 3), k()); - }, 500)); - }, Object.assign({ + return u && l._ra; + }; + l._ra = function () { + "" !== h && (clearTimeout(h), h = setTimeout(function () { + s() && (Q($("vHnb::{1}未返回任何音频,降级使用{2}", 0, M, g), 3), x()); + }, 500)); + }; + var r = Object.assign({ mimeType: a - }, N.ConnectWebMOptions)), - i = f._r = new e(f, r), - o = f._rd = { - sampleRate: c[D] - }; + }, W.ConnectWebMOptions), + i = l._r = new e(l, r), + o = l._rd = {}; i[t] = function (e) { var t = new FileReader(); t.onloadend = function () { if (s()) { - var e = P(new Uint8Array(t.result), o); + var e = F(new Uint8Array(t.result), o); if (!e) return; - if (-1 == e) return void k(); - h && (clearTimeout(h), h = ""), m(e); - } else u || O(z("O9P7::{1}多余回调", 0, w), 3); + if (-1 == e) return void x(); + h && (clearTimeout(h), h = ""), v(e, o.webmSR); + } else u || Q($("O9P7::{1}多余回调", 0, M), 3); }, t.readAsArrayBuffer(e.data); - }, i.start(~~(l / 48)), O(z("LMEm::Connect采用{1},设置{2}可恢复使用{3}或老式{4}", 0, S, R + "." + T + "=false", d, v)); + }, i.start(~~(_ / 48)), Q($("LMEm::Connect采用{1},设置{2}可恢复使用{3}或老式{4}", 0, y, T + "." + I + "=false", g, d)); }(); }, r = function (e) { e._na && e._na(), e._ra && e._ra(); }, - n = function (e) { + P = function (e) { e._na = null, e._n && (e._n.port.postMessage({ kill: !0 }), e._n.disconnect(), e._n = null); }, - I = function (e) { + H = function (e) { if (e._ra = null, e._r) { try { e._r.stop(); } catch (e) { - O("mr stop err", 1, e); + Q("mr stop err", 1, e); } e._r = null; } }, - L = function (e) { - var t = (e = e || N) == N, + O = function (e) { + var t = (e = e || W) == W, a = e.Stream; - a && (a._m && (a._m.disconnect(), a._m = null), !a._RC && a._c && N.CloseNewCtx(a._c), a._RC = null, a._c = null, a._d && (o(a._d.stream), a._d = null), a._p && (a._p.disconnect(), a._p.onaudioprocess = a._p = null), n(a), I(a), t && o(a)), e.Stream = 0; + a && (a._m && (a._m.disconnect(), a._m = null), !a._RC && a._c && W.CloseNewCtx(a._c), a._RC = null, a._c = null, a._d && (n(a._d.stream), a._d = null), a._p && (a._p.disconnect(), a._p.onaudioprocess = a._p = null), P(a), H(a), t && n(a)), e.Stream = 0; }, - o = N.StopS_ = function (e) { - for (var t = e.getTracks && e.getTracks() || e.audioTracks || [], a = 0; a < t.length; a++) { + n = W.StopS_ = function (e) { + for (var t = D(e), a = 0; a < t.length; a++) { var n = t[a]; n.stop && n.stop(); } e.stop && e.stop(); + }, + D = function (e) { + var t = 0, + a = 0, + n = []; + e.getAudioTracks && (t = e.getAudioTracks(), a = e.getVideoTracks()), t || (t = e.audioTracks, a = e.videoTracks); + for (var s = 0, r = t ? t.length : 0; s < r; s++) n.push(t[s]); + for (var s = 0, r = a ? a.length : 0; s < r; s++) n.push(a[s]); + return n; }; - N.SampleData = function (e, t, a, n, s) { + W.SampleData = function (e, t, a, n, s) { var r = "SampleData"; n || (n = {}); var i = n.index || 0, o = n.offset || 0, - _ = n.filter; - if (_ && _.fn && _.sr != t && (_ = null, O(z("d48C::{1}的filter采样率变了,重设滤波", 0, r), 3)), !_) { - var l = 3 * t / 4 < a ? 0 : a / 2 * 3 / 4; - _ = { - fn: l ? N.IIRFilter(!0, t, l) : 0 + _ = n.raisePrev || 0, + l = n.filter; + if (l && l.fn && (l.sr && l.sr != t || l.srn && l.srn != a) && (l = null, Q($("d48C::{1}的filter采样率变了,重设滤波", 0, r), 3)), !l) if (a <= t) { + var f = 3 * t / 4 < a ? 0 : a / 2 * 3 / 4; + l = { + fn: f ? W.IIRFilter(!0, t, f) : 0 + }; + } else { + var f = 3 * a / 4 < t ? 0 : t / 2 * 3 / 4; + l = { + fn: f ? W.IIRFilter(!0, a, f) : 0 }; } - _.sr = t; - var f = _.fn, - c = n.frameNext || []; + l.sr = t, l.srn = a; + var c = l.fn, + u = n.frameNext || []; s || (s = {}); - var u = s.frameSize || 1; - s.frameType && (u = "mp3" == s.frameType ? 1152 : 1); - var h = e.length; - h + 1 < i && O(z("tlbC::{1}似乎传入了未重置chunk {2}", 0, r, i + ">" + h), 3); - for (var b = 0, p = i; p < h; p++) b += e[p].length; - b = Math.max(0, b - Math.floor(o)); - var m = t / a; - 1 < m ? b = Math.floor(b / m) : (m = 1, a = t), b += c.length; - for (var v = new Int16Array(b), d = 0, p = 0; p < c.length; p++) v[d] = c[p], d++; - for (; i < h; i++) { - for (var g = e[i], p = o, w = g.length, S = f && f.Embed, M = 0, y = 0, A = 0, k = 0, R = 0, x = 0; R < w; R++, x++) if (x < w && (S ? (A = g[x], k = S.b0 * A + S.b1 * S.x1 + S.b0 * S.x2 - S.a1 * S.y1 - S.a2 * S.y2, S.x2 = S.x1, S.x1 = A, S.y2 = S.y1, S.y1 = k) : k = f ? f(g[x]) : g[x]), M = y, y = k, 0 != x) { - var B = Math.floor(p); - if (R == B) { - var T = Math.ceil(p), - E = p - B, - C = M, - I = T < w ? y : C, - L = C + (I - C) * E; - 32767 < L ? L = 32767 : L < -32768 && (L = -32768), v[d] = L, d++, p += m; + var h = s.frameSize || 1; + s.frameType && (h = "mp3" == s.frameType ? 1152 : 1); + var b = s._sum, + p = 0, + m = e.length; + m + 1 < i && Q($("tlbC::{1}似乎传入了未重置chunk {2}", 0, r, i + ">" + m), 3); + for (var v = 0, d = i; d < m; d++) v += e[d].length; + var g = t / a; + if (1 < g) v = Math.max(0, v - Math.floor(o)), v = Math.floor(v / g);else if (g < 1) { + var S = 1 / g; + v = Math.floor(v * S); + } + v += u.length; + for (var w = new Int16Array(v), M = 0, d = 0; d < u.length; d++) w[M] = u[d], M++; + for (; i < m; i++) { + var y = e[i], + A = y instanceof Float32Array, + d = o, + k = y.length, + R = c && c.Embed, + x = 0, + B = 0, + T = 0, + E = 0; + if (g < 1) { + for (var C = M + d, I = _, L = 0; L < k; L++) { + var P = y[L]; + A && (P = (P = Math.max(-1, Math.min(1, P))) < 0 ? 32768 * P : 32767 * P); + var H = Math.floor(C); + C += S; + for (var O = Math.floor(C), N = (P - I) / (O - H), V = 1; H < O; H++, V++) { + var D = Math.floor(I + V * N); + R ? (T = D, E = R.b0 * T + R.b1 * R.x1 + R.b0 * R.x2 - R.a1 * R.y1 - R.a2 * R.y2, R.x2 = R.x1, R.x1 = T, R.y2 = R.y1, R.y1 = E, D = E) : D = c ? c(D) : D, 32767 < D ? D = 32767 : D < -32768 && (D = -32768), b && (p += Math.abs(D)), w[H] = D, M++; + } + I = _ = P, d += S; } - } else R--; - o = Math.max(0, p - w); + o = d % 1; + } else { + for (var L = 0, F = 0; L < k; L++, F++) { + if (F < k) { + var P = y[F]; + A && (P = (P = Math.max(-1, Math.min(1, P))) < 0 ? 32768 * P : 32767 * P), R ? (T = P, E = R.b0 * T + R.b1 * R.x1 + R.b0 * R.x2 - R.a1 * R.y1 - R.a2 * R.y2, R.x2 = R.x1, R.x1 = T, R.y2 = R.y1, R.y1 = E) : E = c ? c(P) : P; + } + if (x = B, B = E, 0 != F) { + var j = Math.floor(d); + if (L == j) { + var X = Math.ceil(d), + Y = d - j, + z = x, + q = X < k ? B : z, + G = z + (q - z) * Y; + 32767 < G ? G = 32767 : G < -32768 && (G = -32768), b && (p += Math.abs(G)), w[M] = G, M++, d += g; + } + } else L--; + } + o = Math.max(0, d - k); + } } - c = null; - var P = v.length % u; - if (0 < P) { - var H = 2 * (v.length - P); - c = new Int16Array(v.buffer.slice(H)), v = new Int16Array(v.buffer.slice(0, H)); + g < 1 && M + 1 == v && (v--, w = new Int16Array(w.buffer.slice(0, 2 * v))), M - 1 != v && M != v && Q(r + " idx:" + M + " != size:" + v, 3), u = null; + var U = v % h; + if (0 < U) { + var K = 2 * (v - U); + u = new Int16Array(w.buffer.slice(K)), w = new Int16Array(w.buffer.slice(0, K)); } - return { + var Z = { index: i, offset: o, - filter: _, - frameNext: c, + raisePrev: _, + filter: l, + frameNext: u, sampleRate: a, - data: v + data: w }; - }, N.IIRFilter = function (e, t, a) { + return b && (Z._sum = p), Z; + }, W.IIRFilter = function (e, t, a) { var n = 2 * Math.PI * a / t, s = Math.sin(n), r = Math.cos(n), @@ -12313,148 +12380,174 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js a1: _, a2: l }, v; - }, N.PowerLevel = function (e, t) { + }, W.PowerLevel = function (e, t) { var a = e / t || 0; return a < 1251 ? Math.round(a / 1250 * 10) : Math.round(Math.min(100, Math.max(0, 100 * (1 + Math.log(a / 1e4) / Math.log(10))))); - }, N.PowerDBFS = function (e) { + }, W.PowerDBFS = function (e) { var t = Math.max(.1, e || 0); return t = Math.min(t, 32767), t = 20 * Math.log(t / 32767) / Math.log(10), Math.max(-100, Math.round(t)); - }, N.CLog = function (e, t) { + }, W.CLog = function (e, t) { if ("object" == typeof console) { var a = new Date(), n = ("0" + a.getMinutes()).substr(-2) + ":" + ("0" + a.getSeconds()).substr(-2) + "." + ("00" + a.getMilliseconds()).substr(-3), s = this && this.envIn && this.envCheck && this.id, - r = ["[" + n + " " + R + (s ? ":" + s : "") + "]" + e], + r = ["[" + n + " " + T + (s ? ":" + s : "") + "]" + e], i = arguments, - o = N.CLog, + o = W.CLog, _ = 2, l = o.log || console.log; for (f(t) ? l = 1 == t ? o.error || console.error : 3 == t ? o.warn || console.warn : l : _ = 1; _ < i.length; _++) r.push(i[_]); c ? l && l("[IsLoser]" + r[0], 1 < r.length ? r : "") : l.apply(console, r); } }; - var O = function () { - N.CLog.apply(this, arguments); + var Q = function () { + W.CLog.apply(this, arguments); }, c = !0; try { c = !console.log.apply; } catch (e) {} - var _ = 0; - function l(e) { + var o = 0; + function _(e) { var t = this; - t.id = ++_, u(); + t.id = ++o, l(); var a = { type: "mp3", - onProcess: S + onProcess: M }; for (var n in e) a[n] = e[n]; var s = (t.set = a)[i], - r = a[D]; - (s && !f(s) || r && !f(r)) && t.CLog(z.G("IllegalArgs-1", [z("VtS4::{1}和{2}必须是数值", 0, D, i)]), 1, e), a[i] = +s || 16, a[D] = +r || 16e3, t.state = 0, t._S = 9, t.Sync = { + r = a[V]; + (s && !f(s) || r && !f(r)) && t.CLog($.G("IllegalArgs-1", [$("VtS4::{1}和{2}必须是数值", 0, V, i)]), 1, e), a[i] = +s || 16, a[V] = +r || 16e3, t.state = 0, t._S = 9, t.Sync = { O: 9, C: 9 }; } - N.Sync = { + W.Sync = { O: 9, C: 9 - }, N.prototype = l.prototype = { - CLog: O, + }, W.prototype = _.prototype = { + CLog: Q, _streamStore: function () { - return this.set.sourceStream ? this : N; + return this.set.sourceStream ? this : W; + }, + _streamGet: function () { + return this._streamStore().Stream; }, _streamCtx: function () { - var e = this._streamStore().Stream; + var e = this._streamGet(); return e && e._c; }, open: function (e, a) { - var n = this, - s = n.set, - r = n._streamStore(), - i = 0; - e = e || S; - var o = function (e, t) { - t = !!t, n.CLog(z("5tWi::录音open失败:") + e + ",isUserNotAllow:" + t, 1), i && N.CloseNewCtx(i), a && a(e, t); + var _ = this, + l = _.set, + n = _._streamStore(), + s = 0; + e = e || M; + var r = function (e, t) { + t = !!t, _.CLog($("5tWi::录音open失败:") + e + ",isUserNotAllow:" + t, 1), s && W.CloseNewCtx(s), a && a(e, t); }; - n._streamTag = A; - var _ = function () { - n.CLog("open ok, id:" + n.id + " stream:" + n._streamTag), e(), n._SO = 0; + _._streamTag = k; + var i = function () { + _.CLog("open ok, id:" + _.id + " stream:" + _._streamTag), e(), _._SO = 0; }, - l = r.Sync, - f = ++l.O, - c = l.C; - n._O = n._O_ = f, n._SO = n._S; + o = n.Sync, + f = ++o.O, + c = o.C; + _._O = _._O_ = f, _._SO = _._S; if (w) { - var t = n.envCheck({ + var t = _.envCheck({ envName: "H5", canProcess: !0 }); - if (t) o(z("A5bm::不能录音:") + t);else if (s.sourceStream) { - if (n._streamTag = "set.sourceStream", !N.GetContext()) return void o(z("1iU7::不支持此浏览器从流中获取录音")); - L(r); - var u = n.Stream = s.sourceStream; - u._RC = s.runningContext, u._call = {}; - try { - C(r); - } catch (e) { - return L(r), void o(z("BTW2::从流中打开录音失败:") + e.message); - } - _(); - } else { - var h = function (e, t) { - try { - window.top.a; - } catch (e) { - return void o(z("Nclz::无权录音(跨域,请尝试给iframe添加麦克风访问策略,如{1})", 0, 'allow="camera;microphone"')); - } - /Permission|Allow/i.test(e) ? o(z("gyO5::用户拒绝了录音权限"), !0) : !1 === window.isSecureContext ? o(z("oWNo::浏览器禁止不安全页面录音,可开启https解决")) : /Found/i.test(e) ? o(t + z("jBa9::,无可用麦克风")) : o(t); - }; - if (N.IsOpen()) _();else if (N.Support()) { - var b = s.runningContext; - b || (b = i = N.GetContext(!0)); - var p = function (t) { - setTimeout(function () { - t._call = {}; - var e = N.Stream; - e && (L(), t._call = e._call), (N.Stream = t)._c = b, t._RC = s.runningContext, function () { - if (c != l.C || !n._O) { - var e = z("dFm8::open被取消"); - return f == l.O ? n.close() : e = z("VtJO::open被中断"), o(e), !0; - } - }() || (N.IsOpen() ? (e && n.CLog(z("upb8::发现同时多次调用open"), 1), C(r, 1), _()) : o(z("Q1GA::录音功能无效:无音频流"))); - }, 100); - }, - m = function (e) { - var t = e.name || e.message || e.code + ":" + e; - n.CLog(z("xEQR::请求录音权限错误"), 1, e), h(t, z("bDOG::无法录音:") + t); - }, - v = s.audioTrackSet || {}; - v[D] = b[D]; - var d = { - audio: v + if (t) r($("A5bm::不能录音:") + t);else { + var u, + h = function () { + (u = l.runningContext) || (u = s = W.GetContext(!0)); }; + if (l.sourceStream) { + if (_._streamTag = "set.sourceStream", !W.GetContext()) return void r($("1iU7::不支持此浏览器从流中获取录音")); + h(), O(n); + var b = _.Stream = l.sourceStream; + b._c = u, b._RC = l.runningContext, b._call = {}; try { - var g = N.Scope[A](d, p, m); + x(n); } catch (e) { - n.CLog(A, 3, e), d = { - audio: !0 - }, g = N.Scope[A](d, p, m); + return O(n), void r($("BTW2::从流中打开录音失败:") + e.message); } - n.CLog(A + "(" + JSON.stringify(d) + ") " + k(b) + z("RiWe::,未配置noiseSuppression和echoCancellation时浏览器可能会自动打开降噪和回声消除,移动端可能会降低系统播放音量(关闭录音后可恢复),请参阅文档中audioTrackSet配置") + "(" + y + ") LM:" + M + " UA:" + navigator.userAgent), g && g.then && g.then(p)[x](m); - } else h("", z("COxc::此浏览器不支持录音")); + i(); + } else { + var p = function (e, t) { + try { + window.top.a; + } catch (e) { + return void r($("Nclz::无权录音(跨域,请尝试给iframe添加麦克风访问策略,如{1})", 0, 'allow="camera;microphone"')); + } + m(1, e) && (/Found/i.test(e) ? r(t + $("jBa9::,无可用麦克风")) : r(t)); + }, + m = function (e, t) { + if (/Permission|Allow/i.test(t)) e && r($("gyO5::用户拒绝了录音权限"), !0);else { + if (!1 !== window.isSecureContext) return 1; + e && r($("oWNo::浏览器禁止不安全页面录音,可开启https解决")); + } + }; + if (W.IsOpen()) i();else if (W.Support()) { + h(); + var v = function (t) { + setTimeout(function () { + t._call = {}; + var e = W.Stream; + e && (O(), t._call = e._call), (W.Stream = t)._c = u, t._RC = l.runningContext, function () { + if (c != o.C || !_._O) { + var e = $("dFm8::open被取消"); + return f == o.O ? _.close() : e = $("VtJO::open被中断"), r(e), !0; + } + }() || (W.IsOpen() ? (e && _.CLog($("upb8::发现同时多次调用open"), 1), x(n), i()) : r($("Q1GA::录音功能无效:无音频流"))); + }, 100); + }, + d = function (e) { + var t = e.name || e.message || e.code + ":" + e, + a = ""; + 1 == g && m(0, t) && (a = $("KxE2::,将尝试禁用回声消除后重试")), _.CLog($("xEQR::请求录音权限错误") + a + "|" + e, a ? 3 : 1, e), a ? S(1) : p(t, $("bDOG::无法录音:") + e); + }, + g = 0, + S = function (e) { + g++; + var t = "audioTrackSet", + a = "autoGainControl", + n = "echoCancellation", + s = "noiseSuppression", + r = JSON.parse(B(l[t] || !0)); + _.CLog("open... " + g + " " + t + ":" + B(r)), e && ("object" != typeof r && (r = {}), r[a] = !1, r[n] = !1, r[s] = !1), r[V] && _.CLog($("IjL3::注意:已配置{1}参数,可能会出现浏览器不能正确选用麦克风、移动端无法启用回声消除等现象", 0, t + "." + V), 3); + var i = { + audio: r, + video: l.videoTrackSet || !1 + }; + try { + var o = W.Scope[k](i, v, d); + } catch (e) { + _.CLog(k, 3, e), i = { + audio: !0, + video: !1 + }, o = W.Scope[k](i, v, d); + } + _.CLog(k + "(" + B(i) + ") " + R(u) + $("RiWe::,未配置 {1} 时浏览器可能会自动启用回声消除,移动端未禁用回声消除时可能会降低系统播放音量(关闭录音后可恢复)和仅提供16k采样率的音频流(不需要回声消除时可明确配置成禁用来获得48k高音质的流),请参阅文档中{2}配置", 0, "audioTrackSet:{echoCancellation,noiseSuppression,autoGainControl}", t) + "(" + A + ") LM:" + y + " UA:" + navigator.userAgent), o && o.then && o.then(v)[E](d); + }; + S(); + } else p("", $("COxc::此浏览器不支持录音")); + } } - } else o(z.G("NonBrowser-1", ["open"]) + z("EMJq::,可尝试使用RecordApp解决方案") + "(" + y + "/tree/master/app-support-sample)"); + } else r($.G("NonBrowser-1", ["open"]) + $("EMJq::,可尝试使用RecordApp解决方案") + "(" + A + "/tree/master/app-support-sample)"); }, close: function (e) { - e = e || S; + e = e || M; var t = this, a = t._streamStore(); t._stop(); var n = " stream:" + t._streamTag, s = a.Sync; - if (t._O = 0, t._O_ != s.O) return t.CLog(z("hWVz::close被忽略(因为同时open了多个rec,只有最后一个会真正close)") + n, 3), void e(); - s.C++, L(a), t.CLog("close," + n), e(); + if (t._O = 0, t._O_ != s.O) return t.CLog($("hWVz::close被忽略(因为同时open了多个rec,只有最后一个会真正close)") + n, 3), void e(); + s.C++, O(a), t.CLog("close," + n), e(); }, mock: function (e, t) { var a = this; @@ -12462,17 +12555,17 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js }, _setSrcSR: function (e) { var t = this.set, - a = t[D]; - e < a ? t[D] = e : a = 0, this[V] = e, this.CLog(V + ": " + e + " set." + D + ": " + t[D] + (a ? " " + z("UHvm::忽略") + ": " + a : ""), a ? 3 : 0); + a = t[V]; + e < a ? t[V] = e : a = 0, this[N] = e, this.CLog(N + ": " + e + " set." + V + ": " + t[V] + (a ? " " + $("UHvm::忽略") + ": " + a : ""), a ? 3 : 0); }, envCheck: function (e) { var t, a = this.set, n = "CPU_BE"; - if (t || N[n] || "function" != typeof Int8Array || new Int8Array(new Int32Array([1]).buffer)[0] || (u(n), t = z("Essp::不支持{1}架构", 0, n)), !t) { + if (t || W[n] || "function" != typeof Int8Array || new Int8Array(new Int32Array([1]).buffer)[0] || (l(n), t = $("Essp::不支持{1}架构", 0, n)), !t) { var s = a.type, r = this[s + "_envCheck"]; - a.takeoffEncodeChunk && (r ? e.canProcess || (t = z("7uMV::{1}环境不支持实时处理", 0, e.envName)) : t = z("2XBl::{1}类型不支持设置takeoffEncodeChunk", 0, s) + (this[s] ? "" : z("LG7e::(未加载编码器)"))), !t && r && (t = this[s + "_envCheck"](e, a)); + a.takeoffEncodeChunk && (r ? e.canProcess || (t = $("7uMV::{1}环境不支持实时处理", 0, e.envName)) : t = $("2XBl::{1}类型不支持设置takeoffEncodeChunk", 0, s) + (this[s] ? "" : $("LG7e::(未加载编码器)"))), !t && r && (t = this[s + "_envCheck"](e, a)); } return t || ""; }, @@ -12492,9 +12585,9 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js r = s.set, i = s.engineCtx; if (1 == s.state) { - var a = s[V], + var a = s[N], n = e.length, - o = N.PowerLevel(t, n), + o = W.PowerLevel(t, n), _ = s.buffers, l = _.length; _.push(e); @@ -12517,13 +12610,13 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js p = d.t, m += d.d; } var g = b[1], - w = u - p, - S = w - m; - if (w / 3 < S && (g && 1e3 < w || 6 <= b.length)) { + S = u - p, + w = S - m; + if (S / 3 < w && (g && 1e3 < S || 6 <= b.length)) { var M = u - g.t - h; if (h / 5 < M) { var y = !r.disableEnvInFix; - if (s.CLog("[" + u + "]" + Y.get(z(y ? "4Kfd::补偿{1}ms" : "bM5i::未补偿{1}ms", 1), [M]), 3), s.envInFix += M, y) { + if (s.CLog("[" + u + "]" + q.get($(y ? "4Kfd::补偿{1}ms" : "bM5i::未补偿{1}ms", 1), [M]), 3), s.envInFix += M, y) { var A = new Int16Array(M * a / 1e3); n += A.length, _.push(A); } @@ -12533,8 +12626,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js R = n, x = k + R; if (s.recSize = x, i) { - var B = N.SampleData(_, a, r[D], i.chunkInfo); - i.chunkInfo = B, k = i.pcmSize, R = B.data.length, x = k + R, i.pcmSize = x, _ = i.pcmDatas, l = _.length, _.push(B.data), a = B[D]; + var B = W.SampleData(_, a, r[V], i.chunkInfo); + i.chunkInfo = B, k = i.pcmSize, R = B.data.length, x = k + R, i.pcmSize = x, _ = i.pcmDatas, l = _.length, _.push(B.data), a = B[V]; } var T = Math.round(x / a * 1e3), E = _.length, @@ -12555,51 +12648,54 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js try { L = r.onProcess(_, o, T, a, l, I); } catch (e) { - console.error(P + z("gFUF::回调出错是不允许的,需保证不会抛异常"), e); + console.error(P + $("gFUF::回调出错是不允许的,需保证不会抛异常"), e); } var H = Date.now() - u; - if (10 < H && 1e3 < s.envInFirst - u && s.CLog(P + z("2ghS::低性能,耗时{1}ms", 0, H), 3), !0 === L) { + if (10 < H && 1e3 < s.envInFirst - u && s.CLog(P + $("2ghS::低性能,耗时{1}ms", 0, H), 3), !0 === L) { for (var O = 0, v = l; v < E; v++) null == _[v] ? O = 1 : _[v] = new Int16Array(0); - O ? s.CLog(z("ufqH::未进入异步前不能清除buffers"), 3) : i ? i.pcmSize -= R : s.recSize -= R; + O ? s.CLog($("ufqH::未进入异步前不能清除buffers"), 3) : i ? i.pcmSize -= R : s.recSize -= R; } else I(); } else s.state || s.CLog("envIn at state=0", 3); }, start: function () { var t = this, e = 1; - if (t.set.sourceStream ? t.Stream || (e = 0) : N.IsOpen() || (e = 0), e) { + if (t.set.sourceStream ? t.Stream || (e = 0) : W.IsOpen() || (e = 0), e) { var a = t._streamCtx(); - if (t.CLog(z("kLDN::start 开始录音,") + k(a) + " stream:" + t._streamTag), t._stop(), t.envStart(null, a[D]), t.state = 3, t._SO && t._SO + 1 != t._S) t.CLog(z("Bp2y::start被中断"), 3);else { + if (t.CLog($("kLDN::start 开始录音,") + R(a) + " stream:" + t._streamTag), t._stop(), t.envStart(null, a[V]), t.state = 3, t._SO && t._SO + 1 != t._S) t.CLog($("Bp2y::start被中断"), 3);else { t._SO = 0; var n = function () { 3 == t.state && (t.state = 1, t.resume()); }, - s = "AudioContext resume: "; - B(a, function (e) { + s = "AudioContext resume: ", + r = t._streamGet(); + r._call[t.id] = function () { + t.CLog(s + a.state + "|stream ok"), n(); + }, C(a, function (e) { return e && t.CLog(s + "wait..."), 3 == t.state; }, function (e) { e && t.CLog(s + a.state), n(); }, function (e) { - t.CLog(s + a.state + z("upkE::,可能无法录音:") + e, 1), n(); + t.CLog(s + a.state + $("upkE::,可能无法录音:") + e, 1), n(); }); } - } else t.CLog(z("6WmN::start失败:未open"), 1); + } else t.CLog($("6WmN::start失败:未open"), 1); }, pause: function () { var e = this, - t = e._streamStore().Stream; + t = e._streamGet(); e.state && (e.state = 2, e.CLog("pause"), t && delete t._call[e.id]); }, resume: function () { var a = this, - t = a._streamStore().Stream, + t = a._streamGet(), n = "resume(wait ctx)"; if (3 == a.state) a.CLog(n);else if (a.state) { a.state = 1, a.CLog("resume"), a.envResume(), t && (t._call[a.id] = function (e, t) { 1 == a.state && a.envIn(e, t); }, r(t)); var s = a._streamCtx(); - s && B(s, function (e) { + s && C(s, function (e) { return e && a.CLog(n + "..."), 1 == a.state; }, function (e) { e && a.CLog(n + s.state), r(t); @@ -12619,32 +12715,32 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js b = h.set, a = h.envInLast - h.envInFirst, n = a && h.buffers.length; - h.CLog(z("Xq4s::stop 和start时差:") + (a ? a + "ms " + z("3CQP::补偿:") + h.envInFix + "ms envIn:" + n + " fps:" + (n / a * 1e3).toFixed(1) : "-") + " stream:" + h._streamTag + " (" + y + ") LM:" + M); + h.CLog($("Xq4s::stop 和start时差:") + (a ? a + "ms " + $("3CQP::补偿:") + h.envInFix + "ms envIn:" + n + " fps:" + (n / a * 1e3).toFixed(1) : "-") + " stream:" + h._streamTag + " (" + A + ") LM:" + y); var p = function () { h._stop(), e && h.close(); }, m = function (e) { - h.CLog(z("u8JG::结束录音失败:") + e, 1), t && t(e), p(); + h.CLog($("u8JG::结束录音失败:") + e, 1), t && t(e), p(); }, s = function (e, t, a) { var n = "arraybuffer", s = "dataType", r = "DefaultDataType", - i = h[s] || N[r] || "blob", + i = h[s] || W[r] || "blob", o = s + "=" + i, _ = e instanceof ArrayBuffer, l = 0, f = _ ? e.byteLength : e.size; - if (i == n ? _ || (l = 1) : "blob" == i ? "function" != typeof Blob ? l = z.G("NonBrowser-1", [o]) + z("1skY::,请设置{1}", 0, R + "." + r + '="' + n + '"') : (_ && (e = new Blob([e], { + if (i == n ? _ || (l = 1) : "blob" == i ? "function" != typeof Blob ? l = $.G("NonBrowser-1", [o]) + $("1skY::,请设置{1}", 0, T + "." + r + '="' + n + '"') : (_ && (e = new Blob([e], { type: t - })), e instanceof Blob || (l = 1), t = e.type || t) : l = z.G("NotSupport-1", [o]), h.CLog(z("Wv7l::结束录音 编码花{1}ms 音频时长{2}ms 文件大小{3}b", 0, Date.now() - u, a, f) + " " + o + "," + t), l) m(1 != l ? l : z("Vkbd::{1}编码器返回的不是{2}", 0, b.type, i) + ", " + o);else { - if (b.takeoffEncodeChunk) h.CLog(z("QWnr::启用takeoffEncodeChunk后stop返回的blob长度为0不提供音频数据"), 3);else if (f < Math.max(50, a / 5)) return void m(z("Sz2H::生成的{1}无效", 0, b.type)); + })), e instanceof Blob || (l = 1), t = e.type || t) : l = $.G("NotSupport-1", [o]), h.CLog($("Wv7l::结束录音 编码花{1}ms 音频时长{2}ms 文件大小{3}b", 0, Date.now() - u, a, f) + " " + o + "," + t), l) m(1 != l ? l : $("Vkbd::{1}编码器返回的不是{2}", 0, b.type, i) + ", " + o);else { + if (b.takeoffEncodeChunk) h.CLog($("QWnr::启用takeoffEncodeChunk后stop返回的blob长度为0不提供音频数据"), 3);else if (f < Math.max(50, a / 5)) return void m($("Sz2H::生成的{1}无效", 0, b.type)); c && c(e, a, t), p(); } }; if (!h.isMock) { var r = 3 == h.state; - if (!h.state || r) return void m(z("wf9t::未开始录音") + (r ? z("Dl2c::,开始录音前无用户交互导致AudioContext未运行") : "")); + if (!h.state || r) return void m($("wf9t::未开始录音") + (r ? $("Dl2c::,开始录音前无用户交互导致AudioContext未运行") : "")); } h._stop(!0); var i = h.recSize; @@ -12655,33 +12751,33 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js envName: "mock", canProcess: !1 }); - if (o) return void m(z("AxOH::录音错误:") + o); + if (o) return void m($("AxOH::录音错误:") + o); } var _ = h.engineCtx; if (h[b.type + "_complete"] && _) { - var l = Math.round(_.pcmSize / b[D] * 1e3); + var l = Math.round(_.pcmSize / b[V] * 1e3); return u = Date.now(), void h[b.type + "_complete"](_, function (e, t) { s(e, t, l); }, m); } if (u = Date.now(), h.buffers[0]) { - var f = N.SampleData(h.buffers, h[V], b[D]); - b[D] = f[D]; + var f = W.SampleData(h.buffers, h[N], b[V]); + b[V] = f[V]; var v = f.data, - l = Math.round(v.length / b[D] * 1e3); - h.CLog(z("CxeT::采样:{1} 花:{2}ms", 0, i + "->" + v.length, Date.now() - u)), setTimeout(function () { + l = Math.round(v.length / b[V] * 1e3); + h.CLog($("CxeT::采样:{1} 花:{2}ms", 0, i + "->" + v.length, Date.now() - u)), setTimeout(function () { u = Date.now(), h[b.type](v, function (e, t) { s(e, t, l); }, function (e) { m(e); }); }); - } else m(z("xkKd::音频buffers被释放")); - } else m(z("xGuI::未加载{1}编码器,请尝试到{2}的src/engine内找到{1}的编码器并加载", 0, b.type, R)); - } else m(z("Ltz3::未采集到录音")); + } else m($("xkKd::音频buffers被释放")); + } else m($("xGuI::未加载{1}编码器,请尝试到{2}的src/engine内找到{1}的编码器并加载", 0, b.type, T)); + } else m($("Ltz3::未采集到录音")); } }; - var P = function (e, t) { + var F = function (e, t) { t.pos || (t.pos = [0], t.tracks = {}, t.bytes = []); var a = t.tracks, n = [t.pos[0]], @@ -12691,97 +12787,98 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js r = t.bytes.length, i = new Uint8Array(r + e.length); if (i.set(t.bytes), i.set(e, r), t.bytes = i, !t._ht) { - if (j(i, n), X(i, n), !H(j(i, n), [24, 83, 128, 103])) return; - for (j(i, n); n[0] < i.length;) { - var o = j(i, n), - _ = X(i, n), + if (Y(i, n), z(i, n), !j(Y(i, n), [24, 83, 128, 103])) return; + for (Y(i, n); n[0] < i.length;) { + var o = Y(i, n), + _ = z(i, n), l = [0], f = 0; if (!_) return; - if (H(o, [22, 84, 174, 107])) { + if (j(o, [22, 84, 174, 107])) { for (; l[0] < _.length;) { - var c = j(_, l), - u = X(_, l), + var c = Y(_, l), + u = z(_, l), h = [0], b = { channels: 0, sampleRate: 0 }; - if (H(c, [174])) for (; h[0] < u.length;) { - var p = j(u, h), - m = X(u, h), + if (j(c, [174])) for (; h[0] < u.length;) { + var p = Y(u, h), + m = z(u, h), v = [0]; - if (H(p, [215])) { - var d = F(m); + if (j(p, [215])) { + var d = X(m); b.number = d, a[d] = b; - } else if (H(p, [131])) { - var d = F(m); + } else if (j(p, [131])) { + var d = X(m); 1 == d ? b.type = "video" : 2 == d ? (b.type = "audio", f || (t.track0 = b), b.idx = f++) : b.type = "Type-" + d; - } else if (H(p, [134])) { - for (var g = "", w = 0; w < m.length; w++) g += String.fromCharCode(m[w]); + } else if (j(p, [134])) { + for (var g = "", S = 0; S < m.length; S++) g += String.fromCharCode(m[S]); b.codec = g; - } else if (H(p, [225])) for (; v[0] < m.length;) { - var S = j(m, v), - M = X(m, v); - if (H(S, [181])) { + } else if (j(p, [225])) for (; v[0] < m.length;) { + var w = Y(m, v), + M = z(m, v); + if (j(w, [181])) { var d = 0, y = new Uint8Array(M.reverse()).buffer; - 4 == M.length ? d = new Float32Array(y)[0] : 8 == M.length ? d = new Float64Array(y)[0] : O("WebM Track !Float", 1, M), b[D] = Math.round(d); - } else H(S, [98, 100]) ? b.bitDepth = F(M) : H(S, [159]) && (b.channels = F(M)); + 4 == M.length ? d = new Float32Array(y)[0] : 8 == M.length ? d = new Float64Array(y)[0] : Q("WebM Track !Float", 1, M), b[V] = Math.round(d); + } else j(w, [98, 100]) ? b.bitDepth = X(M) : j(w, [159]) && (b.channels = X(M)); } } } - t._ht = 1, O("WebM Tracks", a), s(); + t._ht = 1, Q("WebM Tracks", a), s(); break; } } } var A = t.track0; if (A) { - if (16 == A.bitDepth && /FLOAT/i.test(A.codec) && (A.bitDepth = 32, O("WebM 16->32 bit", 3)), A[D] != t[D] || 32 != A.bitDepth || A.channels < 1 || !/(\b|_)PCM\b/i.test(A.codec)) return t.bytes = [], t.bad || O("WebM Track Unexpected", 3, t), -(t.bad = 1); - for (var k = [], R = 0; n[0] < i.length;) { - var c = j(i, n), - u = X(i, n); + var k = A[V]; + if (t.webmSR = k, 16 == A.bitDepth && /FLOAT/i.test(A.codec) && (A.bitDepth = 32, Q("WebM 16->32 bit", 3)), k < 8e3 || 32 != A.bitDepth || A.channels < 1 || !/(\b|_)PCM\b/i.test(A.codec)) return t.bytes = [], t.bad || Q("WebM Track Unexpected", 3, t), -(t.bad = 1); + for (var R = [], x = 0; n[0] < i.length;) { + var c = Y(i, n), + u = z(i, n); if (!u) break; - if (H(c, [163])) { - var x = 15 & u[0], - b = a[x]; + if (j(c, [163])) { + var B = 15 & u[0], + b = a[B]; if (b) { if (0 === b.idx) { - for (var B = new Uint8Array(u.length - 4), w = 4; w < u.length; w++) B[w - 4] = u[w]; - k.push(B), R += B.length; + for (var T = new Uint8Array(u.length - 4), S = 4; S < u.length; S++) T[S - 4] = u[S]; + R.push(T), x += T.length; } - } else O("WebM !Track" + x, 1, a); + } else Q("WebM !Track" + B, 1, a); } s(); } - if (R) { - var T = new Uint8Array(i.length - t.pos[0]); - T.set(i.subarray(t.pos[0])), t.bytes = T, t.pos[0] = 0; - for (var B = new Uint8Array(R), w = 0, E = 0; w < k.length; w++) B.set(k[w], E), E += k[w].length; - var y = new Float32Array(B.buffer); + if (x) { + var E = new Uint8Array(i.length - t.pos[0]); + E.set(i.subarray(t.pos[0])), t.bytes = E, t.pos[0] = 0; + for (var T = new Uint8Array(x), S = 0, C = 0; S < R.length; S++) T.set(R[S], C), C += R[S].length; + var y = new Float32Array(T.buffer); if (1 < A.channels) { - for (var C = [], w = 0; w < y.length;) C.push(y[w]), w += A.channels; - y = new Float32Array(C); + for (var I = [], S = 0; S < y.length;) I.push(y[S]), S += A.channels; + y = new Float32Array(I); } return y; } } }, - H = function (e, t) { + j = function (e, t) { if (!e || e.length != t.length) return !1; if (1 == e.length) return e[0] == t[0]; for (var a = 0; a < e.length; a++) if (e[a] != t[a]) return !1; return !0; }, - F = function (e) { + X = function (e) { for (var t = "", a = 0; a < e.length; a++) { var n = e[a]; t += (n < 16 ? "0" : "") + n.toString(16); } return parseInt(t, 16) || 0; }, - j = function (e, t, a) { + Y = function (e, t, a) { var n = t[0]; if (!(n >= e.length)) { var s = e[n], @@ -12797,10 +12894,10 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } }, - X = function (e, t) { - var a = j(e, t, 1); + z = function (e, t) { + var a = Y(e, t, 1); if (a) { - var n = F(a), + var n = X(a), s = t[0], r = []; if (n < 2147483647) { @@ -12810,7 +12907,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js return t[0] = s, r; } }, - Y = N.i18n = { + q = W.i18n = { lang: "zh-CN", alias: { "zh-CN": "zh", @@ -12819,38 +12916,38 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js locales: {}, data: {}, put: function (e, t) { - var a = R + ".i18n.put: ", + var a = T + ".i18n.put: ", n = e.overwrite; n = null == n || n; var s = e.lang; - if (!(s = Y.alias[s] || s)) throw new Error(a + "set.lang?"); - var r = Y.locales[s]; - r || (r = {}, Y.locales[s] = r); + if (!(s = q.alias[s] || s)) throw new Error(a + "set.lang?"); + var r = q.locales[s]; + r || (r = {}, q.locales[s] = r); for (var i, o = /^([\w\-]+):/, _ = 0; _ < t.length; _++) { var l = t[_]; if (i = o.exec(l)) { var f = i[1], l = l.substr(f.length + 1); !n && r[f] || (r[f] = l); - } else O(a + "'key:'? " + l, 3, e); + } else Q(a + "'key:'? " + l, 3, e); } }, get: function () { - return Y.v_G.apply(null, arguments); + return q.v_G.apply(null, arguments); }, v_G: function (n, s, e) { - s = s || [], e = e || Y.lang, e = Y.alias[e] || e; - var t = Y.locales[e], + s = s || [], e = e || q.lang, e = q.alias[e] || e; + var t = q.locales[e], r = t && t[n] || ""; - return r || "zh" == e ? (Y.lastLang = e, "=Empty" == r ? "" : r.replace(/\{(\d+)(\!?)\}/g, function (e, t, a) { - return e = s[(t = +t || 0) - 1], (t < 1 || t > s.length) && (e = "{?}", O("i18n[" + n + "] no {" + t + "}: " + r, 3)), a ? "" : e; - })) : "en" == e ? Y.v_G(n, s, "zh") : Y.v_G(n, s, "en"); + return r || "zh" == e ? (q.lastLang = e, "=Empty" == r ? "" : r.replace(/\{(\d+)(\!?)\}/g, function (e, t, a) { + return e = s[(t = +t || 0) - 1], (t < 1 || t > s.length) && (e = "{?}", Q("i18n[" + n + "] no {" + t + "}: " + r, 3)), a ? "" : e; + })) : "en" == e ? q.v_G(n, s, "zh") : q.v_G(n, s, "en"); }, $T: function () { - return Y.v_T.apply(null, arguments); + return q.v_T.apply(null, arguments); }, v_T: function () { - for (var e, t = arguments, a = "", n = [], s = 0, r = R + ".i18n.$T:", i = /^([\w\-]*):/, o = 0; o < t.length; o++) { + for (var e, t = arguments, a = "", n = [], s = 0, r = T + ".i18n.$T:", i = /^([\w\-]*):/, o = 0; o < t.length; o++) { var _ = t[o]; if (0 == o) { if (e = i.exec(_), !(a = e && e[1])) throw new Error(r + "0 'key:'?"); @@ -12864,37 +12961,37 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } else { var l = 1 == o ? "en" : o ? "" : "zh"; if ((e = i.exec(_)) && (l = e[1] || l, _ = _.substr(e[1].length + 1)), !e || !l) throw new Error(r + o + " 'lang:'?"); - Y.put({ + q.put({ lang: l, overwrite: !1 }, [a + ":" + _]); } } } - return a ? 0 < s ? a : Y.v_G(a, n) : ""; + return a ? 0 < s ? a : q.v_G(a, n) : ""; } }, - z = Y.$T; - z.G = Y.get, z("NonBrowser-1::非浏览器环境,不支持{1}", 1), z("IllegalArgs-1::参数错误:{1}", 1), z("NeedImport-2::调用{1}需要先导入{2}", 2), z("NotSupport-1::不支持:{1}", 1), N.TrafficImgUrl = "//ia.51.la/go1?id=20469973&pvFlag=1"; - var u = N.Traffic = function (e) { + $ = q.$T; + $.G = q.get, $("NonBrowser-1::非浏览器环境,不支持{1}", 1), $("IllegalArgs-1::参数错误:{1}", 1), $("NeedImport-2::调用{1}需要先导入{2}", 2), $("NotSupport-1::不支持:{1}", 1), W.TrafficImgUrl = "//ia.51.la/go1?id=20469973&pvFlag=1"; + var l = W.Traffic = function (e) { if (w) { - e = e ? "/" + R + "/Report/" + e : ""; - var t = N.TrafficImgUrl; + e = e ? "/" + T + "/Report/" + e : ""; + var t = W.TrafficImgUrl; if (t) { - var a = N.Traffic, + var a = W.Traffic, n = /^(https?:..[^\/#]*\/?)[^#]*/i.exec(location.href) || [], s = n[1] || "http://file/", r = (n[0] || s) + e; if (0 == t.indexOf("//") && (t = /^https:/i.test(r) ? "https:" + t : "http:" + t), e && (t = t + "&cu=" + encodeURIComponent(s + e)), !a[r]) { a[r] = 1; var i = new Image(); - i.src = t, O("Traffic Analysis Image: " + (e || R + ".TrafficImgUrl=" + N.TrafficImgUrl)); + i.src = t, Q("Traffic Analysis Image: " + (e || T + ".TrafficImgUrl=" + W.TrafficImgUrl)); } } } }; - t && (O(z("8HO5::覆盖导入{1}", 0, R), 1), t.Destroy()); - e[R] = N; + t && (Q($("8HO5::覆盖导入{1}", 0, T), 1), t.Destroy()); + e[T] = W; }(a, t), module.exports && (module.exports = a.Recorder); }(), function (e) { var t = "object" == typeof window && !!window.document, @@ -12973,7 +13070,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js if (h < l) h += 57600, setTimeout(p);else { var n = [c.buffer.slice(0, u)], s = g.fn(n, u, l, _.sampleRate); - w(s, _), i(n[0] || new ArrayBuffer(0), "audio/mp3"); + S(s, _), i(n[0] || new ArrayBuffer(0), "audio/mp3"); } }; p(); @@ -13142,7 +13239,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js }, m.prototype.mp3_complete = function (t, a, n, s) { var r = this; t && t.worker ? (t.call = function (e) { - s && r.mp3_stop(t), e.err ? n(e.err) : (w(e.meta, t.set), a(e.blob, "audio/mp3")); + s && r.mp3_stop(t), e.err ? n(e.err) : (S(e.meta, t.set), a(e.blob, "audio/mp3")); }, t.worker.postMessage({ action: "complete", id: t.id @@ -13177,9 +13274,9 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js var d = e[v]; if (m += d.byteLength, b + 3 <= m) { var g = new Uint8Array(d), - w = d.byteLength - (m - (b + 3) + 1), - S = s(w, g); - p = "1" == S.charAt(6); + S = d.byteLength - (m - (b + 3) + 1), + w = s(S, g); + p = "1" == w.charAt(6); break; } } @@ -13200,6 +13297,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js fn: function (e, t, a, n) { var s = this.rm(e, t); if (!s) return { + size: t, err: "mp3 unknown format" }; var r = Math.round(a / n * 1e3), @@ -13224,11 +13322,11 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js return s; } }, - w = function (e, t) { + S = function (e, t) { var a = "MP3 Info: "; (e.sampleRate && e.sampleRate != t.sampleRate || e.bitRate && e.bitRate != t.bitRate) && (m.CLog(a + u("uY9i::和设置的不匹配{1},已更新成{2}", 0, "set:" + t.bitRate + "kbps " + t.sampleRate + "hz", "set:" + e.bitRate + "kbps " + e.sampleRate + "hz"), 3, t), t.sampleRate = e.sampleRate, t.bitRate = e.bitRate); var n = e.trimFix; - n ? (a += u("iMSm::Fix移除{1}帧", 0, n.remove) + " " + n.removeDuration + "ms -> " + n.duration + "ms", 2 < n.remove && (e.err = (e.err ? e.err + ", " : "") + u("b9zm::移除帧数过多"))) : a += (e.duration || "-") + "ms", e.err ? m.CLog(a, 1, e.err, e) : m.CLog(a, e); + n ? (a += u("iMSm::Fix移除{1}帧", 0, n.remove) + " " + n.removeDuration + "ms -> " + n.duration + "ms", 2 < n.remove && (e.err = (e.err ? e.err + ", " : "") + u("b9zm::移除帧数过多"))) : a += (e.duration || "-") + "ms", e.err ? m.CLog(a, e.size ? 1 : 0, e.err, e) : m.CLog(a, e); }; }(a, 0, n.$T, t); }(), function (e) { @@ -13240,7 +13338,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js me = function (e) { throw new Error("abort(" + e + ")"); }; - function S(e) { + function w(e) { return new Int8Array(e); } function s(e) { @@ -13262,11 +13360,11 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (var a = [], n = 0; n < t; n++) a.push(ge(e)); return a; } - function w(e) { + function S(e) { if (1 == e.length) return ve(e[0]); var t = e[0]; e = e.slice(1); - for (var a = [], n = 0; n < t; n++) a.push(w(e)); + for (var a = [], n = 0; n < t; n++) a.push(S(e)); return a; } function M(e) { @@ -13283,7 +13381,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (var a = [], n = 0; n < t; n++) a.push(E(e)); return a; } - var we = { + var Se = { fill: function (e, t, a, n) { if (2 == arguments.length) for (var s = 0; s < e.length; s++) e[s] = t;else for (var s = t; s < a; s++) e[s] = n; } @@ -13294,14 +13392,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } }, V = {}; - function Se(e) { + function we(e) { this.ordinal = e; } V.SQRT2 = 1.4142135623730951, V.FAST_LOG10 = function (e) { return d(e); }, V.FAST_LOG10_X = function (e, t) { return d(e) * t; - }, Se.short_block_allowed = new Se(0), Se.short_block_coupled = new Se(1), Se.short_block_dispensed = new Se(2), Se.short_block_forced = new Se(3); + }, we.short_block_allowed = new we(0), we.short_block_coupled = new we(1), we.short_block_dispensed = new we(2), we.short_block_forced = new we(3); var D = {}; function Me(e) { this.ordinal = e; @@ -13313,12 +13411,12 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js }; } function A() { - var S = null; + var w = null; function v(e) { this.bits = 0 | e; } this.qupvt = null, this.setModules = function (e) { - this.qupvt = e, S = e; + this.qupvt = e, w = e; }; var s = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 1], [1, 1], [1, 1], [1, 2], [2, 2], [2, 3], [2, 3], [3, 4], [3, 4], [3, 4], [4, 5], [4, 5], [4, 6], [5, 6], [5, 6], [5, 7], [6, 7], [6, 7]]; function M(e, t, a, n, s, r) { @@ -13329,9 +13427,9 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js var i = (e >>= 1) % 2; for (e >>= 1; 0 != e--;) { var o, _, l, f, c, u, h, b; - o = a[n++] * t, _ = a[n++] * t, c = 0 | o, l = a[n++] * t, u = 0 | _, f = a[n++] * t, h = 0 | l, o += S.adj43[c], b = 0 | f, _ += S.adj43[u], s[r++] = 0 | o, l += S.adj43[h], s[r++] = 0 | _, f += S.adj43[b], s[r++] = 0 | l, s[r++] = 0 | f; + o = a[n++] * t, _ = a[n++] * t, c = 0 | o, l = a[n++] * t, u = 0 | _, f = a[n++] * t, h = 0 | l, o += w.adj43[c], b = 0 | f, _ += w.adj43[u], s[r++] = 0 | o, l += w.adj43[h], s[r++] = 0 | _, f += w.adj43[b], s[r++] = 0 | l, s[r++] = 0 | f; } - 0 != i && (o = a[n++] * t, _ = a[n++] * t, c = 0 | o, u = 0 | _, o += S.adj43[c], _ += S.adj43[u], s[r++] = 0 | o, s[r++] = 0 | _); + 0 != i && (o = a[n++] * t, _ = a[n++] * t, c = 0 | o, u = 0 | _, o += w.adj43[c], _ += w.adj43[u], s[r++] = 0 | o, s[r++] = 0 | _); } var o = [1, 2, 5, 7, 7, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13]; function d(e, t, a, n) { @@ -13460,7 +13558,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js return _; }, this.count_bits = function (e, t, a, n) { var s = a.l3_enc, - r = T.IXMAX_VAL / S.IPOW20(a.global_gain); + r = T.IXMAX_VAL / w.IPOW20(a.global_gain); return a.xrpow_max > r ? T.LARGE_BITS : (function (e, t, a, n, s) { var r, i, @@ -13477,10 +13575,10 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js v = 0; for (o = null != s && n.global_gain == s.global_gain, i = n.block_type == Ae.SHORT_TYPE ? 38 : 21, r = 0; r <= i; r++) { var d = -1; - if ((o || n.block_type == Ae.NORM_TYPE) && (d = n.global_gain - (n.scalefac[r] + (0 != n.preflag ? S.pretab[r] : 0) << n.scalefac_scale + 1) - 8 * n.subblock_gain[n.window[r]]), o && s.step[r] == d) 0 != l && (y(l, a, m, v, b, p), l = 0), 0 != f && me();else { + if ((o || n.block_type == Ae.NORM_TYPE) && (d = n.global_gain - (n.scalefac[r] + (0 != n.preflag ? w.pretab[r] : 0) << n.scalefac_scale + 1) - 8 * n.subblock_gain[n.window[r]]), o && s.step[r] == d) 0 != l && (y(l, a, m, v, b, p), l = 0), 0 != f && me();else { var g, - w = n.width[r]; - if (_ + n.width[r] > n.max_nonzero_coeff && (g = n.max_nonzero_coeff - _ + 1, we.fill(t, n.max_nonzero_coeff, 576, 0), (w = g) < 0 && (w = 0), r = i + 1), 0 == l && 0 == f && (b = u, p = h, m = e, v = c), null != s && 0 < s.sfb_count1 && r >= s.sfb_count1 && 0 < s.step[r] && d >= s.step[r] ? (0 != l && (y(l, a, m, v, b, p), l = 0, b = u, p = h, m = e, v = c), f += w) : (0 != f && (M(f, a, m, v, b, p), f = 0, b = u, p = h, m = e, v = c), l += w), w <= 0) { + S = n.width[r]; + if (_ + n.width[r] > n.max_nonzero_coeff && (g = n.max_nonzero_coeff - _ + 1, Se.fill(t, n.max_nonzero_coeff, 576, 0), (S = g) < 0 && (S = 0), r = i + 1), 0 == l && 0 == f && (b = u, p = h, m = e, v = c), null != s && 0 < s.sfb_count1 && r >= s.sfb_count1 && 0 < s.step[r] && d >= s.step[r] ? (0 != l && (y(l, a, m, v, b, p), l = 0, b = u, p = h, m = e, v = c), f += S) : (0 != f && (M(f, a, m, v, b, p), f = 0, b = u, p = h, m = e, v = c), l += S), S <= 0) { 0 != f && me(), 0 != l && me(); break; } @@ -13488,7 +13586,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js r <= i && (h += n.width[r], c += n.width[r], _ += n.width[r]); } 0 != l && (y(l, a, m, v, b, p), l = 0), 0 != f && me(); - }(t, s, S.IPOW20(a.global_gain), a, n), 0 != (2 & e.substep_shaping) && me(), this.noquant_count_bits(e, a, n)); + }(t, s, w.IPOW20(a.global_gain), a, n), 0 != (2 & e.substep_shaping) && me(), this.noquant_count_bits(e, a, n)); }, this.best_huffman_divide = function (e, t) { var a = new B(), n = t.l3_enc, @@ -13562,9 +13660,9 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } if (0 == _.preflag && _.block_type != Ae.SHORT_TYPE && 2 == e.mode_gr) { - for (s = 11; s < Ae.SBPSY_l && !(_.scalefac[s] < S.pretab[s] && -2 != _.scalefac[s]); s++); + for (s = 11; s < Ae.SBPSY_l && !(_.scalefac[s] < w.pretab[s] && -2 != _.scalefac[s]); s++); if (s == Ae.SBPSY_l) { - for (s = 11; s < Ae.SBPSY_l; s++) 0 < _.scalefac[s] && (_.scalefac[s] -= S.pretab[s]); + for (s = 11; s < Ae.SBPSY_l; s++) 0 < _.scalefac[s] && (_.scalefac[s] -= w.pretab[s]); _.preflag = l = 1; } } @@ -13599,8 +13697,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js r = 0, i = e.scalefac; if (e.block_type == Ae.SHORT_TYPE) n = _, 0 != e.mixed_block_flag && (n = l);else if (n = f, 0 == e.preflag) { - for (a = 11; a < Ae.SBPSY_l && !(i[a] < S.pretab[a]); a++); - if (a == Ae.SBPSY_l) for (e.preflag = 1, a = 11; a < Ae.SBPSY_l; a++) i[a] -= S.pretab[a]; + for (a = 11; a < Ae.SBPSY_l && !(i[a] < w.pretab[a]); a++); + if (a == Ae.SBPSY_l) for (e.preflag = 1, a = 11; a < Ae.SBPSY_l; a++) i[a] -= w.pretab[a]; } for (a = 0; a < e.sfbdivide; a++) s < i[a] && (s = i[a]); for (; a < e.sfbmax; a++) r < i[a] && (r = i[a]); @@ -13622,17 +13720,17 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (a = 0 != t.preflag ? 2 : 0, _ = 0; _ < 4; _++) f[_] = 0; if (t.block_type == Ae.SHORT_TYPE) { n = 1; - var u = S.nr_of_sfb_block[a][n]; + var u = w.nr_of_sfb_block[a][n]; for (s = l = 0; s < 4; s++) for (r = u[s] / 3, _ = 0; _ < r; _++, l++) for (i = 0; i < 3; i++) c[3 * l + i] > f[s] && (f[s] = c[3 * l + i]); } else { n = 0; - var u = S.nr_of_sfb_block[a][n]; + var u = w.nr_of_sfb_block[a][n]; for (s = l = 0; s < 4; s++) for (r = u[s], _ = 0; _ < r; _++, l++) c[l] > f[s] && (f[s] = c[l]); } for (o = !1, s = 0; s < 4; s++) f[s] > g[a][s] && (o = !0); if (!o) { var h, b, p, m; - for (t.sfb_partition_table = S.nr_of_sfb_block[a][n], s = 0; s < 4; s++) t.slen[s] = w[f[s]]; + for (t.sfb_partition_table = w.nr_of_sfb_block[a][n], s = 0; s < 4; s++) t.slen[s] = S[f[s]]; switch (h = t.slen[0], b = t.slen[1], p = t.slen[2], m = t.slen[3], a) { case 0: t.scalefac_compress = (5 * h + b << 4) + (p << 2) + m; @@ -13647,7 +13745,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js if (!o) for (t.part2_length = 0, s = 0; s < 4; s++) t.part2_length += t.slen[s] * t.sfb_partition_table[s]; return o; }; - var w = [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4]; + var S = [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4]; this.huffman_init = function (e) { for (var t = 2; t <= 576; t += 2) { for (var a, n = 0; e.scalefac_band.l[++n] < t;); @@ -13755,7 +13853,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js function p() { this.total = 0; } - function w(e, t) { + function S(e, t) { var a, n, s, @@ -13773,7 +13871,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js a, n = e.internal_flags; n.h_ptr - 1; - t = n.l3_side, (a = w(e, new p())) < 0 || (u(e, a), n.ResvSize = 0, t.main_data_begin = 0, n.findReplayGain && me(), n.findPeakSample && me()); + t = n.l3_side, (a = S(e, new p())) < 0 || (u(e, a), n.ResvSize = 0, t.main_data_begin = 0, n.findReplayGain && me(), n.findPeakSample && me()); }, this.format_bitstream = function (e) { var t, a = e.internal_flags; @@ -13784,7 +13882,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js n, s, r = e.internal_flags; - if (a = r.l3_side, r.header[r.h_ptr].ptr = 0, we.fill(r.header[r.h_ptr].buf, 0, r.sideinfo_len, 0), e.out_samplerate < 16e3 ? h(r, 4094, 12) : h(r, 4095, 12), h(r, e.version, 1), h(r, 1, 2), h(r, e.error_protection ? 0 : 1, 1), h(r, r.bitrate_index, 4), h(r, r.samplerate_index, 2), h(r, r.padding, 1), h(r, e.extension, 1), h(r, e.mode.ordinal(), 2), h(r, r.mode_ext, 2), h(r, e.copyright, 1), h(r, e.original, 1), h(r, e.emphasis, 2), e.error_protection && h(r, 0, 16), 1 == e.version) { + if (a = r.l3_side, r.header[r.h_ptr].ptr = 0, Se.fill(r.header[r.h_ptr].buf, 0, r.sideinfo_len, 0), e.out_samplerate < 16e3 ? h(r, 4094, 12) : h(r, 4095, 12), h(r, e.version, 1), h(r, 1, 2), h(r, e.error_protection ? 0 : 1, 1), h(r, r.bitrate_index, 4), h(r, r.samplerate_index, 2), h(r, r.padding, 1), h(r, e.extension, 1), h(r, e.mode.ordinal(), 2), h(r, r.mode_ext, 2), h(r, e.copyright, 1), h(r, e.original, 1), h(r, e.emphasis, 2), e.error_protection && h(r, 0, 16), 1 == e.version) { for (h(r, a.main_data_begin, 9), 2 == r.channels_out ? h(r, a.private_bits, 3) : h(r, a.private_bits, 5), s = 0; s < r.channels_out; s++) { var i; for (i = 0; i < 4; i++) h(r, a.scfsi[s][i], 1); @@ -13840,7 +13938,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js s += m(i, _), r += h + s; } return r; - }(e), u(e, t.resvDrain_post), s += t.resvDrain_post, t.main_data_begin += (n - s) / 8, w(e, new p()), a.ResvSize, 8 * t.main_data_begin != a.ResvSize && (a.ResvSize = 8 * t.main_data_begin), 1e9 < l) { + }(e), u(e, t.resvDrain_post), s += t.resvDrain_post, t.main_data_begin += (n - s) / 8, S(e, new p()), a.ResvSize, 8 * t.main_data_begin != a.ResvSize && (a.ResvSize = 8 * t.main_data_begin), 1e9 < l) { var r; for (r = 0; r < j.MAX_HEADER_BUF; ++r) a.header[r].write_timing -= l; l = 0; @@ -13856,7 +13954,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } return r; }, this.init_bit_stream_w = function (e) { - _ = S(Y.LAME_MAXMP3BUFFER), e.h_ptr = e.w_ptr = 0, e.header[e.h_ptr].write_timing = 0, f = -1, l = c = 0; + _ = w(Y.LAME_MAXMP3BUFFER), e.h_ptr = e.w_ptr = 0, e.header[e.h_ptr].write_timing = 0, f = -1, l = c = 0; }; } function e(e, t, a, n) { @@ -14000,12 +14098,12 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js c = e.VBR == Me.vbr_mtrh ? 1 : 0, u = i.masking_lower; for (e.VBR != Me.vbr_mtrh && e.VBR != Me.vbr_mt || (u = 1), s = 0; s < a.psy_lmax; s++) { - for (w = e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? athAdjust(l.adjust, l.l[s], l.floor) : l.adjust * l.l[s], v = a.width[s], S = w / v, M = B, A = v >> 1, y = 0; k = f[o] * f[o], y += k, M += k < S ? k : S, R = f[++o] * f[o], y += R, M += R < S ? R : S, o++, 0 < --A;); - if (w < y && _++, s == Ae.SBPSY_l && me(), 0 != c && (w = M), !e.ATHonly) { + for (S = e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? athAdjust(l.adjust, l.l[s], l.floor) : l.adjust * l.l[s], v = a.width[s], w = S / v, M = B, A = v >> 1, y = 0; k = f[o] * f[o], y += k, M += k < w ? k : w, R = f[++o] * f[o], y += R, M += R < w ? R : w, o++, 0 < --A;); + if (S < y && _++, s == Ae.SBPSY_l && me(), 0 != c && (S = M), !e.ATHonly) { var h = t.en.l[s]; - 0 < h && (x = y * t.thm.l[s] * u / h, 0 != c && (x *= i.nsPsy.longfact[s]), w < x && (w = x)); + 0 < h && (x = y * t.thm.l[s] * u / h, 0 != c && (x *= i.nsPsy.longfact[s]), S < x && (S = x)); } - n[r++] = 0 != c ? w : w * i.nsPsy.longfact[s]; + n[r++] = 0 != c ? S : S * i.nsPsy.longfact[s]; } var b = 575; if (a.block_type != Ae.SHORT_TYPE) for (var p = 576; 0 != p-- && N.EQ(f[p], 0);) b = p; @@ -14013,22 +14111,22 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (var m = a.sfb_smin; s < a.psymax; m++, s += 3) { var v, d, g; for (g = e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? athAdjust(l.adjust, l.s[m], l.floor) : l.adjust * l.s[m], v = a.width[s], d = 0; d < 3; d++) { - var w, - S, + var S, + w, M, y = 0, A = v >> 1; - S = g / v, M = B; + w = g / v, M = B; do { var k, R; - k = f[o] * f[o], y += k, M += k < S ? k : S, R = f[++o] * f[o], y += R, M += R < S ? R : S, o++; + k = f[o] * f[o], y += k, M += k < w ? k : w, R = f[++o] * f[o], y += R, M += R < w ? R : w, o++; } while (0 < --A); - if (g < y && _++, m == Ae.SBPSY_s && me(), w = 0 != c ? M : g, !e.ATHonly && !e.ATHshort) { + if (g < y && _++, m == Ae.SBPSY_s && me(), S = 0 != c ? M : g, !e.ATHonly && !e.ATHshort) { var x, h = t.en.s[m][d]; - 0 < h && (x = y * t.thm.s[m][d] * u / h, 0 != c && (x *= i.nsPsy.shortfact[m]), w < x && (w = x)); + 0 < h && (x = y * t.thm.s[m][d] * u / h, 0 != c && (x *= i.nsPsy.shortfact[m]), S < x && (S = x)); } - n[r++] = 0 != c ? w : w * i.nsPsy.shortfact[m]; + n[r++] = 0 != c ? S : S * i.nsPsy.shortfact[m]; } e.useTemporal && (n[r - 3] > n[r - 3 + 1] && (n[r - 3 + 1] += (n[r - 3] - n[r - 3 + 1]) * i.decay), n[r - 3 + 1] > n[r - 3 + 2] && (n[r - 3 + 2] += (n[r - 3 + 1] - n[r - 3 + 2]) * i.decay)); } @@ -14063,10 +14161,10 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js d = 0; if (null != s && s.step[r] == v) d = s.noise[r], h += e.width[r], a[o++] = d / t[_++], d = s.noise_log[r];else { var g, - w = y[v + T.Q_MAX2]; + S = y[v + T.Q_MAX2]; i = e.width[r] >> 1, h + e.width[r] > e.max_nonzero_coeff && (g = e.max_nonzero_coeff - h + 1, i = 0 < g ? g >> 1 : 0); - var S = new A(h); - d = this.calc_noise_core(e, S, i, w), h = S.s, null != s && (s.step[r] = v, s.noise[r] = d), d = a[o++] = d / t[_++], d = V.FAST_LOG10(Math.max(d, 1e-20)), null != s && (s.noise_log[r] = d); + var w = new A(h); + d = this.calc_noise_core(e, w, i, S), h = w.s, null != s && (s.step[r] = v, s.noise[r] = d), d = a[o++] = d / t[_++], d = V.FAST_LOG10(Math.max(d, 1e-20)), null != s && (s.noise_log[r] = d); } null != s && (s.global_gain = e.global_gain), c += d, 0 < d && (m = Math.max(0 | 10 * d + .5, 1), n.over_SSD += m * m, l++, f += d), u = Math.max(u, d); } @@ -14089,11 +14187,11 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js function C() { var r, g; this.rv = null, this.qupvt = null; - var w, + var S, s = new function () { this.setModules = function (e, t) {}; }(); - function S(e) { + function w(e) { this.ordinal = e; } function o(e) { @@ -14163,7 +14261,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } }(e, t, a, n); var i = o(t); - return !(i || (i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)) && (1 < r.noise_shaping && (we.fill(r.pseudohalf, 0), 0 == t.scalefac_scale ? (function (e, t) { + return !(i || (i = 2 == r.mode_gr ? S.scale_bitcount(t) : S.scale_bitcount_lsf(r, t)) && (1 < r.noise_shaping && (Se.fill(r.pseudohalf, 0), 0 == t.scalefac_scale ? (function (e, t) { for (var a = 0, n = 0; n < e.sfbmax; n++) { var s = e.width[n], r = e.scalefac[n]; @@ -14204,14 +14302,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } return !1; - }(r, t, n) || o(t))), i || (i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)), i)); + }(r, t, n) || o(t))), i || (i = 2 == r.mode_gr ? S.scale_bitcount(t) : S.scale_bitcount_lsf(r, t)), i)); } this.setModules = function (e, t, a, n) { - r = t, this.rv = t, g = a, this.qupvt = a, w = n, s.setModules(g, w); + r = t, this.rv = t, g = a, this.qupvt = a, S = n, s.setModules(g, S); }, this.init_xrpow = function (e, t, a) { var n = 0, s = 0 | t.max_nonzero_coeff; - if (t.xrpow_max = 0, we.fill(a, s, 576, 0), 1e-20 < (n = function (e, t, a, n) { + if (t.xrpow_max = 0, Se.fill(a, s, 576, 0), 1e-20 < (n = function (e, t, a, n) { for (var s = n = 0; s <= a; ++s) { var r = Math.abs(e.xr[s]); n += r, t[s] = Math.sqrt(r * Math.sqrt(r)), t[s] > e.xrpow_max && (e.xrpow_max = t[s]); @@ -14223,7 +14321,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (var i = 0; i < t.psymax; i++) e.pseudohalf[i] = r; return !0; } - return we.fill(t.l3_enc, 0, 576, 0), !1; + return Se.fill(t.l3_enc, 0, 576, 0), !1; }, this.init_outer_loop = function (e, t) { t.part2_3_length = 0, t.big_values = 0, t.count1 = 0, t.global_gain = 210, t.scalefac_compress = 0, t.table_select[0] = 0, t.table_select[1] = 0, t.table_select[2] = 0, t.subblock_gain[0] = 0, t.subblock_gain[1] = 0, t.subblock_gain[2] = 0, t.subblock_gain[3] = 0, t.region0_count = 0, t.region1_count = 0, t.preflag = 0, t.scalefac_scale = 0, t.count1table_select = 0, t.part2_length = 0, t.sfb_lmax = Ae.SBPSY_l, t.sfb_smin = Ae.SBPSY_s, t.psy_lmax = e.sfb21_extra ? Ae.SBMAX_l : Ae.SBPSY_l, t.psymax = t.psy_lmax, t.sfbmax = t.sfb_lmax, t.sfbdivide = 11; for (var a = 0; a < Ae.SBMAX_l; a++) t.width[a] = e.scalefac_band.l[a + 1] - e.scalefac_band.l[a], t.window[a] = 3; @@ -14235,7 +14333,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (var a = t.sfb_smin; a < Ae.SBMAX_s; a++) for (var r = e.scalefac_band.s[a], i = e.scalefac_band.s[a + 1], o = 0; o < 3; o++) for (var _ = r; _ < i; _++) t.xr[s++] = n[3 * _ + o]; for (var l = t.sfb_lmax, a = t.sfb_smin; a < Ae.SBMAX_s; a++) t.width[l] = t.width[l + 1] = t.width[l + 2] = e.scalefac_band.s[a + 1] - e.scalefac_band.s[a], t.window[l] = 0, t.window[l + 1] = 1, t.window[l + 2] = 2, l += 3; } - t.count1bits = 0, t.sfb_partition_table = g.nr_of_sfb_block[0][0], t.slen[0] = 0, t.slen[1] = 0, t.slen[2] = 0, t.slen[3] = 0, t.max_nonzero_coeff = 575, we.fill(t.scalefac, 0), function (e, t) { + t.count1bits = 0, t.sfb_partition_table = g.nr_of_sfb_block[0][0], t.slen[0] = 0, t.slen[1] = 0, t.slen[2] = 0, t.slen[3] = 0, t.max_nonzero_coeff = 575, Se.fill(t.scalefac, 0), function (e, t) { var a = e.ATH, n = t.xr; if (t.block_type != Ae.SHORT_TYPE) for (var s = !1, r = Ae.PSFB21 - 1; 0 <= r && !s; r--) { @@ -14264,7 +14362,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } }(e, t); - }, S.BINSEARCH_NONE = new S(0), S.BINSEARCH_UP = new S(1), S.BINSEARCH_DOWN = new S(2), this.outer_loop = function (e, t, a, n, s, r) { + }, w.BINSEARCH_NONE = new w(0), w.BINSEARCH_UP = new w(1), w.BINSEARCH_DOWN = new w(2), this.outer_loop = function (e, t, a, n, s, r) { var i = e.internal_flags, o = new B(), _ = de(576), @@ -14280,13 +14378,13 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js i = e.CurrentStep[n], o = !1, _ = e.OldValue[n], - l = S.BINSEARCH_NONE; + l = w.BINSEARCH_NONE; for (t.global_gain = _, a -= t.part2_length;;) { var f; - if (r = w.count_bits(e, s, t, null), 1 == i || r == a) break; - a < r ? (l == S.BINSEARCH_DOWN && (o = !0), o && (i /= 2), l = S.BINSEARCH_UP, f = i) : (l == S.BINSEARCH_UP && (o = !0), o && (i /= 2), l = S.BINSEARCH_DOWN, f = -i), t.global_gain += f, t.global_gain < 0 && me(), 255 < t.global_gain && me(); + if (r = S.count_bits(e, s, t, null), 1 == i || r == a) break; + a < r ? (l == w.BINSEARCH_DOWN && (o = !0), o && (i /= 2), l = w.BINSEARCH_UP, f = i) : (l == w.BINSEARCH_UP && (o = !0), o && (i /= 2), l = w.BINSEARCH_DOWN, f = -i), t.global_gain += f, t.global_gain < 0 && me(), 255 < t.global_gain && me(); } - for (; a < r && t.global_gain < 255;) t.global_gain++, r = w.count_bits(e, s, t, null); + for (; a < r && t.global_gain < 255;) t.global_gain++, r = S.count_bits(e, s, t, null); e.CurrentStep[n] = 4 <= _ - t.global_gain ? 4 : 2, e.OldValue[n] = t.global_gain, t.part2_3_length = r; }(i, t, r, s, n), 0 == i.noise_shaping) return 100; g.calc_noise(t, a, l, f, c), f.bits = t.part2_3_length, o.assign(t); @@ -14300,10 +14398,10 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js 0 != o.scalefac_scale && (v = 254); var d = r - o.part2_length; if (d <= 0) break; - for (; (o.part2_3_length = w.count_bits(i, n, o, c)) > d && o.global_gain <= v;) o.global_gain++; + for (; (o.part2_3_length = S.count_bits(i, n, o, c)) > d && o.global_gain <= v;) o.global_gain++; if (o.global_gain > v) break; if (0 == f.over_count) { - for (; (o.part2_3_length = w.count_bits(i, n, o, c)) > u && o.global_gain <= v;) o.global_gain++; + for (; (o.part2_3_length = S.count_bits(i, n, o, c)) > u && o.global_gain <= v;) o.global_gain++; if (o.global_gain > v) break; } if (g.calc_noise(o, a, l, m, c), m.bits = o.part2_3_length, 0 != (M(t.block_type != Ae.SHORT_TYPE ? e.quant_comp : e.quant_comp_short, f, m) ? 1 : 0)) u = t.part2_3_length, f = m, t.assign(o), b = 0, I.arraycopy(n, 0, _, 0, 576);else if (0 == i.full_outer_loop) { @@ -14317,7 +14415,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js }, this.iteration_finish_one = function (e, t, a) { var n = e.l3_side, s = n.tt[t][a]; - w.best_scalefac_store(e, t, a, n), 1 == e.use_best_huffman && w.best_huffman_divide(e, s), r.ResvAdjust(e, s); + S.best_scalefac_store(e, t, a, n), 1 == e.use_best_huffman && S.best_huffman_divide(e, s), r.ResvAdjust(e, s); }; } function L() { @@ -14335,7 +14433,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js var u = [-.1482523854003001, 32.308141959636465, 296.40344946382766, 883.1344870032432, 11113.947376231741, 1057.2713659324597, 305.7402417275812, 30.825928907280012, 3.8533188138216365, 59.42900443849514, 709.5899960123345, 5281.91112291017, -5829.66483675846, -817.6293103748613, -76.91656988279972, -4.594269939176596, .9063471690191471, .1960342806591213, -.15466694054279598, 34.324387823855965, 301.8067566458425, 817.599602898885, 11573.795901679885, 1181.2520595540152, 321.59731579894424, 31.232021761053772, 3.7107095756221318, 53.650946155329365, 684.167428119626, 5224.56624370173, -6366.391851890084, -908.9766368219582, -89.83068876699639, -5.411397422890401, .8206787908286602, .3901806440322567, -.16070888947830023, 36.147034243915876, 304.11815768187864, 732.7429163887613, 11989.60988270091, 1300.012278487897, 335.28490093152146, 31.48816102859945, 3.373875931311736, 47.232241542899175, 652.7371796173471, 5132.414255594984, -6909.087078780055, -1001.9990371107289, -103.62185754286375, -6.104916304710272, .7416505462720353, .5805693545089249, -.16636367662261495, 37.751650073343995, 303.01103387567713, 627.9747488785183, 12358.763425278165, 1412.2779918482834, 346.7496836825721, 31.598286663170416, 3.1598635433980946, 40.57878626349686, 616.1671130880391, 5007.833007176154, -7454.040671756168, -1095.7960341867115, -118.24411666465777, -6.818469345853504, .6681786379192989, .7653668647301797, -.1716176790982088, 39.11551877123304, 298.3413246578966, 503.5259106886539, 12679.589408408976, 1516.5821921214542, 355.9850766329023, 31.395241710249053, 2.9164211881972335, 33.79716964664243, 574.8943997801362, 4853.234992253242, -7997.57021486075, -1189.7624067269965, -133.6444792601766, -7.7202770609839915, .5993769336819237, .9427934736519954, -.17645823955292173, 40.21879108166477, 289.9982036694474, 359.3226160751053, 12950.259102786438, 1612.1013903507662, 362.85067106591504, 31.045922092242872, 2.822222032597987, 26.988862316190684, 529.8996541764288, 4671.371946949588, -8535.899136645805, -1282.5898586244496, -149.58553632943463, -8.643494270763135, .5345111359507916, 1.111140466039205, -.36174739330527045, 41.04429910497807, 277.5463268268618, 195.6386023135583, 13169.43812144731, 1697.6433561479398, 367.40983966190305, 30.557037410382826, 2.531473372857427, 20.070154905927314, 481.50208566532336, 4464.970341588308, -9065.36882077239, -1373.62841526722, -166.1660487028118, -9.58289321133207, .4729647758913199, 1.268786568327291, -.36970682634889585, 41.393213350082036, 261.2935935556502, 12.935476055240873, 13336.131683328815, 1772.508612059496, 369.76534388639965, 29.751323653701338, 2.4023193045459172, 13.304795348228817, 430.5615775526625, 4237.0568611071185, -9581.931701634761, -1461.6913552409758, -183.12733958476446, -10.718010163869403, .41421356237309503, 1.414213562373095, -.37677560326535325, 41.619486213528496, 241.05423794991074, -187.94665032361226, 13450.063605744153, 1836.153896465782, 369.4908799925761, 29.001847876923147, 2.0714759319987186, 6.779591200894186, 377.7767837205709, 3990.386575512536, -10081.709459700915, -1545.947424837898, -200.3762958015653, -11.864482073055006, .3578057213145241, 1.546020906725474, -.3829366947518991, 41.1516456456653, 216.47684307105183, -406.1569483347166, 13511.136535077321, 1887.8076599260432, 367.3025214564151, 28.136213436723654, 1.913880671464418, .3829366947518991, 323.85365704338597, 3728.1472257487526, -10561.233882199509, -1625.2025997821418, -217.62525175416, -13.015432208941645, .3033466836073424, 1.66293922460509, -.5822628872992417, 40.35639251440489, 188.20071124269245, -640.2706748618148, 13519.21490106562, 1927.6022433578062, 362.8197642637487, 26.968821921868447, 1.7463817695935329, -5.62650678237171, 269.3016715297017, 3453.386536448852, -11016.145278780888, -1698.6569643425091, -234.7658734267683, -14.16351421663124, .2504869601913055, 1.76384252869671, -.5887180101749253, 39.23429103868072, 155.76096234403798, -889.2492977967378, 13475.470561874661, 1955.0535223723712, 356.4450994756727, 25.894952980042156, 1.5695032905781554, -11.181939564328772, 214.80884394039484, 3169.1640829158237, -11443.321309975563, -1765.1588461316153, -251.68908574481912, -15.49755935939164, .198912367379658, 1.847759065022573, -.7912582233652842, 37.39369355329111, 119.699486012458, -1151.0956593239027, 13380.446257078214, 1970.3952110853447, 348.01959814116185, 24.731487364283044, 1.3850130831637748, -16.421408865300393, 161.05030052864092, 2878.3322807850063, -11838.991423510031, -1823.985884688674, -268.2854986386903, -16.81724543849939, .1483359875383474, 1.913880671464418, -.7960642926861912, 35.2322109610459, 80.01928065061526, -1424.0212633405113, 13235.794061869668, 1973.804052543835, 337.9908651258184, 23.289159354463873, 1.3934255946442087, -21.099669467133474, 108.48348407242611, 2583.700758091299, -12199.726194855148, -1874.2780658979746, -284.2467154529415, -18.11369784385905, .09849140335716425, 1.961570560806461, -.998795456205172, 32.56307803611191, 36.958364584370486, -1706.075448829146, 13043.287458812016, 1965.3831106103316, 326.43182772364605, 22.175018750622293, 1.198638339011324, -25.371248002043963, 57.53505923036915, 2288.41886619975, -12522.674544337233, -1914.8400385312243, -299.26241273417224, -19.37805630698734, .04912684976946725, 1.990369453344394, .035780907 * V.SQRT2 * .5 / 2384e-9, .017876148 * V.SQRT2 * .5 / 2384e-9, .003134727 * V.SQRT2 * .5 / 2384e-9, .002457142 * V.SQRT2 * .5 / 2384e-9, 971317e-9 * V.SQRT2 * .5 / 2384e-9, 218868e-9 * V.SQRT2 * .5 / 2384e-9, 101566e-9 * V.SQRT2 * .5 / 2384e-9, 13828e-9 * V.SQRT2 * .5 / 2384e-9, 12804.797818791945, 1945.5515939597317, 313.4244966442953, 49591e-9 / 2384e-9, 1995.1556208053692, 21458e-9 / 2384e-9, -69618e-9 / 2384e-9], A = [[2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.40084909404969e-13, 6.423305872147839e-13, 2.382191739347918e-13, 5.456116108943412e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758252e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558783e-12, 8.371015190102974e-13, 2.599706096327376e-13, -5.456116108943412e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758252e-12, -2.858043359288076e-12, -2.156177623817898e-12, -1.475637723558783e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347923e-13, -6.423305872147843e-13, -9.400849094049696e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049694e-13, -6.42330587214784e-13, -2.382191739347918e-13], [2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.400849094049688e-13, 6.423305872147841e-13, 2.382191739347918e-13, 5.456116108943413e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758253e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558782e-12, 8.371015190102975e-13, 2.599706096327376e-13, -5.461314069809755e-12, -4.921085770524055e-12, -4.343405037091838e-12, -3.732668368707687e-12, -3.093523840190885e-12, -2.430835727329465e-12, -1.734679010007751e-12, -9.74825365660928e-13, -2.797435120168326e-13, 0, 0, 0, 0, 0, 0, -2.283748241799531e-13, -4.037858874020686e-13, -2.146547464825323e-13], [.1316524975873958, .414213562373095, .7673269879789602, 1.091308501069271, 1.303225372841206, 1.56968557711749, 1.920982126971166, 2.414213562373094, 3.171594802363212, 4.510708503662055, 7.595754112725146, 22.90376554843115, .984807753012208, .6427876096865394, .3420201433256688, .9396926207859084, -.1736481776669303, -.7660444431189779, .8660254037844387, .5, -.5144957554275265, -.4717319685649723, -.3133774542039019, -.1819131996109812, -.09457419252642064, -.04096558288530405, -.01419856857247115, -.003699974673760037, .8574929257125442, .8817419973177052, .9496286491027329, .9833145924917901, .9955178160675857, .9991605581781475, .999899195244447, .9999931550702802], [0, 0, 0, 0, 0, 0, 2.283748241799531e-13, 4.037858874020686e-13, 2.146547464825323e-13, 5.461314069809755e-12, 4.921085770524055e-12, 4.343405037091838e-12, 3.732668368707687e-12, 3.093523840190885e-12, 2.430835727329466e-12, 1.734679010007751e-12, 9.74825365660928e-13, 2.797435120168326e-13, -5.456116108943413e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758253e-12, -2.858043359288075e-12, -2.156177623817898e-12, -1.475637723558782e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347913e-13, -6.423305872147834e-13, -9.400849094049688e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049688e-13, -6.423305872147841e-13, -2.382191739347918e-13]], k = A[Ae.SHORT_TYPE], - S = A[Ae.SHORT_TYPE], + w = A[Ae.SHORT_TYPE], R = A[Ae.SHORT_TYPE], x = A[Ae.SHORT_TYPE], B = [0, 1, 16, 17, 8, 9, 24, 25, 4, 5, 20, 21, 12, 13, 28, 29, 2, 3, 18, 19, 10, 11, 26, 27, 6, 7, 22, 23, 14, 15, 30, 31]; @@ -14353,8 +14451,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } function C(e, t, a) { - var n, s, r, i, o, _, l, f, c, u, h, b, p, m, v, d, g, w; - r = a[17] - a[9], o = a[15] - a[11], _ = a[14] - a[12], l = a[0] + a[8], f = a[1] + a[7], c = a[2] + a[6], u = a[3] + a[5], e[t + 17] = l + c - u - (f - a[4]), s = (l + c - u) * S[19] + (f - a[4]), n = (r - o - _) * S[18], e[t + 5] = n + s, e[t + 6] = n - s, i = (a[16] - a[10]) * S[18], f = f * S[19] + a[4], n = r * S[12] + i + o * S[13] + _ * S[14], s = -l * S[16] + f - c * S[17] + u * S[15], e[t + 1] = n + s, e[t + 2] = n - s, n = r * S[13] - i - o * S[14] + _ * S[12], s = -l * S[17] + f - c * S[15] + u * S[16], e[t + 9] = n + s, e[t + 10] = n - s, n = r * S[14] - i + o * S[12] - _ * S[13], s = l * S[15] - f + c * S[16] - u * S[17], e[t + 13] = n + s, e[t + 14] = n - s, h = a[8] - a[0], p = a[6] - a[2], m = a[5] - a[3], v = a[17] + a[9], d = a[16] + a[10], g = a[15] + a[11], w = a[14] + a[12], e[t + 0] = v + g + w + (d + a[13]), n = (v + g + w) * S[19] - (d + a[13]), s = (h - p + m) * S[18], e[t + 11] = n + s, e[t + 12] = n - s, b = (a[7] - a[1]) * S[18], d = a[13] - d * S[19], n = v * S[15] - d + g * S[16] + w * S[17], s = h * S[14] + b + p * S[12] + m * S[13], e[t + 3] = n + s, e[t + 4] = n - s, n = -v * S[17] + d - g * S[15] - w * S[16], s = h * S[13] + b - p * S[14] - m * S[12], e[t + 7] = n + s, e[t + 8] = n - s, n = -v * S[16] + d - g * S[17] - w * S[15], s = h * S[12] - b + p * S[13] - m * S[14], e[t + 15] = n + s, e[t + 16] = n - s; + var n, s, r, i, o, _, l, f, c, u, h, b, p, m, v, d, g, S; + r = a[17] - a[9], o = a[15] - a[11], _ = a[14] - a[12], l = a[0] + a[8], f = a[1] + a[7], c = a[2] + a[6], u = a[3] + a[5], e[t + 17] = l + c - u - (f - a[4]), s = (l + c - u) * w[19] + (f - a[4]), n = (r - o - _) * w[18], e[t + 5] = n + s, e[t + 6] = n - s, i = (a[16] - a[10]) * w[18], f = f * w[19] + a[4], n = r * w[12] + i + o * w[13] + _ * w[14], s = -l * w[16] + f - c * w[17] + u * w[15], e[t + 1] = n + s, e[t + 2] = n - s, n = r * w[13] - i - o * w[14] + _ * w[12], s = -l * w[17] + f - c * w[15] + u * w[16], e[t + 9] = n + s, e[t + 10] = n - s, n = r * w[14] - i + o * w[12] - _ * w[13], s = l * w[15] - f + c * w[16] - u * w[17], e[t + 13] = n + s, e[t + 14] = n - s, h = a[8] - a[0], p = a[6] - a[2], m = a[5] - a[3], v = a[17] + a[9], d = a[16] + a[10], g = a[15] + a[11], S = a[14] + a[12], e[t + 0] = v + g + S + (d + a[13]), n = (v + g + S) * w[19] - (d + a[13]), s = (h - p + m) * w[18], e[t + 11] = n + s, e[t + 12] = n - s, b = (a[7] - a[1]) * w[18], d = a[13] - d * w[19], n = v * w[15] - d + g * w[16] + S * w[17], s = h * w[14] + b + p * w[12] + m * w[13], e[t + 3] = n + s, e[t + 4] = n - s, n = -v * w[17] + d - g * w[15] - S * w[16], s = h * w[13] + b - p * w[14] - m * w[12], e[t + 7] = n + s, e[t + 8] = n - s, n = -v * w[16] + d - g * w[17] - S * w[15], s = h * w[12] - b + p * w[13] - m * w[14], e[t + 15] = n + s, e[t + 16] = n - s; } this.mdct_sub48 = function (e, t, a) { for (var n = t, s = 286, r = 0; r < e.channels_out; r++) { @@ -14364,7 +14462,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js var b = _.block_type, p = e.sb_sample[r][i], m = e.sb_sample[r][1 - i]; - if (0 != _.mixed_block_flag && o < 2 && (b = 0), e.amp_filter[o] < 1e-12) we.fill(l, f + 0, f + 18, 0);else if (e.amp_filter[o] < 1 && me(), b == Ae.SHORT_TYPE) { + if (0 != _.mixed_block_flag && o < 2 && (b = 0), e.amp_filter[o] < 1e-12) Se.fill(l, f + 0, f + 18, 0);else if (e.amp_filter[o] < 1 && me(), b == Ae.SHORT_TYPE) { for (var h = -3; h < 0; h++) { var v = A[Ae.SHORT_TYPE][h + 3]; l[f + 3 * h + 9] = p[9 + h][B[o]] * v - p[8 - h][B[o]], l[f + 3 * h + 18] = p[14 - h][B[o]] * v + p[15 + h][B[o]], l[f + 3 * h + 10] = p[15 + h][B[o]] * v - p[14 - h][B[o]], l[f + 3 * h + 19] = m[2 - h][B[o]] * v + m[3 + h][B[o]], l[f + 3 * h + 11] = m[3 + h][B[o]] * v - m[2 - h][B[o]], l[f + 3 * h + 20] = m[8 - h][B[o]] * v + m[9 + h][B[o]]; @@ -14372,14 +14470,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js E(l, f); } else { for (var d = de(18), h = -9; h < 0; h++) { - var g, w; - g = A[b][h + 27] * m[h + 9][B[o]] + A[b][h + 36] * m[8 - h][B[o]], w = A[b][h + 9] * p[h + 9][B[o]] - A[b][h + 18] * p[8 - h][B[o]], d[h + 9] = g - w * k[3 + h + 9], d[h + 18] = g * k[3 + h + 9] + w; + var g, S; + g = A[b][h + 27] * m[h + 9][B[o]] + A[b][h + 36] * m[8 - h][B[o]], S = A[b][h + 9] * p[h + 9][B[o]] - A[b][h + 18] * p[8 - h][B[o]], d[h + 9] = g - S * k[3 + h + 9], d[h + 18] = g * k[3 + h + 9] + S; } C(l, f, d); } if (b != Ae.SHORT_TYPE && 0 != o) for (var h = 7; 0 <= h; --h) { - var S, M; - S = l[f + h] * R[20 + h] + l[f + -1 - h] * x[28 + h], M = l[f + h] * x[28 + h] - l[f + -1 - h] * R[20 + h], l[f + -1 - h] = S, l[f + h] = M; + var w, M; + w = l[f + h] * R[20 + h] + l[f + -1 - h] * x[28 + h], M = l[f + h] * x[28 + h] - l[f + -1 - h] * R[20 + h], l[f + -1 - h] = w, l[f + h] = M; } } } @@ -14418,14 +14516,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js }(e, h), b.padding = 0, (b.slot_lag -= b.frac_SpF) < 0 && (b.slot_lag += e.out_samplerate, b.padding = 1), 0 != b.psymodel) { var d, g = [null, null], - w = 0, - S = ve(2); + S = 0, + w = ve(2); for (u = 0; u < b.mode_gr; u++) { - for (c = 0; c < b.channels_out; c++) g[c] = h[c], w = 576 + 576 * u - Ae.FFTOFFSET; - if (e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? me() : d = x.L3psycho_anal_ns(e, g, w, u, o, l, m[u], v[u], p[u], S), 0 != d) return -4; + for (c = 0; c < b.channels_out; c++) g[c] = h[c], S = 576 + 576 * u - Ae.FFTOFFSET; + if (e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? me() : d = x.L3psycho_anal_ns(e, g, S, u, o, l, m[u], v[u], p[u], w), 0 != d) return -4; for (e.mode == ye.JOINT_STEREO && me(), c = 0; c < b.channels_out; c++) { var M = b.l3_side.tt[u][c]; - M.block_type = S[c], M.mixed_block_flag = 0; + M.block_type = w[c], M.mixed_block_flag = 0; } } } else me(); @@ -14463,16 +14561,16 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js function j() { var e = 40; function t() { - this.write_timing = 0, this.ptr = 0, this.buf = S(e); + this.write_timing = 0, this.ptr = 0, this.buf = w(e); } this.Class_ID = 0, this.lame_encode_frame_init = 0, this.iteration_init_init = 0, this.fill_buffer_resample_init = 0, this.mfbuf = ge([2, j.MFSIZE]), this.mode_gr = 0, this.channels_in = 0, this.channels_out = 0, this.resample_ratio = 0, this.mf_samples_to_encode = 0, this.mf_size = 0, this.VBR_min_bitrate = 0, this.VBR_max_bitrate = 0, this.bitrate_index = 0, this.samplerate_index = 0, this.mode_ext = 0, this.lowpass1 = 0, this.lowpass2 = 0, this.highpass1 = 0, this.highpass2 = 0, this.noise_shaping = 0, this.noise_shaping_amp = 0, this.substep_shaping = 0, this.psymodel = 0, this.noise_shaping_stop = 0, this.subblock_gain = 0, this.use_best_huffman = 0, this.full_outer_loop = 0, this.l3_side = new function () { this.tt = [[null, null], [null, null]], this.main_data_begin = 0, this.private_bits = 0, this.resvDrain_pre = 0, this.resvDrain_post = 0, this.scfsi = [ve(4), ve(4)]; for (var e = 0; e < 2; e++) for (var t = 0; t < 2; t++) this.tt[e][t] = new B(); - }(), this.ms_ratio = de(2), this.padding = 0, this.frac_SpF = 0, this.slot_lag = 0, this.tag_spec = null, this.nMusicCRC = 0, this.OldValue = ve(2), this.CurrentStep = ve(2), this.masking_lower = 0, this.bv_scf = ve(576), this.pseudohalf = ve(F.SFBMAX), this.sfb21_extra = !1, this.inbuf_old = new Array(2), this.blackfilt = new Array(2 * j.BPC + 1), this.itime = n(2), this.sideinfo_len = 0, this.sb_sample = ge([2, 2, 18, Ae.SBLIMIT]), this.amp_filter = de(32), this.header = new Array(j.MAX_HEADER_BUF), this.h_ptr = 0, this.w_ptr = 0, this.ancillary_flag = 0, this.ResvSize = 0, this.ResvMax = 0, this.scalefac_band = new r(), this.minval_l = de(Ae.CBANDS), this.minval_s = de(Ae.CBANDS), this.nb_1 = ge([4, Ae.CBANDS]), this.nb_2 = ge([4, Ae.CBANDS]), this.nb_s1 = ge([4, Ae.CBANDS]), this.nb_s2 = ge([4, Ae.CBANDS]), this.s3_ss = null, this.s3_ll = null, this.decay = 0, this.thm = new Array(4), this.en = new Array(4), this.tot_ener = de(4), this.loudness_sq = ge([2, 2]), this.loudness_sq_save = de(2), this.mld_l = de(Ae.SBMAX_l), this.mld_s = de(Ae.SBMAX_s), this.bm_l = ve(Ae.SBMAX_l), this.bo_l = ve(Ae.SBMAX_l), this.bm_s = ve(Ae.SBMAX_s), this.bo_s = ve(Ae.SBMAX_s), this.npart_l = 0, this.npart_s = 0, this.s3ind = w([Ae.CBANDS, 2]), this.s3ind_s = w([Ae.CBANDS, 2]), this.numlines_s = ve(Ae.CBANDS), this.numlines_l = ve(Ae.CBANDS), this.rnumlines_l = de(Ae.CBANDS), this.mld_cb_l = de(Ae.CBANDS), this.mld_cb_s = de(Ae.CBANDS), this.numlines_s_num1 = 0, this.numlines_l_num1 = 0, this.pe = de(4), this.ms_ratio_s_old = 0, this.ms_ratio_l_old = 0, this.ms_ener_ratio_old = 0, this.blocktype_old = ve(2), this.nsPsy = new function () { + }(), this.ms_ratio = de(2), this.padding = 0, this.frac_SpF = 0, this.slot_lag = 0, this.tag_spec = null, this.nMusicCRC = 0, this.OldValue = ve(2), this.CurrentStep = ve(2), this.masking_lower = 0, this.bv_scf = ve(576), this.pseudohalf = ve(F.SFBMAX), this.sfb21_extra = !1, this.inbuf_old = new Array(2), this.blackfilt = new Array(2 * j.BPC + 1), this.itime = n(2), this.sideinfo_len = 0, this.sb_sample = ge([2, 2, 18, Ae.SBLIMIT]), this.amp_filter = de(32), this.header = new Array(j.MAX_HEADER_BUF), this.h_ptr = 0, this.w_ptr = 0, this.ancillary_flag = 0, this.ResvSize = 0, this.ResvMax = 0, this.scalefac_band = new r(), this.minval_l = de(Ae.CBANDS), this.minval_s = de(Ae.CBANDS), this.nb_1 = ge([4, Ae.CBANDS]), this.nb_2 = ge([4, Ae.CBANDS]), this.nb_s1 = ge([4, Ae.CBANDS]), this.nb_s2 = ge([4, Ae.CBANDS]), this.s3_ss = null, this.s3_ll = null, this.decay = 0, this.thm = new Array(4), this.en = new Array(4), this.tot_ener = de(4), this.loudness_sq = ge([2, 2]), this.loudness_sq_save = de(2), this.mld_l = de(Ae.SBMAX_l), this.mld_s = de(Ae.SBMAX_s), this.bm_l = ve(Ae.SBMAX_l), this.bo_l = ve(Ae.SBMAX_l), this.bm_s = ve(Ae.SBMAX_s), this.bo_s = ve(Ae.SBMAX_s), this.npart_l = 0, this.npart_s = 0, this.s3ind = S([Ae.CBANDS, 2]), this.s3ind_s = S([Ae.CBANDS, 2]), this.numlines_s = ve(Ae.CBANDS), this.numlines_l = ve(Ae.CBANDS), this.rnumlines_l = de(Ae.CBANDS), this.mld_cb_l = de(Ae.CBANDS), this.mld_cb_s = de(Ae.CBANDS), this.numlines_s_num1 = 0, this.numlines_l_num1 = 0, this.pe = de(4), this.ms_ratio_s_old = 0, this.ms_ratio_l_old = 0, this.ms_ener_ratio_old = 0, this.blocktype_old = ve(2), this.nsPsy = new function () { this.last_en_subshort = ge([4, 9]), this.lastAttacks = ve(4), this.pefirbuf = de(19), this.longfact = de(Ae.SBMAX_l), this.shortfact = de(Ae.SBMAX_s), this.attackthre = 0, this.attackthre_s = 0; }(), this.VBR_seek_table = new function () { this.sum = 0, this.seen = 0, this.want = 0, this.pos = 0, this.size = 0, this.bag = null, this.nVbrNumFrames = 0, this.nBytesWritten = 0, this.TotalFrameSize = 0; - }(), this.ATH = null, this.PSY = null, this.nogap_total = 0, this.nogap_current = 0, this.decode_on_the_fly = !0, this.findReplayGain = !0, this.findPeakSample = !0, this.PeakSample = 0, this.RadioGain = 0, this.AudiophileGain = 0, this.rgdata = null, this.noclipGainChange = 0, this.noclipScale = 0, this.bitrate_stereoMode_Hist = w([16, 5]), this.bitrate_blockType_Hist = w([16, 6]), this.pinfo = null, this.hip = null, this.in_buffer_nsamples = 0, this.in_buffer_0 = null, this.in_buffer_1 = null, this.iteration_loop = null; + }(), this.ATH = null, this.PSY = null, this.nogap_total = 0, this.nogap_current = 0, this.decode_on_the_fly = !0, this.findReplayGain = !0, this.findPeakSample = !0, this.PeakSample = 0, this.RadioGain = 0, this.AudiophileGain = 0, this.rgdata = null, this.noclipGainChange = 0, this.noclipScale = 0, this.bitrate_stereoMode_Hist = S([16, 5]), this.bitrate_blockType_Hist = S([16, 6]), this.pinfo = null, this.hip = null, this.in_buffer_nsamples = 0, this.in_buffer_0 = null, this.in_buffer_1 = null, this.iteration_loop = null; for (var a = 0; a < this.en.length; a++) this.en[a] = new i(); for (var a = 0; a < this.thm.length; a++) this.thm[a] = new i(); for (var a = 0; a < this.header.length; a++) this.header[a] = new t(); @@ -14491,13 +14589,13 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js n = 4; do { var _, l, f, c, u, h, b; - for (b = n >> 1, h = (u = (c = n) << 1) + c, n = u << 1, r = (s = t) + b; S = e[s + 0] - e[s + c], w = e[s + 0] + e[s + c], k = e[s + u] - e[s + h], y = e[s + u] + e[s + h], e[s + u] = w - y, e[s + 0] = w + y, e[s + h] = S - k, e[s + c] = S + k, S = e[r + 0] - e[r + c], w = e[r + 0] + e[r + c], k = V.SQRT2 * e[r + h], y = V.SQRT2 * e[r + u], e[r + u] = w - y, e[r + 0] = w + y, e[r + h] = S - k, e[r + c] = S + k, r += n, (s += n) < o;); + for (b = n >> 1, h = (u = (c = n) << 1) + c, n = u << 1, r = (s = t) + b; w = e[s + 0] - e[s + c], S = e[s + 0] + e[s + c], k = e[s + u] - e[s + h], y = e[s + u] + e[s + h], e[s + u] = S - y, e[s + 0] = S + y, e[s + h] = w - k, e[s + c] = w + k, w = e[r + 0] - e[r + c], S = e[r + 0] + e[r + c], k = V.SQRT2 * e[r + h], y = V.SQRT2 * e[r + u], e[r + u] = S - y, e[r + 0] = S + y, e[r + h] = w - k, e[r + c] = w + k, r += n, (s += n) < o;); for (l = x[i + 0], _ = x[i + 1], f = 1; f < b; f++) { var p, m; p = 1 - 2 * _ * _, m = 2 * _ * l, s = t + f, r = t + c - f; do { - var v, d, g, w, S, M, y, A, k, R; - d = m * e[s + c] - p * e[r + c], v = p * e[s + c] + m * e[r + c], S = e[s + 0] - v, w = e[s + 0] + v, M = e[r + 0] - d, g = e[r + 0] + d, d = m * e[s + h] - p * e[r + h], v = p * e[s + h] + m * e[r + h], k = e[s + u] - v, y = e[s + u] + v, R = e[r + u] - d, A = e[r + u] + d, d = _ * y - l * R, v = l * y + _ * R, e[s + u] = w - v, e[s + 0] = w + v, e[r + h] = M - d, e[r + c] = M + d, d = l * A - _ * k, v = _ * A + l * k, e[r + u] = g - v, e[r + 0] = g + v, e[s + h] = S - d, e[s + c] = S + d, r += n, s += n; + var v, d, g, S, w, M, y, A, k, R; + d = m * e[s + c] - p * e[r + c], v = p * e[s + c] + m * e[r + c], w = e[s + 0] - v, S = e[s + 0] + v, M = e[r + 0] - d, g = e[r + 0] + d, d = m * e[s + h] - p * e[r + h], v = p * e[s + h] + m * e[r + h], k = e[s + u] - v, y = e[s + u] + v, R = e[r + u] - d, A = e[r + u] + d, d = _ * y - l * R, v = l * y + _ * R, e[s + u] = S - v, e[s + 0] = S + v, e[r + h] = M - d, e[r + c] = M + d, d = l * A - _ * k, v = _ * A + l * k, e[r + u] = g - v, e[r + 0] = g + v, e[s + h] = w - d, e[s + c] = w + d, r += n, s += n; } while (s < o); l = (p = l) * x[i + 0] - _ * x[i + 1], _ = p * x[i + 1] + _ * x[i + 0]; } @@ -14544,7 +14642,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js g = 16, E = .34, v = 1 / 217621504 / (Ae.BLKSIZE / 2), - w = .2302585093; + S = .2302585093; function se(e, t, a, n, s, r, i, o, _, l, f) { var c = e.internal_flags; _ < 2 ? (k.fft_long(c, n[s], _, l, f), k.fft_short(c, r[i], _, l, f)) : 2 == _ && me(), t[0] = n[s + 0][0], t[0] *= t[0]; @@ -14741,8 +14839,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } h[u] = o * m; for (var g = 0; g < c; g++) { - var w, S, M, y, A; - M = l[g], y = l[g + 1], (w = 0 | Math.floor(.5 + f * (M - .5))) < 0 && (w = 0), S = 0 | Math.floor(.5 + f * (y - .5)), _ / 2 < S && (S = _ / 2), a[g] = (p[w] + p[S]) / 2, t[g] = p[S]; + var S, w, M, y, A; + M = l[g], y = l[g + 1], (S = 0 | Math.floor(.5 + f * (M - .5))) < 0 && (S = 0), w = 0 | Math.floor(.5 + f * (y - .5)), _ / 2 < w && (w = _ / 2), a[g] = (p[S] + p[w]) / 2, t[g] = p[w]; var k = b * y; i[g] = (k - h[t[g]]) / (h[t[g] + 1] - h[t[g]]), i[g] < 0 ? i[g] = 0 : 1 < i[g] && (i[g] = 1), A = P(o * l[g] * f), A = Math.min(A, 15.5) / 15.5, r[g] = Math.pow(10, 1.25 * (1 - Math.cos(Math.PI * A)) - 2.5); } @@ -14764,7 +14862,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js u = ge([Ae.CBANDS, Ae.CBANDS]), h = 0; if (r) for (var b = 0; b < t; b++) for (i = 0; i < t; i++) { - var p = (o = a[b] - a[i], c = f = l = _ = void 0, _ = o, l = .5 <= (_ *= 0 <= _ ? 3 : 1.5) && _ <= 2.5 ? 8 * ((c = _ - .5) * c - 2 * c) : 0, ((f = 15.811389 + 7.5 * (_ += .474) - 17.5 * Math.sqrt(1 + _ * _)) <= -60 ? 0 : (_ = Math.exp((l + f) * w), _ /= .6609193)) * n[i]); + var p = (o = a[b] - a[i], c = f = l = _ = void 0, _ = o, l = .5 <= (_ *= 0 <= _ ? 3 : 1.5) && _ <= 2.5 ? 8 * ((c = _ - .5) * c - 2 * c) : 0, ((f = 15.811389 + 7.5 * (_ += .474) - 17.5 * Math.sqrt(1 + _ * _)) <= -60 ? 0 : (_ = Math.exp((l + f) * S), _ /= .6609193)) * n[i]); u[b][i] = p * s[b]; } else me(); for (var b = 0; b < t; b++) { @@ -14795,8 +14893,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js v, d, g = e.internal_flags, - w = ge([2, Ae.BLKSIZE]), - S = ge([2, 3, Ae.BLKSIZE_s]), + S = ge([2, Ae.BLKSIZE]), + w = ge([2, 3, Ae.BLKSIZE_s]), M = de(Ae.CBANDS + 1), y = de(Ae.CBANDS + 1), A = de(Ae.CBANDS + 2), @@ -14805,7 +14903,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js x = ge([2, 576]), B = ve(Ae.CBANDS + 2), T = ve(Ae.CBANDS + 2); - for (we.fill(T, 0), f = g.channels_out, e.mode == ye.JOINT_STEREO && (f = 4), d = e.VBR == Me.vbr_off ? 0 == g.ResvMax ? 0 : g.ResvSize / g.ResvMax * .5 : e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? .6 : 1, c = 0; c < g.channels_out; c++) { + for (Se.fill(T, 0), f = g.channels_out, e.mode == ye.JOINT_STEREO && (f = 4), d = e.VBR == Me.vbr_off ? 0 == g.ResvMax ? 0 : g.ResvSize / g.ResvMax * .5 : e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? .6 : 1, c = 0; c < g.channels_out; c++) { var E = t[c], C = a + 576 - 350 - 21 + 192; for (h = 0; h < 576; h++) { @@ -14836,7 +14934,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } for (e.analysis && me(), P = 3 == c ? g.nsPsy.attackthre_s : g.nsPsy.attackthre, h = 0; h < 12; h++) 0 == j[h / 3] && N[h] > P && (j[h / 3] = h % 3 + 1); for (h = 1; h < 4; h++) (O[h - 1] > O[h] ? O[h - 1] / O[h] : O[h] / O[h - 1]) < 1.7 && (j[h] = 0, 1 == h && (j[0] = 0)); - for (0 != j[0] && 0 != g.nsPsy.lastAttacks[c] && (j[0] = 0), 3 != g.nsPsy.lastAttacks[c] && j[0] + j[1] + j[2] + j[3] == 0 || ((V = 0) != j[1] && 0 != j[0] && (j[1] = 0), 0 != j[2] && 0 != j[1] && (j[2] = 0), 0 != j[3] && 0 != j[2] && (j[3] = 0)), c < 2 ? R[c] = V : me(), _[c] = g.tot_ener[c], se(e, X, Y, w, 1 & c, S, 1 & c, n, c, t, a), he(g, X, M, D, F), be(g, D, F, B), v = 0; v < 3; v++) { + for (0 != j[0] && 0 != g.nsPsy.lastAttacks[c] && (j[0] = 0), 3 != g.nsPsy.lastAttacks[c] && j[0] + j[1] + j[2] + j[3] == 0 || ((V = 0) != j[1] && 0 != j[0] && (j[1] = 0), 0 != j[2] && 0 != j[1] && (j[2] = 0), 0 != j[3] && 0 != j[2] && (j[3] = 0)), c < 2 ? R[c] = V : me(), _[c] = g.tot_ener[c], se(e, X, Y, S, 1 & c, w, 1 & c, n, c, t, a), he(g, X, M, D, F), be(g, D, F, B), v = 0; v < 3; v++) { var K, Z; for (le(e, Y, y, A, c, v), oe(g, y, A, c, v), m = 0; m < Ae.SBMAX_s; m++) { if (Z = g.thm[c].s[m][v], Z *= .8, 2 <= j[v] || 1 == j[v + 1]) { @@ -14865,8 +14963,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } for (e.mode != ye.STEREO && e.mode != ye.JOINT_STEREO || me(), e.mode == ye.JOINT_STEREO && me(), function (e, t, a, n) { var s = e.internal_flags; - e.short_blocks != Se.short_block_coupled || 0 != t[0] && 0 != t[1] || (t[0] = t[1] = 0); - for (var r = 0; r < s.channels_out; r++) n[r] = Ae.NORM_TYPE, e.short_blocks == Se.short_block_dispensed && (t[r] = 1), e.short_blocks == Se.short_block_forced && (t[r] = 0), 0 != t[r] ? s.blocktype_old[r] == Ae.SHORT_TYPE && (n[r] = Ae.STOP_TYPE) : (n[r] = Ae.SHORT_TYPE, s.blocktype_old[r] == Ae.NORM_TYPE && (s.blocktype_old[r] = Ae.START_TYPE), s.blocktype_old[r] == Ae.STOP_TYPE && (s.blocktype_old[r] = Ae.SHORT_TYPE)), a[r] = s.blocktype_old[r], s.blocktype_old[r] = n[r]; + e.short_blocks != we.short_block_coupled || 0 != t[0] && 0 != t[1] || (t[0] = t[1] = 0); + for (var r = 0; r < s.channels_out; r++) n[r] = Ae.NORM_TYPE, e.short_blocks == we.short_block_dispensed && (t[r] = 1), e.short_blocks == we.short_block_forced && (t[r] = 0), 0 != t[r] ? s.blocktype_old[r] == Ae.SHORT_TYPE && (n[r] = Ae.STOP_TYPE) : (n[r] = Ae.SHORT_TYPE, s.blocktype_old[r] == Ae.NORM_TYPE && (s.blocktype_old[r] = Ae.START_TYPE), s.blocktype_old[r] == Ae.STOP_TYPE && (s.blocktype_old[r] = Ae.SHORT_TYPE)), a[r] = s.blocktype_old[r], s.blocktype_old[r] = n[r]; }(e, R, l, k), c = 0; c < f; c++) { var ee, te, @@ -14922,7 +15020,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js g = D.MAX_VALUE; for (var v = 0; v < a.numlines_l[t]; v++, h++) { var d = u * h / (1e3 * Ae.BLKSIZE); - w = this.ATHformula(1e3 * d, e) - 20, w = Math.pow(10, .1 * w), (w *= a.numlines_l[t]) < g && (g = w); + S = this.ATHformula(1e3 * d, e) - 20, S = Math.pow(10, .1 * S), (S *= a.numlines_l[t]) < g && (g = S); } a.ATH.cb_l[t] = g, 6 < (g = 20 * l[t] / 10 - 20) && (g = 100), g < -15 && (g = -15), g -= 8, a.minval_l[t] = Math.pow(10, g / 10) * a.numlines_l[t]; } @@ -14931,14 +15029,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js p = o; l[t] >= s && (p = _ * (l[t] - s) / (24 - s) + o * (24 - l[t]) / (24 - s)), c[t] = Math.pow(10, p / 10), g = D.MAX_VALUE; for (var v = 0; v < a.numlines_s[t]; v++, h++) { - var w, + var S, d = u * h / (1e3 * Ae.BLKSIZE_s); - w = this.ATHformula(1e3 * d, e) - 20, w = Math.pow(10, .1 * w), (w *= a.numlines_s[t]) < g && (g = w); + S = this.ATHformula(1e3 * d, e) - 20, S = Math.pow(10, .1 * S), (S *= a.numlines_s[t]) < g && (g = S); } a.ATH.cb_s[t] = g, g = 7 * l[t] / 12 - 7, 12 < l[t] && (g *= 1 + 3.1 * Math.log(1 + g)), l[t] < 12 && (g *= 1 + 2.3 * Math.log(1 - g)), g < -15 && (g = -15), g -= 8, a.minval_s[t] = Math.pow(10, g / 10) * a.numlines_s[t]; } a.s3_ss = O(a.s3ind_s, a.npart_s, l, f, c, n), x = Math.pow(10, (C + 1) / 16), B = Math.pow(10, (I + 1) / 16), T = Math.pow(10, L / 10), k.init_fft(a), a.decay = Math.exp(-1 * R / (.01 * u / 192)), m = 3.5, 0 != (2 & e.exp_nspsytune) && (m = 1), 0 < Math.abs(e.msfix) && (m = e.msfix), e.msfix = m; - for (var S = 0; S < a.npart_l; S++) a.s3ind[S][1] > a.npart_l - 1 && (a.s3ind[S][1] = a.npart_l - 1); + for (var w = 0; w < a.npart_l; w++) a.s3ind[w][1] > a.npart_l - 1 && (a.s3ind[w][1] = a.npart_l - 1); var M = 576 * a.mode_gr / u; if (a.ATH.decay = Math.pow(10, -1.2 * M), a.ATH.adjust = .01, -(a.ATH.adjustLimit = 1) != e.ATHtype) { var y = e.out_samplerate / Ae.BLKSIZE, @@ -14946,8 +15044,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (t = d = 0; t < Ae.BLKSIZE / 2; ++t) d += y, a.ATH.eql_w[t] = 1 / Math.pow(10, this.ATHformula(d, e) / 10), A += a.ATH.eql_w[t]; for (A = 1 / A, t = Ae.BLKSIZE / 2; 0 <= --t;) a.ATH.eql_w[t] *= A; } - for (var S = h = 0; S < a.npart_s; ++S) for (t = 0; t < a.numlines_s[S]; ++t) ++h; - for (var S = h = 0; S < a.npart_l; ++S) for (t = 0; t < a.numlines_l[S]; ++t) ++h; + for (var w = h = 0; w < a.npart_s; ++w) for (t = 0; t < a.numlines_s[w]; ++t) ++h; + for (var w = h = 0; w < a.npart_l; ++w) for (t = 0; t < a.numlines_l[w]; ++t) ++h; for (t = h = 0; t < a.npart_l; t++) { var d = u * (h + a.numlines_l[t] / 2) / (1 * Ae.BLKSIZE); a.mld_cb_l[t] = N(d), h += a.numlines_l[t]; @@ -15144,7 +15242,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js f = n.scalefac_band.s[12] + _ * l; n.scalefac_band.psfb12[_] = f; } - for (n.scalefac_band.psfb12[Ae.PSFB12] = 192, 1 == e.version ? n.sideinfo_len = 1 == n.channels_out ? 21 : 36 : n.sideinfo_len = 1 == n.channels_out ? 13 : 21, e.error_protection && (n.sideinfo_len += 2), a = void 0, a = (t = e).internal_flags, t.frameNum = 0, t.write_id3tag_automatic && m.id3tag_write_v2(t), a.bitrate_stereoMode_Hist = w([16, 5]), a.bitrate_blockType_Hist = w([16, 6]), a.PeakSample = 0, t.bWriteVbrTag && p.InitVbrTag(t), n.Class_ID = I, i = 0; i < 19; i++) n.nsPsy.pefirbuf[i] = 700 * n.mode_gr * n.channels_out; + for (n.scalefac_band.psfb12[Ae.PSFB12] = 192, 1 == e.version ? n.sideinfo_len = 1 == n.channels_out ? 21 : 36 : n.sideinfo_len = 1 == n.channels_out ? 13 : 21, e.error_protection && (n.sideinfo_len += 2), a = void 0, a = (t = e).internal_flags, t.frameNum = 0, t.write_id3tag_automatic && m.id3tag_write_v2(t), a.bitrate_stereoMode_Hist = S([16, 5]), a.bitrate_blockType_Hist = S([16, 6]), a.PeakSample = 0, t.bWriteVbrTag && p.InitVbrTag(t), n.Class_ID = I, i = 0; i < 19; i++) n.nsPsy.pefirbuf[i] = 700 * n.mode_gr * n.channels_out; switch (-1 == e.ATHtype && (e.ATHtype = 4), e.VBR) { case Me.vbr_mt: e.VBR = Me.vbr_mtrh; @@ -15209,7 +15307,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js case 0: t.psymodel = 1, 0 == t.noise_shaping && (t.noise_shaping = 1), 0 == t.substep_shaping && (t.substep_shaping = 2), t.noise_shaping_amp = 2, -(t.noise_shaping_stop = 1) == t.subblock_gain && (t.subblock_gain = 1), t.use_best_huffman = 1, t.full_outer_loop = 0; } - }(e), e.athaa_type < 0 ? n.ATH.useAdjust = 3 : n.ATH.useAdjust = e.athaa_type, n.ATH.aaSensitivityP = Math.pow(10, e.athaa_sensitivity / -10), null == e.short_blocks && (e.short_blocks = Se.short_block_allowed), e.short_blocks != Se.short_block_allowed || e.mode != ye.JOINT_STEREO && e.mode != ye.STEREO || (e.short_blocks = Se.short_block_coupled), e.quant_comp < 0 && (e.quant_comp = 1), e.quant_comp_short < 0 && (e.quant_comp_short = 0), e.msfix < 0 && (e.msfix = 0), e.exp_nspsytune = 1 | e.exp_nspsytune, e.internal_flags.nsPsy.attackthre < 0 && (e.internal_flags.nsPsy.attackthre = X.NSATTACKTHRE), e.internal_flags.nsPsy.attackthre_s < 0 && (e.internal_flags.nsPsy.attackthre_s = X.NSATTACKTHRE_S), e.scale < 0 && (e.scale = 1), e.ATHtype < 0 && (e.ATHtype = 4), e.ATHcurve < 0 && (e.ATHcurve = 4), e.athaa_loudapprox < 0 && (e.athaa_loudapprox = 2), e.interChRatio < 0 && (e.interChRatio = 0), null == e.useTemporal && (e.useTemporal = !0), n.slot_lag = n.frac_SpF = 0, e.VBR == Me.vbr_off && (n.slot_lag = n.frac_SpF = 72e3 * (e.version + 1) * e.brate % e.out_samplerate | 0), h.iteration_init(e), v.psymodel_init(e), 0; + }(e), e.athaa_type < 0 ? n.ATH.useAdjust = 3 : n.ATH.useAdjust = e.athaa_type, n.ATH.aaSensitivityP = Math.pow(10, e.athaa_sensitivity / -10), null == e.short_blocks && (e.short_blocks = we.short_block_allowed), e.short_blocks != we.short_block_allowed || e.mode != ye.JOINT_STEREO && e.mode != ye.STEREO || (e.short_blocks = we.short_block_coupled), e.quant_comp < 0 && (e.quant_comp = 1), e.quant_comp_short < 0 && (e.quant_comp_short = 0), e.msfix < 0 && (e.msfix = 0), e.exp_nspsytune = 1 | e.exp_nspsytune, e.internal_flags.nsPsy.attackthre < 0 && (e.internal_flags.nsPsy.attackthre = X.NSATTACKTHRE), e.internal_flags.nsPsy.attackthre_s < 0 && (e.internal_flags.nsPsy.attackthre_s = X.NSATTACKTHRE_S), e.scale < 0 && (e.scale = 1), e.ATHtype < 0 && (e.ATHtype = 4), e.ATHcurve < 0 && (e.ATHcurve = 4), e.athaa_loudapprox < 0 && (e.athaa_loudapprox = 2), e.interChRatio < 0 && (e.interChRatio = 0), null == e.useTemporal && (e.useTemporal = !0), n.slot_lag = n.frac_SpF = 0, e.VBR == Me.vbr_off && (n.slot_lag = n.frac_SpF = 72e3 * (e.version + 1) * e.brate % e.out_samplerate | 0), h.iteration_init(e), v.psymodel_init(e), 0; }, this.lame_encode_flush = function (e, t, a, n) { var s, r, @@ -15253,7 +15351,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js if (N.NEQ(e.scale_left, 0) && N.NEQ(e.scale_left, 1)) for (_ = 0; _ < n; ++_) p[0][_] *= e.scale_left; if (N.NEQ(e.scale_right, 0) && N.NEQ(e.scale_right, 1)) for (_ = 0; _ < n; ++_) p[1][_] *= e.scale_right; 2 == e.num_channels && 1 == u.channels_out && me(), f = L(e), b[0] = u.mfbuf[0], b[1] = u.mfbuf[1]; - for (var m, v, d, g, w, S, M, y = 0; 0 < n;) { + for (var m, v, d, g, S, w, M, y = 0; 0 < n;) { var A = [null, null], k = 0, R = 0; @@ -15262,7 +15360,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js if (H(e, b, A, y, n, x), k = x.n_in, R = x.n_out, u.findReplayGain && !u.decode_on_the_fly && T.AnalyzeSamples(u.rgdata, b[0], u.mf_size, b[1], u.mf_size, R, u.channels_out) == O.GAIN_ANALYSIS_ERROR) return -6; if (n -= k, y += k, u.channels_out, u.mf_size += R, u.mf_samples_to_encode < 1 && me(), u.mf_samples_to_encode += R, u.mf_size >= f) { var B = i - h; - if (0 == i && (B = 0), m = e, v = b[0], d = b[1], g = s, w = r, S = B, M = C.enc.lame_encode_mp3_frame(m, v, d, g, w, S), m.frameNum++, (o = M) < 0) return o; + if (0 == i && (B = 0), m = e, v = b[0], d = b[1], g = s, S = r, w = B, M = C.enc.lame_encode_mp3_frame(m, v, d, g, S, w), m.frameNum++, (o = M) < 0) return o; for (r += o, h += o, u.mf_size -= e.framesize, u.mf_samples_to_encode -= e.framesize, l = 0; l < u.channels_out; l++) for (_ = 0; _ < u.mf_size; _++) b[l][_] = b[l][_ + e.framesize]; } } @@ -15405,14 +15503,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js v.num_channels = n, v.in_samplerate = e, v.out_samplerate = e, v.brate = t, v.mode = ye.STEREO, v.quality = 3, v.bWriteVbrTag = !1, v.disable_reservoir = !0, v.write_id3tag_automatic = !1, s.lame_init_params(v); var d = 1152, g = 0 | 1.25 * d + 7200, - w = S(g); + S = w(g); this.encodeBuffer = function (e, t) { - 1 == n && (t = e), e.length > d && (d = e.length, w = S(g = 0 | 1.25 * d + 7200)); - var a = s.lame_encode_buffer(v, e, t, e.length, w, 0, g); - return new Int8Array(w.subarray(0, a)); + 1 == n && (t = e), e.length > d && (d = e.length, S = w(g = 0 | 1.25 * d + 7200)); + var a = s.lame_encode_buffer(v, e, t, e.length, S, 0, g); + return new Int8Array(S.subarray(0, a)); }, this.flush = function () { - var e = s.lame_encode_flush(v, w, 0, g); - return new Int8Array(w.subarray(0, e)); + var e = s.lame_encode_flush(v, S, 0, g); + return new Int8Array(S.subarray(0, e)); }; }; } @@ -18289,7 +18387,7 @@ function mixin() { function setup(options) { return assign_1(setupDefaults_1, options); } -XEUtils.VERSION = '3.5.29'; +XEUtils.VERSION = '3.6.0'; XEUtils.mixin = mixin; XEUtils.setup = setup; var ctor = XEUtils; @@ -19357,10 +19455,14 @@ function toArrayTree(array, options) { } parentId = item[optParentKey]; treeMap[id] = treeMap[id] || []; - treeMap[parentId] = treeMap[parentId] || []; - treeMap[parentId].push(treeData); treeData[optKey] = id; treeData[optParentKey] = parentId; + if (id === parentId) { + parentId = null; + console.log('Fix infinite Loop.', item); + } + treeMap[parentId] = treeMap[parentId] || []; + treeMap[parentId].push(treeData); treeData[optChildren] = treeMap[id]; if (optMapChildren) { treeData[optMapChildren] = treeMap[id]; @@ -19378,18 +19480,24 @@ function toArrayTree(array, options) { } var toArrayTree_1 = toArrayTree; -function unTreeList(result, array, opts) { +function unTreeList(result, parentItem, array, opts) { + var optKey = opts.key; + var optParentKey = opts.parentKey; var optChildren = opts.children; var optData = opts.data; + var optUpdated = opts.updated; var optClear = opts.clear; - each_1(array, function (item) { - var children = item[optChildren]; + arrayEach_1(array, function (item) { + var childList = item[optChildren]; if (optData) { item = item[optData]; } + if (optUpdated !== false) { + item[optParentKey] = parentItem ? parentItem[optKey] : null; + } result.push(item); - if (children && children.length) { - unTreeList(result, children, opts); + if (childList && childList.length) { + unTreeList(result, item, childList, opts); } if (optClear) { delete item[optChildren]; @@ -19406,7 +19514,7 @@ function unTreeList(result, array, opts) { * @return {Array} */ function toTreeArray(array, options) { - return unTreeList([], array, assign_1({}, setupDefaults_1.treeOptions, options)); + return unTreeList([], null, array, assign_1({}, setupDefaults_1.treeOptions, options)); } var toTreeArray_1 = toTreeArray; @@ -20992,7 +21100,7 @@ var divide_1 = divide; */ function sum(array, iterate, context) { var result = 0; - each_1(array, iterate ? isFunction_1(iterate) ? function () { + each_1(array && array.length > 2 && isArray_1(array) ? array.sort() : array, iterate ? isFunction_1(iterate) ? function () { result = helperNumberAdd_1(result, iterate.apply(context, arguments)); } : function (val) { result = helperNumberAdd_1(result, get_1(val, iterate)); @@ -21218,21 +21326,52 @@ function getWhatWeek(date, offsetWeek, offsetDay, firstDay) { } var getWhatWeek_1 = getWhatWeek; -function helperCreateGetDateWeek(getStartDate) { +var nextStartMaps = map_1(range_1(0, 7), function (day) { + return [(day + 1) % 7, (day + 2) % 7, (day + 3) % 7]; +}); +function matchWeekStartDay(time, viewStartDay) { + var day = new Date(time).getDay(); + return includes_1(nextStartMaps[viewStartDay], day); +} +function helperCreateGetDateWeek(getStartDate, checkCrossDate) { return function (date, firstDay) { var viewStartDay = isNumber_1(firstDay) ? firstDay : setupDefaults_1.firstDayOfWeek; - var targetDate = getWhatWeek_1(date, 0, viewStartDay, viewStartDay); + var targetDate = toStringDate_1(date); if (isValidDate_1(targetDate)) { - var targetOffsetDate = new Date(targetDate.getFullYear(), targetDate.getMonth(), targetDate.getDate()); - var targerStartDate = getStartDate(targetDate); - var targetFirstDay = targerStartDate.getDay(); - if (targetFirstDay > viewStartDay) { - targerStartDate.setDate(7 - targetFirstDay + viewStartDay + 1); + var targetWeekStartDate = getWhatWeek_1(targetDate, 0, viewStartDay, viewStartDay); + var firstDate = getStartDate(targetWeekStartDate); + var firstTime = helperGetDateTime_1(firstDate); + var targetWeekStartTime = helperGetDateTime_1(targetWeekStartDate); + var targetWeekEndTime = targetWeekStartTime + staticDayTime_1 * 6; + var targetWeekEndDate = new Date(targetWeekEndTime); + var firstWeekStartDate = getWhatWeek_1(firstDate, 0, viewStartDay, viewStartDay); + var firstWeekStartTime = helperGetDateTime_1(firstWeekStartDate); + if (targetWeekStartTime === firstWeekStartTime) { + return 1; } - if (targetFirstDay < viewStartDay) { - targerStartDate.setDate(viewStartDay - targetFirstDay + 1); + var tempTime; + if (checkCrossDate(targetWeekStartDate, targetWeekEndDate)) { + tempTime = helperGetDateTime_1(getStartDate(targetWeekEndDate)); + for (; tempTime < targetWeekEndTime; tempTime += staticDayTime_1) { + if (matchWeekStartDay(tempTime, viewStartDay)) { + return 1; + } + } } - return Math.floor((helperGetDateTime_1(targetOffsetDate) - helperGetDateTime_1(targerStartDate)) / staticWeekTime_1 + 1); + var firstWeekEndTime = firstWeekStartTime + staticDayTime_1 * 6; + var firstWeekEndDate = new Date(targetWeekEndTime); + var offsetNum = 1; + if (checkCrossDate(firstWeekStartDate, firstWeekEndDate)) { + offsetNum = 0; + tempTime = firstTime; + for (; tempTime < firstWeekEndTime; tempTime += staticDayTime_1) { + if (matchWeekStartDay(tempTime, viewStartDay)) { + offsetNum++; + break; + } + } + } + return Math.floor((targetWeekStartTime - firstWeekStartTime) / staticWeekTime_1) + offsetNum; } return NaN; }; @@ -21248,6 +21387,8 @@ var helperCreateGetDateWeek_1 = helperCreateGetDateWeek; */ var getYearWeek = helperCreateGetDateWeek_1(function (targetDate) { return new Date(targetDate.getFullYear(), 0, 1); +}, function (date1, date2) { + return date1.getFullYear() !== date2.getFullYear(); }); var getYearWeek_1 = getYearWeek; @@ -21465,6 +21606,8 @@ var isDateSame_1 = isDateSame; */ var getMonthWeek = helperCreateGetDateWeek_1(function (targetDate) { return new Date(targetDate.getFullYear(), targetDate.getMonth(), 1); +}, function (date1, date2) { + return date1.getMonth() !== date2.getMonth(); }); var getMonthWeek_1 = getMonthWeek; @@ -22893,7 +23036,7 @@ var Prism = function (_self) { } clone = []; visited[id] = clone; - ( /** @type {Array} */ /** @type {any} */o).forEach(function (v, i) { + (/** @type {Array} */ /** @type {any} */o).forEach(function (v, i) { clone[i] = deepClone(v, visited); }); return /** @type {any} */clone; @@ -23136,7 +23279,7 @@ var Prism = function (_self) { * @public */ insertBefore: function (inside, before, insert, root) { - root = root || ( /** @type {any} */_.languages); + root = root || (/** @type {any} */_.languages); var grammar = root[inside]; /** @type {Grammar} */ var ret = {}; @@ -50444,14 +50587,20 @@ var script$7 = { tippyTplNoteId: `tipnote-tpl__${v4()}`, actionCopyId: `act-copy__${v4()}`, actionNoteId: `act-note__${v4()}`, + actionErrorId: `act-error__${v4()}`, + actionErrorTextId: `act-error__${v4()}`, actionHighlightId: `act-light__${v4()}`, - actionLinkId: `act-light__${v4()}`, - actionEncyclopediasId: `act-light__${v4()}`, - actionDictionaryId: `act-light__${v4()}`, + actionLinkId: `act-link__${v4()}`, + actionAiId: `act-ai__${v4()}`, + actionEncyclopediasId: `act-encyclopedias__${v4()}`, + actionDictionaryId: `act-dictionary__${v4()}`, addTeacherResourcesId: `add-teacher-resources__${v4()}`, noteInputId: `note_input__${v4()}`, + errorInputId: `err_input__${v4()}`, actNoteCancelId: `act-cancel__${v4()}`, actNoteConfirmId: `act-confirm__${v4()}`, + errorConfirmId: `err-cancel__${v4()}`, + errorCancelId: `err-confirm__${v4()}`, editNoteTplId: `editnote-tpl__${v4()}`, actNoteDeleteId: `act-delete__${v4()}`, actNoteEditId: `act-edit__${v4()}`, @@ -50465,9 +50614,14 @@ var script$7 = { selectionText: '', content: '' }, + noteError: { + selectionText: '', + content: '' + }, tempMarkEfiStr: '', isMobile: false, - notePopupVisible: false + notePopupVisible: false, + errorPopupVisible: false }; }, inject: { @@ -50518,6 +50672,10 @@ var script$7 = { getSysEvn: { from: 'getSysEvn', default: () => () => {} + }, + getIsShowAi: { + from: 'getIsShowAi', + default: () => () => false } // callFnReplaceKeywordsInHTML: { // from: 'replaceKeywordsInHTML', @@ -50558,6 +50716,9 @@ var script$7 = { tippy: {} }; }, + isShowAi() { + return this.getIsShowAi(); + }, mergeMarkList() { let teacherNoteList = this.getTeacherNoteList() || [], studentNoteList = this.getStudentNoteList() || [], @@ -50670,6 +50831,15 @@ var script$7 = { }] }); }); + const getFileUrl = url => { + if (url) { + if (url.indexOf('./') === -1) { + return url; + } + return `${_this.resourceBasisPath}${url.split('./')[1]}`; + } + return ''; + }; jquery(containerSelector).on('click', 'magic-link', function (e) { let { plaintext, @@ -50691,7 +50861,7 @@ var script$7 = { multiple: true, nowImgIndex: 0, imgList: [{ - url: content, + url: getFileUrl(content), title: plaintext }] }); @@ -50701,7 +50871,7 @@ var script$7 = { _this.$EventBus.$emit('handleMagicLinkAudioPlay', { plaintext, title, - content, + content: getFileUrl(content), type, isPlaying, targetId: e.target.id, @@ -50715,7 +50885,7 @@ var script$7 = { _this.$EventBus.$emit('handleMagicLinkVideoPlay', { plaintext, title, - content, + content: getFileUrl(content), type, isPlaying, targetId: e.target.id, @@ -50891,6 +51061,10 @@ var script$7 = { _this.openDictionary(); } else if (data.type == 'encyclopedias' && data.tippyTplBarId == _this.tippyTplBarId) { _this.openEncyclopedias(); + } else if (data.type == 'error' && data.tippyTplBarId == _this.tippyTplBarId) { + _this.actionAddError(); + } else if (data.type == 'Ai' && data.tippyTplBarId == _this.tippyTplBarId) { + _this.actionOpenAi(); } _this.$EventBus.$emit('selectionTextChange', { state: false, @@ -50926,6 +51100,22 @@ var script$7 = { } else { this.updateCodeBlock(); } + let ADom = document.getElementById(this.blockId).getElementsByTagName('a') || []; + if (ADom) { + for (let i = 0; i < ADom.length; i++) { + // if (JSON.stringify(this.releaseUrlList).indexOf(ADom[i].href) == -1) { + let href = ADom[i].href; + ADom[i].href = 'javascript: void(0)'; + ADom[i].onclick = function (e) { + _this.$EventBus.$emit('openTextHyperlink', { + href: href + }); + e.preventDefault(); + return false; + }; + // } + } + } }); }, beforeDestroy() { @@ -51148,6 +51338,7 @@ var script$7 = { return; } _this.noteData.selectionText = text; + _this.noteError.selectionText = text; const templateBar = document.getElementById(_this.tippyTplBarId); // let HTMLContentClone = $J(`#${_this.tippyTplBarId}`)?.clone(true,true)?.get(0) let content = templateBar?.innerHTML || '选区解析错误'; @@ -51178,10 +51369,13 @@ var script$7 = { actNote = instance.popper.children[0]?.querySelector(`#${_this.actionNoteId}`), actHighlight = instance.popper.children[0]?.querySelector(`#${_this.actionHighlightId}`), actLink = instance.popper.children[0]?.querySelector(`#${_this.actionLinkId}`), + actAi = instance.popper.children[0]?.querySelector(`#${_this.actionAiId}`), addTeacherResources = instance.popper.children[0]?.querySelector(`#${_this.addTeacherResourcesId}`), actionDictionary = instance.popper.children[0]?.querySelector(`#${_this.actionDictionaryId}`), //词典 - actionEncyclopedias = instance.popper.children[0]?.querySelector(`#${_this.actionEncyclopediasId}`); //百科 + actionEncyclopedias = instance.popper.children[0]?.querySelector(`#${_this.actionEncyclopediasId}`), + //百科 + actionError = instance.popper.children[0]?.querySelector(`#${_this.actionErrorId}`); //纠错 if (actCopy) { actCopy.addEventListener('click', _this.actionCopy, { @@ -51191,6 +51385,14 @@ var script$7 = { if (actNote) { actNote.addEventListener('click', _this.actionAddNote); } + if (actionError) { + actionError.addEventListener('click', _this.actionAddError); + } + if (actionDictionary) { + actionDictionary.addEventListener('click', _this.openDictionary, { + once: true + }); + } if (actHighlight) { actHighlight.addEventListener('click', _this.actionAddHighlight, { once: true @@ -51201,6 +51403,11 @@ var script$7 = { once: true }); } + if (actAi) { + actAi.addEventListener('click', _this.actionOpenAi, { + once: true + }); + } if (addTeacherResources) { addTeacherResources.addEventListener('click', _this.addTeacherResources, { once: true @@ -51262,7 +51469,12 @@ var script$7 = { this.$message.error('未选中任何内容'); return; } - document.execCommand('copy'); + let oInput = document.createElement('input'); + oInput.value = this.noteData.selectionText; + document.body.appendChild(oInput); + oInput.select(); + document.execCommand('Copy'); + oInput.remove(); this.$message.success('复制成功'); this.hideTippy(); this.markEfiStr = ''; @@ -51270,7 +51482,9 @@ var script$7 = { selectionText: '', content: '' }; - window.getSelection()?.removeAllRanges(); + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); }, cancelEditNote(instance) { this.noteEditData = { @@ -51408,7 +51622,7 @@ var script$7 = { } }, actionAddNote(e) { - console.log("eejieeieie", e); + console.log('eejieeieie', e); // @pos 添加笔记 // e?.stopPropagation && e.stopPropagation() let _this = this; @@ -51457,7 +51671,134 @@ var script$7 = { this.hideTippy(); this.notePopupVisible = true; } - window.getSelection()?.removeAllRanges(); + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); + }, + // 添加纠错 + actionAddError(e) { + console.log('eejieeieie', e); + // @pos 添加纠错 + // e?.stopPropagation && e.stopPropagation() + let _this = this; + this.noteOperateMode = 'add'; + this.evn.noteStyle; + // _this.markInstance.underline(_this.markEfiStr, defaultUnderlineStyle, (e) => { + // try { + // // 下划线点击事件, 比如打开编辑框 + // let markEfiStr = e.target.getAttribute('data-id') + // console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', 'UnderlineClick', e, markEfiStr) + // _this.noteClick(e, markEfiStr) + // } catch (error) { + // console.log('%c%s', 'font-size:2em;background: #DD5644;color: #FFF', 'underline error', error) + // } + // }) + _this.tempMarkEfiStr = _this.markEfiStr; + _this.noteError.content = ''; + console.log('this.isMobile', this.isMobile); + if (!this.isMobile) { + const templateNote = document.getElementById(_this.actionErrorTextId); + let content = templateNote?.innerHTML || '笔记面板加载错误'; + _this.activeTippy[0].setProps({ + content, + onAfterUpdate: instance => { + // @pos 更新tippy + _this.noteEventController = new AbortController(); + let errorCancel = instance.popper.children[0]?.querySelector(`#${_this.errorCancelId}`), + errorConfirm = instance.popper.children[0]?.querySelector(`#${_this.errorConfirmId}`), + noteInput = instance.popper.children[0]?.querySelector(`#${_this.errorInputId}`); + if (errorCancel && noteInput) { + errorCancel.addEventListener('click', _this.cancelAddNote, { + once: true + }); + } + if (errorConfirm) { + errorConfirm.addEventListener('click', () => _this.confirmAddError(noteInput), { + signal: _this.noteEventController.signal + }); + } + }, + onUntrigger: instance => { + console.log('%c%s', 'font-size:2em;background: #DD5644;color: #FFF', 'Untrigger'); + } + }); + } else { + this.hideTippy(); + this.errorPopupVisible = true; + } + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); + }, + // 提交纠错 + confirmAddError(content) { + let noteContent = content?.value || ''; + console.log('%c%s', 'font-size:2em;background: #DD5644;color: #FFF', '内容', noteContent); + if (!noteContent) { + this.$message.error('请输入反馈内容'); + return; + } + if (!noteContent.trim()) { + this.$message.error('反馈内容不能为空!'); + return; + } + this.hideTippy(); + let markId = `mark__${v4()}`; + let noteModel = { + selectionText: this.noteError.selectionText, + noteContent, + markEfiCode: this.markEfiStr, + type: `note__${this.userType}`, + styleType: this.evn.noteStyle, + blockIndex: this.ruleIndex, + markId + }; + this.tempMarkEfiStr = ''; + this.noteError = { + selectionText: '', + content: '' + }; + if (this.userType && this.insideIndex === this.ruleIndex) { + let rollbackMark = this.markEfiStr; + this.emitRollbackHandler('createError', noteModel).then(id => { + id === markId && _this.markInstance.remove(rollbackMark, 'underline'); + }); + } + this.errorPopupVisible = false; + }, + confirmAddErrorPhone() { + let noteContent = this.noteError.content; + console.log('%c%s', 'font-size:2em;background: #DD5644;color: #FFF', '内容', noteContent); + if (!noteContent) { + this.$message.error('请输入反馈内容'); + return; + } + if (this.noteOperateMode === 'edit') { + this.confirmEditStudentNote(noteContent); + return; + } + let markId = `mark__${v4()}`; + let noteModel = { + selectionText: this.noteError.selectionText, + noteContent, + markEfiCode: this.markEfiStr, + type: `note__${this.userType}`, + styleType: this.evn.noteStyle, + blockIndex: this.ruleIndex, + markId + }; + this.tempMarkEfiStr = ''; + this.noteError = { + selectionText: '', + content: '' + }; + if (this.userType && this.insideIndex === this.ruleIndex) { + let rollbackMark = this.markEfiStr; + this.emitRollbackHandler('createError', noteModel).then(id => { + id === markId && _this.markInstance.remove(rollbackMark, 'underline'); + }); + } + this.errorPopupVisible = false; }, confirmAddStudentNote() { let noteContent = this.noteData.content; @@ -51555,7 +51896,9 @@ var script$7 = { id === markId && _this.markInstance.remove(rollbackMark, 'highlight'); }); } - window.getSelection()?.removeAllRanges(); + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); }, actionAddLink() { let _this = this; @@ -51586,7 +51929,21 @@ var script$7 = { id === markId && _this.markInstance.remove(rollbackMark, 'underline'); }); } - window.getSelection()?.removeAllRanges(); + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); + }, + // 打开Ai解析 + actionOpenAi() { + if (this.noteData.selectionText) { + this.emitRollbackHandler('openAiParsing', { + text: this.noteData.selectionText + }); + } + this.hideTippy(); + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); }, highlightClick(e, efi) { console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', 'HighLight Click', e, this.markEfiStr); @@ -51890,18 +52247,6 @@ var __vue_render__$7 = function () { ] : _vm._e(), _vm._v(" "), - _c("span", { - directives: [ - { - name: "show", - rawName: "v-show", - value: _vm.isMobile, - expression: "isMobile", - }, - ], - staticClass: "tipbar-separator--mobile", - }), - _vm._v(" "), _vm.evn.tippy.resources ? _c( "div", @@ -51968,7 +52313,7 @@ var __vue_render__$7 = function () { attrs: { id: _vm.actionHighlightId }, }, [ - _vm.evn.tippy.highlight + _vm.evn.tippy.highlightIcon ? _c("i", { staticClass: "tipbar-icon", class: _vm.evn.tippy.highlightIcon, @@ -51981,6 +52326,40 @@ var __vue_render__$7 = function () { ] : _vm._e(), _vm._v(" "), + _vm.evn.tippy.error + ? [ + _vm.evn.tippy.noteLine + ? _c("span", { staticClass: "tipbar-separator" }, [ + _vm._v("|"), + ]) + : _vm._e(), + _vm._v(" "), + _c( + "div", + { + staticClass: "tipbar-action", + attrs: { id: _vm.actionErrorId }, + on: { + click: function ($event) { + $event.stopPropagation(); + return _vm.actionAddError.apply(null, arguments) + }, + }, + }, + [ + _vm.evn.tippy.errorIcon + ? _c("i", { + staticClass: "tipbar-icon", + class: _vm.evn.tippy.errorIcon, + }) + : _vm._e(), + _vm._v(" "), + _c("span", [_vm._v("纠错")]), + ] + ), + ] + : _vm._e(), + _vm._v(" "), _vm.evn.tippy.link ? [ _c( @@ -52019,6 +52398,44 @@ var __vue_render__$7 = function () { ] : _vm._e(), _vm._v(" "), + _vm.evn.tippy.Ai && _vm.isShowAi + ? [ + _c( + "span", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.evn.tippy.AiLine, + expression: "evn.tippy.AiLine", + }, + ], + staticClass: "tipbar-separator", + }, + [_vm._v("|")] + ), + _vm._v(" "), + _c( + "div", + { + staticClass: "tipbar-action", + attrs: { id: _vm.actionAiId }, + }, + [ + _vm.evn.tippy.AiIcon + ? _c("i", { + staticClass: "tipbar-icon", + class: _vm.evn.tippy.AiIcon, + }) + : _vm._e(), + _vm._v(" "), + _c("span", [_vm._v(_vm._s(_vm.evn.tippy.AiName))]), + ] + ), + ] + : _vm._e(), + _vm._v(" "), _vm.evn.tippy.dictionary ? [ _vm.evn.tippy.dictionaryLine @@ -52152,6 +52569,75 @@ var __vue_render__$7 = function () { ] ), _vm._v(" "), + _c( + "div", + { + staticStyle: { display: "none" }, + attrs: { id: _vm.actionErrorTextId }, + }, + [ + _c("div", { staticClass: "tipnote tipnote-tpl" }, [ + _c("div", { staticClass: "tipnote-title" }, [ + _vm._v(_vm._s(_vm.noteError.selectionText)), + ]), + _vm._v(" "), + _c("textarea", { + directives: [ + { + name: "model", + rawName: "v-model.trim", + value: _vm.noteError.content, + expression: "noteError.content", + modifiers: { trim: true }, + }, + ], + ref: "tippyTextarea", + staticClass: "tipnote-textarea", + attrs: { + id: _vm.errorInputId, + placeholder: "请输入反馈内容", + maxlength: "200", + rows: "5", + }, + domProps: { value: _vm.noteError.content }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.noteError, "content", $event.target.value.trim()); + }, + blur: function ($event) { + return _vm.$forceUpdate() + }, + }, + }), + _vm._v(" "), + _c("div", { staticClass: "tipnote-footer" }, [ + _c( + "div", + { + staticClass: "tipnote-btn cancel", + attrs: { id: _vm.errorCancelId }, + on: { click: _vm.cancelAddNote }, + }, + [_c("span", [_vm._v("取消")])] + ), + _vm._v(" "), + _c( + "div", + { + staticClass: "tipnote-btn confirm", + attrs: { id: _vm.errorConfirmId }, + on: { click: _vm.confirmAddError }, + }, + [_c("span", [_vm._v("确认")])] + ), + ]), + ]), + ] + ), + _vm._v(" "), _c( "div", { staticStyle: { display: "none" }, attrs: { id: _vm.editNoteTplId } }, @@ -52330,6 +52816,133 @@ var __vue_render__$7 = function () { ] ) : _vm._e(), + _vm._v(" "), + _vm.isMobile + ? _c( + "van-popup", + { + style: { backgroundColor: "transparent" }, + attrs: { "get-container": "body", position: "bottom" }, + on: { "click-overlay": _vm.resetTempNote }, + model: { + value: _vm.errorPopupVisible, + callback: function ($$v) { + _vm.errorPopupVisible = $$v; + }, + expression: "errorPopupVisible", + }, + }, + [ + _c( + "div", + { + staticClass: "xml-reader-phone-mark-note-popup", + class: [ + _vm.toolbarVisible && + !_vm.keyboardShow && + "is-toolbar-shown", + _vm.keyboardShow && "keyboard-show", + _vm.toolbarVisible && "toolbar-show", + ], + on: { + click: function ($event) { + $event.stopPropagation(); + }, + }, + }, + [ + _c("div", { staticClass: "mark-note__selection" }, [ + _c("div", [_vm._v(_vm._s(_vm.noteError.selectionText))]), + ]), + _vm._v(" "), + _c("section", { staticClass: "mark-note__wrap" }, [ + _c("textarea", { + directives: [ + { + name: "model", + rawName: "v-model.trim", + value: _vm.noteError.content, + expression: "noteError.content", + modifiers: { trim: true }, + }, + ], + ref: "popupTextarea", + staticClass: "mark-note__textarea", + attrs: { + placeholder: "添加反馈...", + maxlength: "200", + rows: "5", + }, + domProps: { value: _vm.noteError.content }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.noteError, + "content", + $event.target.value.trim() + ); + }, + blur: function ($event) { + return _vm.$forceUpdate() + }, + }, + }), + _vm._v(" "), + _c("div", { staticClass: "mark-note__footer" }, [ + _c("div", { staticClass: "mark-note__count" }, [ + _vm._v(_vm._s(_vm.noteError.content.length) + "/200"), + ]), + _vm._v(" "), + _vm.noteOperateMode === "edit" + ? _c( + "div", + { + staticClass: "mark-note__delete", + on: { + click: function ($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.deleteStudentNote.apply( + null, + arguments + ) + }, + }, + }, + [_vm._v("删除")] + ) + : _vm._e(), + _vm._v(" "), + _c( + "div", + { + staticClass: "mark-note__confirm", + class: _vm.noteError.content.length && "enable", + on: { + click: function ($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.confirmAddErrorPhone.apply( + null, + arguments + ) + }, + }, + }, + [_vm._v("\n 提交\n ")] + ), + ]), + ]), + ] + ), + ] + ) + : _vm._e(), ], 2 ) @@ -52340,7 +52953,7 @@ __vue_render__$7._withStripped = true; /* style */ const __vue_inject_styles__$7 = undefined; /* scoped */ - const __vue_scope_id__$7 = "data-v-e037ecc2"; + const __vue_scope_id__$7 = "data-v-ab7c5c76"; /* module identifier */ const __vue_module_identifier__$7 = undefined; /* functional template */ diff --git a/src/plugin/xml-digital-teaching/lib/imageText.min.css b/src/plugin/xml-digital-teaching/lib/imageText.min.css index 76d1396..fdc2944 100644 --- a/src/plugin/xml-digital-teaching/lib/imageText.min.css +++ b/src/plugin/xml-digital-teaching/lib/imageText.min.css @@ -1 +1 @@ -.xml-text-h5 .inline-audio-wrap,.xml-text-h5 .inline-link-wrap{align-items:center}.xml-text-h5 .inline-audio-wrap span,.xml-text-h5 .inline-link-wrap span{display:inline-block}.xml-text-h5 .inline-audio-box{width:20px;height:20px;box-sizing:border-box;position:relative;margin-left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol{width:20px;height:20px;box-sizing:border-box;overflow:hidden;transform:rotate(135deg);position:relative}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle{border:3px solid #418eed;border-radius:50%;position:absolute}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.first{width:3px;height:3px;background:#0076bc;top:14px;left:14px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.second{width:15px;height:15px;top:10px;left:10px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.third{width:24px;height:24px;top:6px;left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .second{animation:fadeInOut 1s infinite .2s}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .third{animation:fadeInOut 1s infinite .4s}@keyframes fadeInOut{0%{opacity:0}100%{opacity:1}}.virtual-input .el-textarea__inner{min-height:0!important;height:0!important;padding:0!important;margin:0!important;border:none!important}.xml-image-lun-bo .el-carousel__item{text-align:center}.el-image__inner[data-v-4910c4a4]{width:100%!important}.xml-image-ping-pu-h5[data-v-4910c4a4]{display:flex;flex-direction:column;align-items:center}.xml-image-hua-lang[data-v-4910c4a4]{display:flex;flex-direction:column;align-items:center} \ No newline at end of file +.xml-image-lun-bo .el-carousel__item{text-align:center}.xml-text-h5 .inline-audio-wrap,.xml-text-h5 .inline-link-wrap{align-items:center}.xml-text-h5 .inline-audio-wrap span,.xml-text-h5 .inline-link-wrap span{display:inline-block}.xml-text-h5 .inline-audio-box{width:20px;height:20px;box-sizing:border-box;position:relative;margin-left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol{width:20px;height:20px;box-sizing:border-box;overflow:hidden;transform:rotate(135deg);position:relative}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle{border:3px solid #418eed;border-radius:50%;position:absolute}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.first{width:3px;height:3px;background:#0076bc;top:14px;left:14px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.second{width:15px;height:15px;top:10px;left:10px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.third{width:24px;height:24px;top:6px;left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .second{animation:fadeInOut 1s infinite .2s}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .third{animation:fadeInOut 1s infinite .4s}@keyframes fadeInOut{0%{opacity:0}100%{opacity:1}}.virtual-input .el-textarea__inner{min-height:0!important;height:0!important;padding:0!important;margin:0!important;border:none!important}.el-image__inner[data-v-4910c4a4]{width:100%!important}.xml-image-ping-pu-h5[data-v-4910c4a4]{display:flex;flex-direction:column;align-items:center}.xml-image-hua-lang[data-v-4910c4a4]{display:flex;flex-direction:column;align-items:center} \ No newline at end of file diff --git a/src/plugin/xml-digital-teaching/lib/index.css b/src/plugin/xml-digital-teaching/lib/index.css index 0890e87..bf3c9c4 100644 --- a/src/plugin/xml-digital-teaching/lib/index.css +++ b/src/plugin/xml-digital-teaching/lib/index.css @@ -3,35 +3,35 @@ color: #888; } -.preview-container-h5[data-v-d6f2886a] { +.preview-container-h5[data-v-11f5d95c] { padding-top: 15px; } -.preview-container-pc[data-v-d6f2886a] { +.preview-container-pc[data-v-11f5d95c] { padding-top: 15px; } -.preview-container-pad[data-v-d6f2886a] { +.preview-container-pad[data-v-11f5d95c] { padding-top: 15px; } -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog { +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog { display: flex; align-items: center; } -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog:not(.is-fullscreen) { +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog:not(.is-fullscreen) { margin-top: 0 !important; } -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__header { +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__header { padding: 0; } -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .custom-dialog { +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .custom-dialog { background-color: transparent; box-shadow: none; } -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__body { +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__body { padding: 20px 18px; position: relative; background: linear-gradient(-45deg, transparent 11px, #fff 0); } -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .top-line { +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .top-line { position: absolute; top: 0; left: 0; @@ -39,24 +39,24 @@ height: 4px; background: linear-gradient(90deg, #4994fb, #4994fb, #a2c5f9); } -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper { +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper { max-height: 60vh; overflow-y: scroll; } -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper::-webkit-scrollbar { +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper::-webkit-scrollbar { width: 0; } -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h1, -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h2, -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h3, -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h4, -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h5, -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h6 { +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h1, +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h2, +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h3, +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h4, +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h5, +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h6 { color: revert; font-size: revert; font-weight: revert; } -.preview-container[data-v-d6f2886a] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .bottom-triangle { +.preview-container[data-v-11f5d95c] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .bottom-triangle { position: absolute; bottom: 0; right: 0; @@ -384,24 +384,49 @@ +.xml-show-catalog .el-tree-node__content { + display: flex !important; +} + -/*# sourceMappingURL=XmlGroup.vue.map */ +.xml-text-h5[data-v-ab7c5c76] { +} +.xml-text-pc[data-v-ab7c5c76] { +} +.xml-text-h5[data-v-ab7c5c76] { +} + /*# sourceMappingURL=XmlTextDialog.vue.map */ +.catalog-node-label[data-v-179d841f] { + display: flex; + align-items: center; +} +.catalog-node-label img[data-v-179d841f] { + margin-right: 4px; +} +.xml-show-catalog[data-v-179d841f] .el-tree-node__content { + height: auto; +} +.xml-show-catalog[data-v-179d841f] .el-tree-node__content .catalog-node-label { + max-width: calc(100% - 24px); + word-break: break-all; + white-space: normal; +} -.xml-image-lun-bo .el-carousel__item { - text-align: center; +/*# sourceMappingURL=XmlCatalog.vue.map */ + +.xml-question-container-h5[data-v-64e4f348] { +} +.xml-question-container-pc[data-v-64e4f348] { +} +.xml-question-container-pad[data-v-64e4f348] { } -.xml-text-h5[data-v-e037ecc2] { -} -.xml-text-pc[data-v-e037ecc2] { -} -.xml-text-h5[data-v-e037ecc2] { -} - + +/*# sourceMappingURL=XmlGroup.vue.map */ .xml-text-h5 .inline-audio-wrap, .xml-text-h5 .inline-link-wrap { align-items: center; @@ -473,27 +498,19 @@ /*# sourceMappingURL=XmlText.vue.map */ -.xml-show-catalog .el-tree-node__content { - display: flex !important; -} - -.catalog-node-label[data-v-179d841f] { - display: flex; - align-items: center; -} -.catalog-node-label img[data-v-179d841f] { - margin-right: 4px; -} -.xml-show-catalog[data-v-179d841f] .el-tree-node__content { - height: auto; -} -.xml-show-catalog[data-v-179d841f] .el-tree-node__content .catalog-node-label { - max-width: calc(100% - 24px); - word-break: break-all; - white-space: normal; + +/*# sourceMappingURL=XmlTestPaper.vue.map */ +.preview-item-file[data-v-f6556cdc]:hover, +.slip-over-cover[data-v-f6556cdc]:hover { + cursor: pointer; } -/*# sourceMappingURL=XmlCatalog.vue.map */ +/*# sourceMappingURL=XmlResource.vue.map */ + +.xml-image-lun-bo .el-carousel__item { + text-align: center; +} + .xml-video-container-h5[data-v-6fcfaafb] { } @@ -529,9 +546,6 @@ /*# sourceMappingURL=XmlVideoImg.vue.map */ - -/*# sourceMappingURL=XmlTestPaper.vue.map */ - .xml-ebook-container-h5[data-v-2d482ab2] { } .xml-ebook-container-pc[data-v-2d482ab2] { @@ -539,35 +553,6 @@ .xml-ebook-container-pad[data-v-2d482ab2] { } -.preview-item-file[data-v-f6556cdc]:hover, -.slip-over-cover[data-v-f6556cdc]:hover { - cursor: pointer; -} - -/*# sourceMappingURL=XmlResource.vue.map */ - -.xml-question-container-h5[data-v-33d3f358] { -} -.xml-question-container-pc[data-v-33d3f358] { -} -.xml-question-container-pad[data-v-33d3f358] { -} - - - -/*# sourceMappingURL=first.vue.map */ - - -/*# sourceMappingURL=first.vue.map */ - - -/*# sourceMappingURL=first.vue.map */ - - -/*# sourceMappingURL=first.vue.map */ - - -/*# sourceMappingURL=rectangle.vue.map */ /*# sourceMappingURL=fifth.vue.map */ @@ -576,43 +561,61 @@ /*# sourceMappingURL=fifth.vue.map */ +/*# sourceMappingURL=first.vue.map */ + + +/*# sourceMappingURL=first.vue.map */ + + /*# sourceMappingURL=fifth.vue.map */ +/*# sourceMappingURL=first.vue.map */ + + /*# sourceMappingURL=hexagon.vue.map */ -/*# sourceMappingURL=sixth.vue.map */ - - -/*# sourceMappingURL=sixth.vue.map */ - - -/*# sourceMappingURL=sixth.vue.map */ - - -/*# sourceMappingURL=triangle.vue.map */ - - /*# sourceMappingURL=second.vue.map */ -/*# sourceMappingURL=second.vue.map */ +/*# sourceMappingURL=rectangle.vue.map */ + + +/*# sourceMappingURL=first.vue.map */ /*# sourceMappingURL=second.vue.map */ -/*# sourceMappingURL=square.vue.map */ - - /*# sourceMappingURL=rotundity.vue.map */ /*# sourceMappingURL=second.vue.map */ -/*# sourceMappingURL=semicircle.vue.map */ +/*# sourceMappingURL=sixteen.vue.map */ + + +/*# sourceMappingURL=sixteen.vue.map */ + + +/*# sourceMappingURL=second.vue.map */ + + +/*# sourceMappingURL=sixth.vue.map */ + + +/*# sourceMappingURL=triangle.vue.map */ + + +/*# sourceMappingURL=third.vue.map */ + + +/*# sourceMappingURL=sixth.vue.map */ + + +/*# sourceMappingURL=sixth.vue.map */ /*# sourceMappingURL=third.vue.map */ @@ -624,64 +627,28 @@ /*# sourceMappingURL=third.vue.map */ +/*# sourceMappingURL=square.vue.map */ + + /*# sourceMappingURL=fifteen.vue.map */ -/*# sourceMappingURL=third.vue.map */ - - -/*# sourceMappingURL=thirteenth.vue.map */ - - -/*# sourceMappingURL=fourteen.vue.map */ - - /*# sourceMappingURL=fifteen.vue.map */ -/*# sourceMappingURL=sixteen.vue.map */ - - -/*# sourceMappingURL=sixteen.vue.map */ - - /*# sourceMappingURL=fourteen.vue.map */ /*# sourceMappingURL=seventeen.vue.map */ -/*# sourceMappingURL=Greentheme2.vue.map */ - - -/*# sourceMappingURL=twelfth.vue.map */ - - -/*# sourceMappingURL=eighteen2.vue.map */ - - -/*# sourceMappingURL=Greentheme2.vue.map */ - - -/*# sourceMappingURL=Greentheme2.vue.map */ - - -/*# sourceMappingURL=Greentheme1.vue.map */ - - -/*# sourceMappingURL=Greentheme1.vue.map */ - - -/*# sourceMappingURL=Greentheme5.vue.map */ - - -/*# sourceMappingURL=Greentheme5.vue.map */ +/*# sourceMappingURL=fourteen.vue.map */ /*# sourceMappingURL=eighteen.vue.map */ -/*# sourceMappingURL=Greentheme3.vue.map */ +/*# sourceMappingURL=semicircle.vue.map */ /*# sourceMappingURL=Greentheme3.vue.map */ @@ -690,16 +657,19 @@ /*# sourceMappingURL=Greentheme3.vue.map */ -/*# sourceMappingURL=Greentheme4.vue.map */ +/*# sourceMappingURL=Greentheme5.vue.map */ -/*# sourceMappingURL=nineteen.vue.map */ +/*# sourceMappingURL=Greentheme5.vue.map */ -/*# sourceMappingURL=Greentheme4.vue.map */ +/*# sourceMappingURL=thirteenth.vue.map */ -/*# sourceMappingURL=Greentheme4.vue.map */ +/*# sourceMappingURL=Greentheme3.vue.map */ + + +/*# sourceMappingURL=eighteen2.vue.map */ /*# sourceMappingURL=Yellowtheme1.vue.map */ @@ -711,31 +681,16 @@ /*# sourceMappingURL=Yellowtheme1.vue.map */ +/*# sourceMappingURL=Greentheme1.vue.map */ + + +/*# sourceMappingURL=Greentheme1.vue.map */ + + /*# sourceMappingURL=Greentheme6.vue.map */ -/*# sourceMappingURL=Yellowtheme4.vue.map */ - - -/*# sourceMappingURL=Yellowtheme4.vue.map */ - - -/*# sourceMappingURL=Yellowtheme4.vue.map */ - - -/*# sourceMappingURL=SanQintheme2.vue.map */ - - -/*# sourceMappingURL=SanQintheme2.vue.map */ - - -/*# sourceMappingURL=Yellowtheme3.vue.map */ - - -/*# sourceMappingURL=Yellowtheme3.vue.map */ - - -/*# sourceMappingURL=Yellowtheme3.vue.map */ +/*# sourceMappingURL=nineteen.vue.map */ /*# sourceMappingURL=Yellowtheme2.vue.map */ @@ -747,36 +702,78 @@ /*# sourceMappingURL=Yellowtheme2.vue.map */ -/*# sourceMappingURL=Yellowtheme5.vue.map */ +/*# sourceMappingURL=Yellowtheme3.vue.map */ -/*# sourceMappingURL=SanQintheme1.vue.map */ +/*# sourceMappingURL=Yellowtheme3.vue.map */ -/*# sourceMappingURL=SanQintheme1.vue.map */ +/*# sourceMappingURL=Yellowtheme3.vue.map */ + + +/*# sourceMappingURL=Greentheme4.vue.map */ + + +/*# sourceMappingURL=Greentheme4.vue.map */ + + +/*# sourceMappingURL=Greentheme4.vue.map */ + + +/*# sourceMappingURL=twelfth.vue.map */ + + +/*# sourceMappingURL=Greentheme2.vue.map */ /*# sourceMappingURL=Yellowtheme6.vue.map */ -/*# sourceMappingURL=Yellowtheme5.vue.map */ +/*# sourceMappingURL=Greentheme2.vue.map */ -/*# sourceMappingURL=Twentytwo.vue.map */ +/*# sourceMappingURL=Greentheme2.vue.map */ + + +/*# sourceMappingURL=Yellowtheme4.vue.map */ + + +/*# sourceMappingURL=Yellowtheme4.vue.map */ + + +/*# sourceMappingURL=Yellowtheme4.vue.map */ /*# sourceMappingURL=Knowledge.vue.map */ -/*# sourceMappingURL=SanQintheme3.vue.map */ - - -/*# sourceMappingURL=SanQintheme3.vue.map */ - - /*# sourceMappingURL=twenty.vue.map */ +/*# sourceMappingURL=SanQintheme1.vue.map */ + + +/*# sourceMappingURL=Yellowtheme5.vue.map */ + + +/*# sourceMappingURL=SanQintheme1.vue.map */ + + +/*# sourceMappingURL=Yellowtheme5.vue.map */ + + +/*# sourceMappingURL=Twentyfive.vue.map */ + + +/*# sourceMappingURL=SanQintheme2.vue.map */ + + +/*# sourceMappingURL=SanQintheme2.vue.map */ + + +/*# sourceMappingURL=Twentytwo.vue.map */ + + /*# sourceMappingURL=Twentyone.vue.map */ @@ -786,10 +783,37 @@ /*# sourceMappingURL=Twentyfour.vue.map */ -/*# sourceMappingURL=Twentyfive.vue.map */ +/*# sourceMappingURL=SanQintheme3.vue.map */ -/*# sourceMappingURL=sixth.vue.map */ +/*# sourceMappingURL=SanQintheme3.vue.map */ + + +/*# sourceMappingURL=eighth.vue.map */ + + +/*# sourceMappingURL=eighth.vue.map */ + + +/*# sourceMappingURL=eighth.vue.map */ + + +/*# sourceMappingURL=seventh.vue.map */ + + +/*# sourceMappingURL=fourth.vue.map */ + + +/*# sourceMappingURL=fourth.vue.map */ + + +/*# sourceMappingURL=seventh.vue.map */ + + +/*# sourceMappingURL=seventh.vue.map */ + + +/*# sourceMappingURL=rectangle.vue.map */ .title-text[data-v-14dffda4] { background-color: var(--background-color) !important; } @@ -801,85 +825,55 @@ /*# sourceMappingURL=third.vue.map */ -/*# sourceMappingURL=Yellowtheme2.vue.map */ - - -/*# sourceMappingURL=rectangle.vue.map */ - - -/*# sourceMappingURL=semicircle.vue.map */ - - /*# sourceMappingURL=Yellowtheme4.vue.map */ -/*# sourceMappingURL=thirteenth.vue.map */ - - -/*# sourceMappingURL=Yellowtheme5.vue.map */ - - /*# sourceMappingURL=first.vue.map */ -/*# sourceMappingURL=Greentheme1.vue.map */ +/*# sourceMappingURL=Yellowtheme1.vue.map */ -/*# sourceMappingURL=fifteen.vue.map */ +/*# sourceMappingURL=semicircle.vue.map */ -/*# sourceMappingURL=Greentheme2.vue.map */ - - -/*# sourceMappingURL=Greentheme3.vue.map */ +/*# sourceMappingURL=sixth.vue.map */ /*# sourceMappingURL=twelfth.vue.map */ -/*# sourceMappingURL=Yellowtheme1.vue.map */ +/*# sourceMappingURL=Yellowtheme5.vue.map */ -/*# sourceMappingURL=fifth.vue.map */ +/*# sourceMappingURL=Yellowtheme2.vue.map */ -/*# sourceMappingURL=Greentheme4.vue.map */ +/*# sourceMappingURL=Greentheme3.vue.map */ + + +/*# sourceMappingURL=fifteen.vue.map */ /*# sourceMappingURL=Yellowtheme6.vue.map */ -/*# sourceMappingURL=eighth.vue.map */ +/*# sourceMappingURL=thirteenth.vue.map */ -/*# sourceMappingURL=eighth.vue.map */ - - -/*# sourceMappingURL=eighth.vue.map */ - - -/*# sourceMappingURL=fourth.vue.map */ - - -/*# sourceMappingURL=fourth.vue.map */ - - -/*# sourceMappingURL=hexagon.vue.map */ - - -/*# sourceMappingURL=seventh.vue.map */ - - -/*# sourceMappingURL=seventh.vue.map */ - - -/*# sourceMappingURL=seventh.vue.map */ +/*# sourceMappingURL=sixteen.vue.map */ /*# sourceMappingURL=Knowledge.vue.map */ -/*# sourceMappingURL=seventeen.vue.map */ +/*# sourceMappingURL=Greentheme1.vue.map */ + + +/*# sourceMappingURL=hexagon.vue.map */ + + +/*# sourceMappingURL=Greentheme2.vue.map */ /*# sourceMappingURL=triangle.vue.map */ @@ -888,30 +882,12 @@ /*# sourceMappingURL=Greentheme6.vue.map */ -/*# sourceMappingURL=nineteen.vue.map */ - - -/*# sourceMappingURL=sixteen.vue.map */ - - -/*# sourceMappingURL=fourteen.vue.map */ - - /*# sourceMappingURL=ninth.vue.map */ /*# sourceMappingURL=ninth.vue.map */ -/*# sourceMappingURL=eleven.vue.map */ - - -/*# sourceMappingURL=tenth.vue.map */ - - -/*# sourceMappingURL=tenth.vue.map */ - - /*# sourceMappingURL=quadrangle.vue.map */ @@ -921,9 +897,33 @@ /*# sourceMappingURL=twelve.vue.map */ +/*# sourceMappingURL=fifth.vue.map */ + + +/*# sourceMappingURL=fourteen.vue.map */ + + +/*# sourceMappingURL=Greentheme4.vue.map */ + + +/*# sourceMappingURL=nineteen.vue.map */ + + +/*# sourceMappingURL=seventeen.vue.map */ + + +/*# sourceMappingURL=tenth.vue.map */ + + +/*# sourceMappingURL=tenth.vue.map */ + + /*# sourceMappingURL=thirteen.vue.map */ +/*# sourceMappingURL=eleven.vue.map */ + + /*# sourceMappingURL=wave.vue.map */ @@ -942,24 +942,33 @@ /*# sourceMappingURL=Redtheme4.vue.map */ -/*# sourceMappingURL=Redtheme4.vue.map */ - - /*# sourceMappingURL=Redtheme5.vue.map */ -/*# sourceMappingURL=Redtheme3.vue.map */ +/*# sourceMappingURL=Redtheme4.vue.map */ -/*# sourceMappingURL=Redtheme3.vue.map */ +/*# sourceMappingURL=Redtheme6.vue.map */ -/*# sourceMappingURL=Redtheme3.vue.map */ +/*# sourceMappingURL=Redtheme1.vue.map */ + + +/*# sourceMappingURL=Redtheme1.vue.map */ + + +/*# sourceMappingURL=Redtheme1.vue.map */ /*# sourceMappingURL=Thirtysix.vue.map */ +/*# sourceMappingURL=Thirtyeight.vue.map */ + + +/*# sourceMappingURL=Thirtyeight.vue.map */ + + /*# sourceMappingURL=Thirtysix.vue.map */ @@ -972,156 +981,147 @@ /*# sourceMappingURL=Thirtyseven2.vue.map */ -/*# sourceMappingURL=Redtheme6.vue.map */ - - /*# sourceMappingURL=Thirtyseven.vue.map */ /*# sourceMappingURL=Thirtyseven.vue.map */ -/*# sourceMappingURL=Redtheme1.vue.map */ - - -/*# sourceMappingURL=Redtheme1.vue.map */ - - -/*# sourceMappingURL=Thirtyseven3.vue.map */ - - -/*# sourceMappingURL=Forty.vue.map */ - - -/*# sourceMappingURL=Redtheme1.vue.map */ - - -/*# sourceMappingURL=Forty.vue.map */ - - -/*# sourceMappingURL=Thirtyeight.vue.map */ - - -/*# sourceMappingURL=Thirtyeight.vue.map */ - - -/*# sourceMappingURL=quadrangle.vue.map */ - - -/*# sourceMappingURL=second.vue.map */ - - -/*# sourceMappingURL=third.vue.map */ - - -/*# sourceMappingURL=isosceles.vue.map */ - - -/*# sourceMappingURL=eighth.vue.map */ - - -/*# sourceMappingURL=sixteen.vue.map */ - - -/*# sourceMappingURL=first.vue.map */ - - -/*# sourceMappingURL=Yellowtheme1.vue.map */ - - -/*# sourceMappingURL=eleven.vue.map */ - - -/*# sourceMappingURL=ninth.vue.map */ - - -/*# sourceMappingURL=tenth.vue.map */ - - -/*# sourceMappingURL=seventh.vue.map */ - - -/*# sourceMappingURL=Greentheme5.vue.map */ - - -/*# sourceMappingURL=Greentheme4.vue.map */ - - -/*# sourceMappingURL=Greentheme2.vue.map */ - - -/*# sourceMappingURL=fourteen.vue.map */ - - -/*# sourceMappingURL=thirteen.vue.map */ - - -/*# sourceMappingURL=Greentheme3.vue.map */ - - -/*# sourceMappingURL=Yellowtheme5.vue.map */ - - -/*# sourceMappingURL=Yellowtheme3.vue.map */ - - -/*# sourceMappingURL=Redtheme4.vue.map */ - - -/*# sourceMappingURL=Greytheme3.vue.map */ - - -/*# sourceMappingURL=eleventh.vue.map */ - - -/*# sourceMappingURL=Redtheme2.vue.map */ - - -/*# sourceMappingURL=Greytheme2.vue.map */ - - -/*# sourceMappingURL=Greytheme1.vue.map */ - - -/*# sourceMappingURL=Greytheme5.vue.map */ - - -/*# sourceMappingURL=Greytheme6.vue.map */ - - -/*# sourceMappingURL=Greytheme4.vue.map */ - - -/*# sourceMappingURL=Bluetheme1.vue.map */ - - -/*# sourceMappingURL=Yellowtheme2.vue.map */ - - /*# sourceMappingURL=Redtheme3.vue.map */ +/*# sourceMappingURL=Redtheme3.vue.map */ + + +/*# sourceMappingURL=Redtheme3.vue.map */ + + +/*# sourceMappingURL=Forty.vue.map */ + + +/*# sourceMappingURL=Forty.vue.map */ + + +/*# sourceMappingURL=isosceles.vue.map */ + + +/*# sourceMappingURL=Thirtyseven3.vue.map */ + + +/*# sourceMappingURL=quadrangle.vue.map */ + + +/*# sourceMappingURL=third.vue.map */ + + +/*# sourceMappingURL=sixteen.vue.map */ + + +/*# sourceMappingURL=eighth.vue.map */ + + +/*# sourceMappingURL=eleven.vue.map */ + + +/*# sourceMappingURL=Yellowtheme1.vue.map */ + + +/*# sourceMappingURL=seventh.vue.map */ + + +/*# sourceMappingURL=ninth.vue.map */ + + +/*# sourceMappingURL=first.vue.map */ + + +/*# sourceMappingURL=second.vue.map */ + + +/*# sourceMappingURL=Greytheme1.vue.map */ + + +/*# sourceMappingURL=Yellowtheme3.vue.map */ + + +/*# sourceMappingURL=Greentheme3.vue.map */ + + +/*# sourceMappingURL=thirteen.vue.map */ + + +/*# sourceMappingURL=Greentheme2.vue.map */ + + +/*# sourceMappingURL=tenth.vue.map */ + + +/*# sourceMappingURL=Yellowtheme5.vue.map */ + + +/*# sourceMappingURL=Yellowtheme2.vue.map */ + + /*# sourceMappingURL=Yellowtheme4.vue.map */ +/*# sourceMappingURL=Redtheme4.vue.map */ + + +/*# sourceMappingURL=Greentheme5.vue.map */ + + +/*# sourceMappingURL=Greytheme5.vue.map */ + + +/*# sourceMappingURL=Greytheme2.vue.map */ + + +/*# sourceMappingURL=Greytheme3.vue.map */ + + +/*# sourceMappingURL=Greytheme4.vue.map */ + + +/*# sourceMappingURL=Greytheme6.vue.map */ + + +/*# sourceMappingURL=eleventh.vue.map */ + + +/*# sourceMappingURL=Bluetheme1.vue.map */ + + +/*# sourceMappingURL=fourteen.vue.map */ + + /*# sourceMappingURL=Redtheme1.vue.map */ /*# sourceMappingURL=Redtheme5.vue.map */ -/*# sourceMappingURL=twelve.vue.map */ +/*# sourceMappingURL=Redtheme3.vue.map */ + + +/*# sourceMappingURL=Redtheme2.vue.map */ + + +/*# sourceMappingURL=Greentheme4.vue.map */ /*# sourceMappingURL=Redtheme6.vue.map */ -/*# sourceMappingURL=Bluetheme2.vue.map */ +/*# sourceMappingURL=twelve.vue.map */ /*# sourceMappingURL=Bluetheme4.vue.map */ +/*# sourceMappingURL=Bluetheme2.vue.map */ + + /*# sourceMappingURL=Bluetheme3.vue.map */ @@ -1130,35 +1130,6 @@ /*# sourceMappingURL=xmlRobotPc.vue.map */ - -/*# sourceMappingURL=fourth.vue.map */ - - -/*# sourceMappingURL=second.vue.map */ - - -/*# sourceMappingURL=first.vue.map */ - - -/*# sourceMappingURL=fifth.vue.map */ - - -/*# sourceMappingURL=sixth.vue.map */ - - -/*# sourceMappingURL=seventh.vue.map */ - - -/*# sourceMappingURL=third.vue.map */ - -.xml-single-question-group-h5[data-v-30e02b9d] { -} -.xml-single-question-group-pc[data-v-30e02b9d] { -} -.xml-single-question-group-pad[data-v-30e02b9d] { -} - - .xml-single-music-group-h5[data-v-2afe911e] { } .xml-single-music-group-pc[data-v-2afe911e] { @@ -1167,14 +1138,6 @@ } -.xml-single-text-group-h5[data-v-345e24df] { -} -.xml-single-text-group-pc[data-v-345e24df] { -} -.xml-single-text-group-pad[data-v-345e24df] { -} - - .xml-single-ebook-group-h5[data-v-0f8e6fa6] { } .xml-single-ebook-group-pc[data-v-0f8e6fa6] { @@ -1183,11 +1146,19 @@ } -.xml-single-ebook-group-h5[data-v-25b5113c] { +.xml-single-question-group-h5[data-v-eb16744a] { } -.xml-single-ebook-group-pc[data-v-25b5113c] { +.xml-single-question-group-pc[data-v-eb16744a] { } -.xml-single-ebook-group-pad[data-v-25b5113c] { +.xml-single-question-group-pad[data-v-eb16744a] { +} + + +.xml-single-text-group-h5[data-v-345e24df] { +} +.xml-single-text-group-pc[data-v-345e24df] { +} +.xml-single-text-group-pad[data-v-345e24df] { } @@ -1199,11 +1170,11 @@ } -.xml-single-video-group-h5[data-v-ef0341ca] { +.xml-single-question-group-h5[data-v-30e02b9d] { } -.xml-single-video-group-pc[data-v-ef0341ca] { +.xml-single-question-group-pc[data-v-30e02b9d] { } -.xml-single-video-group-pad[data-v-ef0341ca] { +.xml-single-question-group-pad[data-v-30e02b9d] { } @@ -1215,27 +1186,59 @@ } -.xml-single-question-group-h5[data-v-eb16744a] { + +/*# sourceMappingURL=single-agent-group.vue.map */ + +.xml-single-ebook-group-h5[data-v-25b5113c] { } -.xml-single-question-group-pc[data-v-eb16744a] { +.xml-single-ebook-group-pc[data-v-25b5113c] { } -.xml-single-question-group-pad[data-v-eb16744a] { +.xml-single-ebook-group-pad[data-v-25b5113c] { +} + + +.xml-single-video-group-h5[data-v-ef0341ca] { +} +.xml-single-video-group-pc[data-v-ef0341ca] { +} +.xml-single-video-group-pad[data-v-ef0341ca] { } -/*# sourceMappingURL=sixth.vue.map */ +/*# sourceMappingURL=first.vue.map */ -/*# sourceMappingURL=Greytheme2.vue.map */ +/*# sourceMappingURL=seventh.vue.map */ /*# sourceMappingURL=fourth.vue.map */ +/*# sourceMappingURL=second.vue.map */ + + +/*# sourceMappingURL=sixth.vue.map */ + + +/*# sourceMappingURL=third.vue.map */ + + /*# sourceMappingURL=fifth.vue.map */ +/*# sourceMappingURL=tenth.vue.map */ + + +/*# sourceMappingURL=sixth.vue.map */ + + +/*# sourceMappingURL=fourth.vue.map */ + + +/*# sourceMappingURL=second.vue.map */ + + /*# sourceMappingURL=first.vue.map */ @@ -1245,10 +1248,10 @@ /*# sourceMappingURL=seventh.vue.map */ -/*# sourceMappingURL=Greytheme3.vue.map */ +/*# sourceMappingURL=Bluetheme1.vue.map */ -/*# sourceMappingURL=tenth.vue.map */ +/*# sourceMappingURL=ninth.vue.map */ .xml-skeleton-item { /* margin: 20px 0; */ @@ -1270,76 +1273,70 @@ -/*# sourceMappingURL=single-agent-group.vue.map */ - - /*# sourceMappingURL=Redtheme1.vue.map */ -/*# sourceMappingURL=ninth.vue.map */ - - -/*# sourceMappingURL=second.vue.map */ - - -/*# sourceMappingURL=Bluetheme2.vue.map */ - - -/*# sourceMappingURL=Yellowtheme3.vue.map */ - - -/*# sourceMappingURL=eleventh.vue.map */ - - -/*# sourceMappingURL=Bluetheme4.vue.map */ +/*# sourceMappingURL=Greytheme2.vue.map */ /*# sourceMappingURL=Greytheme5.vue.map */ -/*# sourceMappingURL=Yellowtheme2.vue.map */ +/*# sourceMappingURL=fifth.vue.map */ -/*# sourceMappingURL=Bluetheme1.vue.map */ - - -/*# sourceMappingURL=Yellowtheme1.vue.map */ - - -/*# sourceMappingURL=Redtheme4.vue.map */ - - -/*# sourceMappingURL=Twentytwo.vue.map */ - - -/*# sourceMappingURL=Twentyfour.vue.map */ +/*# sourceMappingURL=Greytheme3.vue.map */ /*# sourceMappingURL=Greytheme1.vue.map */ -/*# sourceMappingURL=Twentyfive.vue.map */ +/*# sourceMappingURL=eleventh.vue.map */ -/*# sourceMappingURL=Thirtythree.vue.map */ +/*# sourceMappingURL=Redtheme4.vue.map */ + + +/*# sourceMappingURL=Yellowtheme3.vue.map */ + + +/*# sourceMappingURL=Bluetheme2.vue.map */ + + +/*# sourceMappingURL=Twentyfour.vue.map */ + + +/*# sourceMappingURL=Bluetheme4.vue.map */ + + +/*# sourceMappingURL=Twentytwo.vue.map */ + + +/*# sourceMappingURL=Yellowtheme1.vue.map */ /*# sourceMappingURL=Thirtyfour.vue.map */ -/*# sourceMappingURL=Thirtyone.vue.map */ - - /*# sourceMappingURL=Thirtytwo.vue.map */ +/*# sourceMappingURL=Thirtythree.vue.map */ + + +/*# sourceMappingURL=Thirtyone.vue.map */ + + /*# sourceMappingURL=Twentythree.vue.map */ /*# sourceMappingURL=Thirtynine.vue.map */ -/*# sourceMappingURL=Sevenpagetwo.vue.map */ +/*# sourceMappingURL=Yellowtheme2.vue.map */ + + +/*# sourceMappingURL=Twentyfive.vue.map */ /*# sourceMappingURL=BuleRectangle.vue.map */ @@ -1348,19 +1345,37 @@ /*# sourceMappingURL=titleLogging.vue.map */ +/*# sourceMappingURL=BuleRectangleTwo.vue.map */ + + /*# sourceMappingURL=titleQuestion.vue.map */ -/*# sourceMappingURL=titleLight.vue.map */ - - /*# sourceMappingURL=titleTearcher.vue.map */ -/*# sourceMappingURL=BuleRectangleTwo.vue.map */ +/*# sourceMappingURL=titleLight.vue.map */ + + +/*# sourceMappingURL=Sevenpagethree.vue.map */ + + +/*# sourceMappingURL=titleText.vue.map */ + + +/*# sourceMappingURL=Sevenpagetwo.vue.map */ + + +/*# sourceMappingURL=Sevenpagefour.vue.map */ /*# sourceMappingURL=Sevenpagefive.vue.map */ + + +/*# sourceMappingURL=titleCrane.vue.map */ + + +/*# sourceMappingURL=Fortyone.vue.map */ .title-bgimg[data-v-16943e38] { background-image: url(../style/title-text-bgimg.png); } @@ -1368,70 +1383,40 @@ /*# sourceMappingURL=Sevenpageone.vue.map */ -/*# sourceMappingURL=titleCrane.vue.map */ - - -/*# sourceMappingURL=titleText.vue.map */ - - -/*# sourceMappingURL=Sevenpagefour.vue.map */ - - -/*# sourceMappingURL=Sevenpagethree.vue.map */ - - -/*# sourceMappingURL=Fortyone.vue.map */ - - /*# sourceMappingURL=Redtheme7.vue.map */ -/*# sourceMappingURL=Foldtheme1.vue.map */ - - -/*# sourceMappingURL=Tabstheme1.vue.map */ - - -/*# sourceMappingURL=Foldtheme3.vue.map */ - - /*# sourceMappingURL=Foldtheme2.vue.map */ +/*# sourceMappingURL=Foldtheme1.vue.map */ + + +/*# sourceMappingURL=Foldtheme3.vue.map */ + + /*# sourceMappingURL=Tabstheme4.vue.map */ -/*# sourceMappingURL=Tabstheme3.vue.map */ +/*# sourceMappingURL=Fortytwo.vue.map */ -/*# sourceMappingURL=Foldtheme4.vue.map */ - - -/*# sourceMappingURL=Tabstheme6.vue.map */ - - -/*# sourceMappingURL=Tabstheme2.vue.map */ +/*# sourceMappingURL=Tabstheme1.vue.map */ /*# sourceMappingURL=Foldtheme5.vue.map */ -/*# sourceMappingURL=Fortythree.vue.map */ +/*# sourceMappingURL=Tabstheme5.vue.map */ -/*# sourceMappingURL=Fortyfour.vue.map */ +/*# sourceMappingURL=Tabstheme2.vue.map */ /*# sourceMappingURL=Fortyseven.vue.map */ -/*# sourceMappingURL=Tabstheme5.vue.map */ - - -/*# sourceMappingURL=Fortyfive.vue.map */ - - -/*# sourceMappingURL=Fortytwo.vue.map */ +/*# sourceMappingURL=Tabstheme3.vue.map */ /*# sourceMappingURL=Fortyeight.vue.map */ @@ -1440,22 +1425,114 @@ /*# sourceMappingURL=Fortysix.vue.map */ -/*# sourceMappingURL=XmlKnowledgeGraph.vue.map */ +/*# sourceMappingURL=Tabstheme6.vue.map */ -/*# sourceMappingURL=Twentyseven.vue.map */ +/*# sourceMappingURL=Fortythree.vue.map */ -/*# sourceMappingURL=Twentysix.vue.map */ +/*# sourceMappingURL=sixteen_new.vue.map */ + + +/*# sourceMappingURL=Foldtheme4.vue.map */ + + +/*# sourceMappingURL=Fortyfour.vue.map */ + + +/*# sourceMappingURL=Fortyfive.vue.map */ /*# sourceMappingURL=Twentyeight.vue.map */ +/*# sourceMappingURL=Twentysix.vue.map */ + + +/*# sourceMappingURL=Twentyseven.vue.map */ + + /*# sourceMappingURL=XmlGraphViewer.vue.map */ -/*# sourceMappingURL=xmlWrapperPage.vue.map */ +/*# sourceMappingURL=XmlKnowledgeGraph.vue.map */ + +.el-image__inner[data-v-4910c4a4] { + width: 100% !important; +} +.xml-image-ping-pu-h5[data-v-4910c4a4] { + display: flex; + flex-direction: column; + align-items: center; +} +.xml-image-hua-lang[data-v-4910c4a4] { + display: flex; + flex-direction: column; + align-items: center; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /*# sourceMappingURL=xmlCollapse.vue.map */ @@ -1590,83 +1667,20 @@ -.el-image__inner[data-v-4910c4a4] { - width: 100% !important; + +/*# sourceMappingURL=xmlWrapperPage.vue.map */ + + +/*# sourceMappingURL=XmlTextarea.vue.map */ + +.xml-single-video-group-h5[data-v-c111bfc4] { } -.xml-image-ping-pu-h5[data-v-4910c4a4] { - display: flex; - flex-direction: column; - align-items: center; +.xml-single-video-group-pc[data-v-c111bfc4] { } -.xml-image-hua-lang[data-v-4910c4a4] { - display: flex; - flex-direction: column; - align-items: center; +.xml-single-video-group-pad[data-v-c111bfc4] { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .object-model-content[data-v-81e73f14]{ .threejs-container { width: 100%; @@ -1707,27 +1721,649 @@ span{ } -.xml-single-video-group-h5[data-v-c111bfc4] { -} -.xml-single-video-group-pc[data-v-c111bfc4] { -} -.xml-single-video-group-pad[data-v-c111bfc4] { -} - - - -/*# sourceMappingURL=XmlTextarea.vue.map */ - .read-the-docs[data-v-be1c9976] { color: #888; } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * { margin: 0; padding: 0; } /*# sourceMappingURL=setPop.vue.map */ +.el-dialog__title { + font-size: 20px; +} +.add-teacher-resources-dialog { + width: 100%; + height: 100%; +} +.add-teacher-resources-dialog .el-form--label-left { + display: flex; + flex-direction: column; + width: 100%; + height: 30%; +} +.add-teacher-resources-dialog .el-form-item--medium { + padding-left: 5px; +} +.content-left { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + margin-bottom: 10px; + font-size: 16px; + font-weight: 800; +} +.el-textarea__inner { + font-size: 16px; +} + +/*# sourceMappingURL=modifyNotes.vue.map */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2197,230 +2833,6 @@ span{ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2443,418 +2855,21 @@ span{ /*# sourceMappingURL=classGrade.vue.map */ -.el-dialog__title { - font-size: 20px; -} -.add-teacher-resources-dialog { - width: 100%; - height: 100%; -} -.add-teacher-resources-dialog .el-form--label-left { - display: flex; - flex-direction: column; - width: 100%; - height: 30%; -} -.add-teacher-resources-dialog .el-form-item--medium { - padding-left: 5px; -} -.content-left { - overflow: hidden; - text-overflow: ellipsis; - display: -webkit-box; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; - margin-bottom: 10px; - font-size: 16px; - font-weight: 800; -} -.el-textarea__inner { - font-size: 16px; -} - -/*# sourceMappingURL=modifyNotes.vue.map */ /*# sourceMappingURL=xmlStatisticalChart.vue.map */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +.cantUse[data-v-13d59ee0] { + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.1); + pointer-events: none; + cursor: not-allowed !important; +} +.cantUse[data-v-13d59ee0] :hover { + background-color: "inhert"; +} + +/*# sourceMappingURL=xmlRobotPhone.vue.map */ /*# sourceMappingURL=xmlGeneralRobotPc.vue.map */ @@ -2982,18 +2997,6 @@ span{ -.cantUse[data-v-13d59ee0] { - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.1); - pointer-events: none; - cursor: not-allowed !important; -} -.cantUse[data-v-13d59ee0] :hover { - background-color: "inhert"; -} - -/*# sourceMappingURL=xmlRobotPhone.vue.map */ /*# sourceMappingURL=QuestionItem.vue.map */ @@ -3187,42 +3190,6 @@ span{ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3499,6 +3466,42 @@ span{ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3564,10 +3567,10 @@ span{ } /*# sourceMappingURL=radio.vue.map */ -.content[data-v-5a1894ea] { +.content[data-v-b67ffd48] { width: 100%; } -.content .stem-content[data-v-5a1894ea] { +.content .stem-content[data-v-b67ffd48] { width: 100%; box-sizing: border-box; padding: 5px 14px; @@ -3576,125 +3579,12 @@ span{ border-radius: 6px; cursor: pointer; } -.content .stem-content.no-border[data-v-5a1894ea] { +.content .stem-content.no-border[data-v-b67ffd48] { padding: 0; border: none; cursor: default; } -.content .stem-content .placeholder[data-v-5a1894ea] { - color: #c0c4cc; - font-size: 14px; - cursor: pointer; - user-select: none; -} - -/*# sourceMappingURL=common.vue.map */ -.option-item + .option-item[data-v-9f3637dc] { - margin-top: 16px; -} -.option-item[data-v-9f3637dc] { - display: flex; - background: #fbfbfb; - border-radius: 6px; - padding-left: 16px; - cursor: pointer; - transition: all ease 0.3s; - border: 1px solid #fbfbfb; -} -.option-item.isActive[data-v-9f3637dc] { - border-color: #2e9adb; -} -.option-item .questionSeq[data-v-9f3637dc] { - padding: 8px 0; -} -.option-item.isTrue[data-v-9f3637dc] { - border: 1px solid #70b603; -} -.option-item.isTrue[data-v-9f3637dc] .el-checkbox__input.is-checked .el-checkbox__inner { - border-color: #70b603; - background: #70b603; -} -.option-item.isFalse[data-v-9f3637dc] { - border: 1px solid #d9001b; -} -.option-item.isFalse[data-v-9f3637dc] .el-checkbox__input.is-checked .el-checkbox__inner { - border-color: #d9001b; - background: #d9001b; -} -.option-item[data-v-9f3637dc]:hover { - background: #ddd; -} -.option-item[data-v-9f3637dc] .content { - cursor: pointer; -} -.option-item[data-v-9f3637dc] .stem-content.no-border { - padding: 8px 14px !important; - cursor: pointer; -} - -/*# sourceMappingURL=checkbox.vue.map */ -.option-item + .option-item[data-v-6801edfc] { - margin-top: 16px; -} -.option-item[data-v-6801edfc] { - display: flex; - background: #fbfbfb; - border-radius: 6px; - padding-left: 16px; - cursor: pointer; - transition: all ease 0.3s; - border: 1px solid #fbfbfb; -} -.option-item.isActive[data-v-6801edfc] { - border-color: #2e9adb; -} -.option-item .questionSeq[data-v-6801edfc] { - padding: 8px 0; -} -.option-item.isTrue[data-v-6801edfc] { - border: 1px solid #70b603; -} -.option-item.isTrue[data-v-6801edfc] .el-checkbox__input.is-checked .el-checkbox__inner { - border-color: #70b603; - background: #70b603; -} -.option-item.isFalse[data-v-6801edfc] { - border: 1px solid #d9001b; -} -.option-item.isFalse[data-v-6801edfc] .el-checkbox__input.is-checked .el-checkbox__inner { - border-color: #d9001b; - background: #d9001b; -} -.option-item[data-v-6801edfc]:hover { - background: #ddd; -} -.option-item[data-v-6801edfc] .content { - cursor: pointer; -} -.option-item[data-v-6801edfc] .stem-content.no-border { - padding: 8px 14px !important; - cursor: pointer; -} - -/*# sourceMappingURL=checkbox.vue.map */ -.content[data-v-175142a4] { - width: 100%; -} -.content .stem-content[data-v-175142a4] { - width: 100%; - box-sizing: border-box; - padding: 5px 14px; - height: auto; - border: 1px solid #e7e7e7; - border-radius: 6px; - cursor: pointer; -} -.content .stem-content.no-border[data-v-175142a4] { - padding: 0; - border: none; - cursor: default; -} -.content .stem-content .placeholder[data-v-175142a4] { +.content .stem-content .placeholder[data-v-b67ffd48] { color: #c0c4cc; font-size: 14px; cursor: pointer; @@ -3746,6 +3636,161 @@ span{ } /*# sourceMappingURL=radio.vue.map */ +.content[data-v-5a1894ea] { + width: 100%; +} +.content .stem-content[data-v-5a1894ea] { + width: 100%; + box-sizing: border-box; + padding: 5px 14px; + height: auto; + border: 1px solid #e7e7e7; + border-radius: 6px; + cursor: pointer; +} +.content .stem-content.no-border[data-v-5a1894ea] { + padding: 0; + border: none; + cursor: default; +} +.content .stem-content .placeholder[data-v-5a1894ea] { + color: #c0c4cc; + font-size: 14px; + cursor: pointer; + user-select: none; +} + +/*# sourceMappingURL=common.vue.map */ +.option-item + .option-item[data-v-758ca1a6] { + margin-top: 16px; +} +.option-item[data-v-758ca1a6] { + display: flex; + background: #fbfbfb; + border-radius: 6px; + padding-left: 16px; + cursor: pointer; + transition: all ease 0.3s; + border: 1px solid #fbfbfb; +} +.option-item.isActive[data-v-758ca1a6] { + border-color: #2e9adb; +} +.option-item .questionSeq[data-v-758ca1a6] { + padding: 8px 0; +} +.option-item.isTrue[data-v-758ca1a6] { + border: 1px solid #70b603; +} +.option-item.isTrue[data-v-758ca1a6] .el-checkbox__input.is-checked .el-checkbox__inner { + border-color: #70b603; + background: #70b603; +} +.option-item.isFalse[data-v-758ca1a6] { + border: 1px solid #d9001b; +} +.option-item.isFalse[data-v-758ca1a6] .el-checkbox__input.is-checked .el-checkbox__inner { + border-color: #d9001b; + background: #d9001b; +} +.option-item[data-v-758ca1a6]:hover { + background: #ddd; +} +.option-item[data-v-758ca1a6] .content { + cursor: pointer; +} +.option-item[data-v-758ca1a6] .stem-content.no-border { + padding: 8px 14px !important; + cursor: pointer; +} + +/*# sourceMappingURL=checkbox.vue.map */ +.option-item + .option-item[data-v-9f3637dc] { + margin-top: 16px; +} +.option-item[data-v-9f3637dc] { + display: flex; + background: #fbfbfb; + border-radius: 6px; + padding-left: 16px; + cursor: pointer; + transition: all ease 0.3s; + border: 1px solid #fbfbfb; +} +.option-item.isActive[data-v-9f3637dc] { + border-color: #2e9adb; +} +.option-item .questionSeq[data-v-9f3637dc] { + padding: 8px 0; +} +.option-item.isTrue[data-v-9f3637dc] { + border: 1px solid #70b603; +} +.option-item.isTrue[data-v-9f3637dc] .el-checkbox__input.is-checked .el-checkbox__inner { + border-color: #70b603; + background: #70b603; +} +.option-item.isFalse[data-v-9f3637dc] { + border: 1px solid #d9001b; +} +.option-item.isFalse[data-v-9f3637dc] .el-checkbox__input.is-checked .el-checkbox__inner { + border-color: #d9001b; + background: #d9001b; +} +.option-item[data-v-9f3637dc]:hover { + background: #ddd; +} +.option-item[data-v-9f3637dc] .content { + cursor: pointer; +} +.option-item[data-v-9f3637dc] .stem-content.no-border { + padding: 8px 14px !important; + cursor: pointer; +} + +/*# sourceMappingURL=checkbox.vue.map */ +.line-content[data-v-a868932e] { + width: 100%; + position: relative; +} +.line-content .line-content--item[data-v-a868932e] { + flex: 1; +} +.line-content .line-content--item[data-v-a868932e] .stem-content { + height: 100%; +} +.line-content + .line-content[data-v-a868932e] { + margin-top: 10px; +} +.create-option[data-v-a868932e] { + width: 100%; + margin-top: 10px; + border-style: dashed !important; +} +.option-item[data-v-a868932e] { + flex: 1; + min-width: 0; +} +.option-item + .option-item[data-v-a868932e] { + margin-left: 100px; +} +.option-item.isMobile + .option-item.isMobile[data-v-a868932e] { + margin-left: 50px; +} +.option-item[data-v-a868932e] { + margin-bottom: 10px; + background: #fbfbfb; + border-radius: 6px; + padding-left: 16px; +} +.option-item .questionSeq[data-v-a868932e] { + padding: 8px 0; +} +.option-item[data-v-a868932e] .stem-content.no-border { + padding: 8px 14px !important; +} + +/*# sourceMappingURL=view-line.vue.map */ .line-content[data-v-4a22b201] { width: 100%; position: relative; @@ -3789,79 +3834,6 @@ span{ } /*# sourceMappingURL=view-line-answer.vue.map */ -.line-content[data-v-a868932e] { - width: 100%; - position: relative; -} -.line-content .line-content--item[data-v-a868932e] { - flex: 1; -} -.line-content .line-content--item[data-v-a868932e] .stem-content { - height: 100%; -} -.line-content + .line-content[data-v-a868932e] { - margin-top: 10px; -} -.create-option[data-v-a868932e] { - width: 100%; - margin-top: 10px; - border-style: dashed !important; -} -.option-item[data-v-a868932e] { - flex: 1; - min-width: 0; -} -.option-item + .option-item[data-v-a868932e] { - margin-left: 100px; -} -.option-item.isMobile + .option-item.isMobile[data-v-a868932e] { - margin-left: 50px; -} -.option-item[data-v-a868932e] { - margin-bottom: 10px; - background: #fbfbfb; - border-radius: 6px; - padding-left: 16px; -} -.option-item .questionSeq[data-v-a868932e] { - padding: 8px 0; -} -.option-item[data-v-a868932e] .stem-content.no-border { - padding: 8px 14px !important; -} - -/*# sourceMappingURL=view-line.vue.map */ -.image-file[data-v-070c50ee] { - width: 218px; - object-fit: scale-down; -} -.video-file[data-v-070c50ee] { - width: 408px; -} -.file-render[data-v-070c50ee] { - width: 100%; -} -.file-info[data-v-070c50ee] { - flex: 1; - min-width: 0; -} -.file-info.videoHandler[data-v-070c50ee] { - display: flex; - flex-direction: column; - justify-content: center; -} -.file-info.videoHandler .fileName[data-v-070c50ee] { - font-size: 18px; - color: #333333; - margin-bottom: 19px; -} -.file-info.videoHandler .fileInfo[data-v-070c50ee] { - font-size: 14px; - color: #666666; - margin-bottom: 19px; -} - -/*# sourceMappingURL=index.vue.map */ .image-file[data-v-111cf251] { width: 218px; object-fit: scale-down; @@ -3892,6 +3864,37 @@ span{ margin-bottom: 19px; } +/*# sourceMappingURL=index.vue.map */ +.image-file[data-v-070c50ee] { + width: 218px; + object-fit: scale-down; +} +.video-file[data-v-070c50ee] { + width: 408px; +} +.file-render[data-v-070c50ee] { + width: 100%; +} +.file-info[data-v-070c50ee] { + flex: 1; + min-width: 0; +} +.file-info.videoHandler[data-v-070c50ee] { + display: flex; + flex-direction: column; + justify-content: center; +} +.file-info.videoHandler .fileName[data-v-070c50ee] { + font-size: 18px; + color: #333333; + margin-bottom: 19px; +} +.file-info.videoHandler .fileInfo[data-v-070c50ee] { + font-size: 14px; + color: #666666; + margin-bottom: 19px; +} + /*# sourceMappingURL=index.vue.map */ [data-v-432b6cd2] .el-dialog__header { padding: 10px; @@ -3930,6 +3933,65 @@ span{ } /*# sourceMappingURL=video-play.vue.map */ +.audio .audio-icon[data-v-43ef9f54] { + width: 36px; + height: 36px; + margin-right: 20px; +} +.audio .audio-icon img[data-v-43ef9f54] { + width: 100%; + height: 100%; + display: block; +} +.audio .audio-controls[data-v-43ef9f54] { + width: 100%; + max-width: 200px; + flex: 1; + height: 36px; +} +.audio .audio-controls .audio-controls--progress[data-v-43ef9f54], .audio .audio-controls .audio-controls--handler[data-v-43ef9f54] { + width: 100%; +} +.audio .audio-controls .audio-controls--handler[data-v-43ef9f54] { + line-height: 1; +} +.audio .audio-controls .audio-controls--handler .play[data-v-43ef9f54] { + font-size: 24px; +} +.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-43ef9f54] { + width: 22px; + height: 22px; + display: block; + cursor: pointer; +} +.audio .audio-controls .audio-controls--handler .current-time[data-v-43ef9f54], .audio .audio-controls .audio-controls--handler .total-time[data-v-43ef9f54] { + font-size: 12px; + color: #333; +} +.play-handler.mobile[data-v-43ef9f54] { + width: 20px; + height: 20px; +} +.audio-component[data-v-43ef9f54] { + display: none; +} +[data-v-43ef9f54] .el-slider__runway { + margin: 0 0 4px 0; + background: #e3e3e3; + height: 4px; +} +[data-v-43ef9f54] .el-slider__bar { + height: 4px; +} +[data-v-43ef9f54] .el-slider__button { + width: 10px; + height: 10px; +} +[data-v-43ef9f54] .el-slider__button-wrapper { + top: -15px; +} + +/*# sourceMappingURL=audio-play-new.vue.map */ [data-v-33a4cdd5] .el-dialog__header { padding: 10px; } @@ -4025,63 +4087,4 @@ span{ top: -15px; } -/*# sourceMappingURL=audio-play-new.vue.map */ -.audio .audio-icon[data-v-43ef9f54] { - width: 36px; - height: 36px; - margin-right: 20px; -} -.audio .audio-icon img[data-v-43ef9f54] { - width: 100%; - height: 100%; - display: block; -} -.audio .audio-controls[data-v-43ef9f54] { - width: 100%; - max-width: 200px; - flex: 1; - height: 36px; -} -.audio .audio-controls .audio-controls--progress[data-v-43ef9f54], .audio .audio-controls .audio-controls--handler[data-v-43ef9f54] { - width: 100%; -} -.audio .audio-controls .audio-controls--handler[data-v-43ef9f54] { - line-height: 1; -} -.audio .audio-controls .audio-controls--handler .play[data-v-43ef9f54] { - font-size: 24px; -} -.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-43ef9f54] { - width: 22px; - height: 22px; - display: block; - cursor: pointer; -} -.audio .audio-controls .audio-controls--handler .current-time[data-v-43ef9f54], .audio .audio-controls .audio-controls--handler .total-time[data-v-43ef9f54] { - font-size: 12px; - color: #333; -} -.play-handler.mobile[data-v-43ef9f54] { - width: 20px; - height: 20px; -} -.audio-component[data-v-43ef9f54] { - display: none; -} -[data-v-43ef9f54] .el-slider__runway { - margin: 0 0 4px 0; - background: #e3e3e3; - height: 4px; -} -[data-v-43ef9f54] .el-slider__bar { - height: 4px; -} -[data-v-43ef9f54] .el-slider__button { - width: 10px; - height: 10px; -} -[data-v-43ef9f54] .el-slider__button-wrapper { - top: -15px; -} - /*# sourceMappingURL=audio-play-new.vue.map */ \ No newline at end of file diff --git a/src/plugin/xml-digital-teaching/lib/index.js b/src/plugin/xml-digital-teaching/lib/index.js index 5adc684..0c4a117 100644 --- a/src/plugin/xml-digital-teaching/lib/index.js +++ b/src/plugin/xml-digital-teaching/lib/index.js @@ -1,6 +1,6 @@ /* * XmlDigitalTeaching v0.0.1 -* Copyright ©Fri Mar 14 2025 14:04:05 GMT+0800 (中国标准时间) smile +* Copyright ©Tue Apr 08 2025 18:13:23 GMT+0800 (中国标准时间) smile * Released under the ISC License. */ import crypto from 'crypto'; @@ -948,7 +948,7 @@ function findNodeTree(node, storeKeyPrefix) { subNodeIds }; } -function genBookGraphModel(textBookName, storeKeyPrefix) { +function genBookGraphModel(textBookName, storeKeyPrefix, level = 2) { let nodeModels = localStorage.getItem(storeKeyPrefix + 'g-nodes') ? JSON.parse(localStorage.getItem(storeKeyPrefix + 'g-nodes')) : []; let relations = localStorage.getItem(storeKeyPrefix + 'g-relations') ? JSON.parse(localStorage.getItem(storeKeyPrefix + 'g-relations')) : []; let subNodeIds = []; @@ -967,26 +967,74 @@ function genBookGraphModel(textBookName, storeKeyPrefix) { } } } - // console.log("%c%s","font-size:2em;background: #00965E;color: #FFF",'main',mainNode,subNodeIds) - if (mainNode) { - subNodeIds = []; - let nodeId = Number(mainNode.id); - for (let i = 0, len = relations.length; i < len; i++) { - let r = relations[i]; - if (r.end === nodeId) { - subNodeIds.push(r.start); - } else if (r.start === nodeId) { - subNodeIds.push(r.end); + function filterWithLevel(main, nodes, links, maxlevel) { + let usedIds = [], + usedLinkIds = [], + mainSubIds = []; + let cLevel = 0; + function deepFind(subIds) { + let nextSubIds = []; + for (let i = 0, len = subIds.length; i < len; i++) { + let subId = subIds[i]; + for (let i = 0, len = links.length; i < len; i++) { + let r = links[i]; + if (r.end === subId) { + nextSubIds.push(r.start); + usedIds.push(r.start); + if (!usedLinkIds.includes(r.id)) { + usedLinkIds.push(r.id); + } + } else if (r.start === subId) { + nextSubIds.push(r.end); + usedIds.push(r.end); + if (!usedLinkIds.includes(r.id)) { + usedLinkIds.push(r.id); + } + } + } + } + nextSubIds = [...new Set(nextSubIds)]; + if (cLevel === 0) { + mainSubIds = nextSubIds; + } + if (cLevel < maxlevel - 1 && nextSubIds.length) { + cLevel += 1; + deepFind(nextSubIds); } } + deepFind([main.id]); + usedIds = [...new Set(usedIds)]; + return { + nodes: nodes.filter(item => usedIds.includes(item.id)), + links: links.filter(item => usedLinkIds.includes(item.id)), + mainSubIds + }; + } + if (mainNode) { + subNodeIds = []; + Number(mainNode.id); + // for (let i = 0, len = relations.length; i < len; i++) { + // let r = relations[i] + // if (r.end === nodeId) { + // subNodeIds.push(r.start) + // } else if (r.start === nodeId) { + // subNodeIds.push(r.end) + // } + // } + let { + nodes, + links, + mainSubIds + } = filterWithLevel(mainNode, nodeModels, relations, level); let model = { ...mainNode, - subNodeIds, - nodes: nodeModels, - links: relations + subNodeIds: mainSubIds, + // nodes: nodeModels, + // links: relations, + nodes, + links }; return model; - // return findNodeTree(mainNode, storeKeyPrefix) } else if (subNodeIds.length) { let fakeMainNodeId = 'node-textbook'; let extralinks = []; @@ -996,17 +1044,35 @@ function genBookGraphModel(textBookName, storeKeyPrefix) { end }); }); - let model = { + let fakeMainNode = { id: fakeMainNodeId, - name: textBookName, - subNodeIds, - nodes: nodeModels, - links: [...relations, ...extralinks] + name: textBookName + }; + let { + nodes, + links, + mainSubIds + } = filterWithLevel(fakeMainNode, [...nodeModels, fakeMainNode], [...relations, ...extralinks], level); + let model = { + ...fakeMainNode, + subNodeIds: mainSubIds, + // nodes: nodeModels, + // links: [...relations, ...extralinks], + nodes, + links }; return model; } return {}; } +function queryGraphIndexs(id, storeKeyPrefix) { + let all = localStorage.getItem(storeKeyPrefix + 'g-indexs') ? JSON.parse(localStorage.getItem(storeKeyPrefix + 'g-indexs')) : []; + let result = all.filter(item => item.nodesId + '' === id + ''); + result.forEach(item => { + item.contentWithHighlight = item.html.replace(item.nodesName, `${item.nodesName}`); + }); + return result; +} function getTextNodeList(dom) { const nodeList = [...dom.childNodes]; const textNodes = []; @@ -20586,7 +20652,7 @@ if (typeof window !== 'undefined' && window.Vue) { // // -var script$5P = { +var script$5Q = { name: "XmlTextRender", props: { text: { @@ -20673,9 +20739,9 @@ function normalizeComponent(template, style, script, scopeId, isFunctionalTempla } /* script */ -const __vue_script__$5P = script$5P; +const __vue_script__$5Q = script$5Q; /* template */ -var __vue_render__$5O = function () { +var __vue_render__$5P = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -20684,17 +20750,17 @@ var __vue_render__$5O = function () { domProps: { innerHTML: _vm._s(_vm.text) }, }) }; -var __vue_staticRenderFns__$5O = []; -__vue_render__$5O._withStripped = true; +var __vue_staticRenderFns__$5P = []; +__vue_render__$5P._withStripped = true; /* style */ - const __vue_inject_styles__$5P = undefined; + const __vue_inject_styles__$5Q = undefined; /* scoped */ - const __vue_scope_id__$5P = "data-v-be1c9976"; + const __vue_scope_id__$5Q = "data-v-be1c9976"; /* module identifier */ - const __vue_module_identifier__$5P = undefined; + const __vue_module_identifier__$5Q = undefined; /* functional template */ - const __vue_is_functional_template__$5P = false; + const __vue_is_functional_template__$5Q = false; /* style inject */ /* style inject SSR */ @@ -20703,13 +20769,13 @@ __vue_render__$5O._withStripped = true; - const __vue_component__$5P = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5O, staticRenderFns: __vue_staticRenderFns__$5O }, - __vue_inject_styles__$5P, - __vue_script__$5P, - __vue_scope_id__$5P, - __vue_is_functional_template__$5P, - __vue_module_identifier__$5P, + const __vue_component__$5Q = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5P, staticRenderFns: __vue_staticRenderFns__$5P }, + __vue_inject_styles__$5Q, + __vue_script__$5Q, + __vue_scope_id__$5Q, + __vue_is_functional_template__$5Q, + __vue_module_identifier__$5Q, false, undefined, undefined, @@ -20717,7 +20783,7 @@ __vue_render__$5O._withStripped = true; ); // -var script$5O = { +var script$5P = { name: "XmlRender", props: { data: { @@ -20727,7 +20793,7 @@ var script$5O = { }, data() { return { - component: ["", __vue_component__$5P], + component: ["", __vue_component__$5Q], // 组件列表 style: { "--background-color": this.data.themeColor, @@ -20797,17 +20863,17 @@ var script$5O = { }; /* script */ -const __vue_script__$5O = script$5O; +const __vue_script__$5P = script$5P; /* template */ /* style */ - const __vue_inject_styles__$5O = undefined; + const __vue_inject_styles__$5P = undefined; /* scoped */ - const __vue_scope_id__$5O = "data-v-a8861796"; + const __vue_scope_id__$5P = "data-v-a8861796"; /* module identifier */ - const __vue_module_identifier__$5O = undefined; + const __vue_module_identifier__$5P = undefined; /* functional template */ - const __vue_is_functional_template__$5O = undefined; + const __vue_is_functional_template__$5P = undefined; /* style inject */ /* style inject SSR */ @@ -20816,23 +20882,23 @@ const __vue_script__$5O = script$5O; - const __vue_component__$5O = /*#__PURE__*/normalizeComponent( + const __vue_component__$5P = /*#__PURE__*/normalizeComponent( {}, - __vue_inject_styles__$5O, - __vue_script__$5O, - __vue_scope_id__$5O, - __vue_is_functional_template__$5O, - __vue_module_identifier__$5O, + __vue_inject_styles__$5P, + __vue_script__$5P, + __vue_scope_id__$5P, + __vue_is_functional_template__$5P, + __vue_module_identifier__$5P, false, undefined, undefined, undefined ); -__vue_component__$5O.install = (Vue, options = {}) => { +__vue_component__$5P.install = (Vue, options = {}) => { Vue.component(createNamespace$1('render', { prefix: options.prefix - }), __vue_component__$5O); + }), __vue_component__$5P); }; var defaultLang = { @@ -21410,7 +21476,7 @@ const ObjectFit = { FILL: 'fill', SCALE_DOWN: 'scale-down' }; -var script$5N = { +var script$5O = { name: 'DesignPreviewImage', mixins: [Locale], inheritAttrs: false, @@ -21701,9 +21767,9 @@ var script$5N = { }; /* script */ -const __vue_script__$5N = script$5N; +const __vue_script__$5O = script$5O; /* template */ -var __vue_render__$5N = function () { +var __vue_render__$5O = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -21818,17 +21884,17 @@ var __vue_render__$5N = function () { 2 ) }; -var __vue_staticRenderFns__$5N = []; -__vue_render__$5N._withStripped = true; +var __vue_staticRenderFns__$5O = []; +__vue_render__$5O._withStripped = true; /* style */ - const __vue_inject_styles__$5N = undefined; + const __vue_inject_styles__$5O = undefined; /* scoped */ - const __vue_scope_id__$5N = "data-v-4910c4a4"; + const __vue_scope_id__$5O = "data-v-4910c4a4"; /* module identifier */ - const __vue_module_identifier__$5N = undefined; + const __vue_module_identifier__$5O = undefined; /* functional template */ - const __vue_is_functional_template__$5N = false; + const __vue_is_functional_template__$5O = false; /* style inject */ /* style inject SSR */ @@ -21837,13 +21903,13 @@ __vue_render__$5N._withStripped = true; - const __vue_component__$5N = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5N, staticRenderFns: __vue_staticRenderFns__$5N }, - __vue_inject_styles__$5N, - __vue_script__$5N, - __vue_scope_id__$5N, - __vue_is_functional_template__$5N, - __vue_module_identifier__$5N, + const __vue_component__$5O = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5O, staticRenderFns: __vue_staticRenderFns__$5O }, + __vue_inject_styles__$5O, + __vue_script__$5O, + __vue_scope_id__$5O, + __vue_is_functional_template__$5O, + __vue_module_identifier__$5O, false, undefined, undefined, @@ -22024,7 +22090,7 @@ const Mode = { } }; const mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel'; -var script$5M = { +var script$5N = { name: 'XmlImageViewer', props: { urlList: { @@ -22370,10 +22436,10 @@ var script$5M = { }; /* script */ -const __vue_script__$5M = script$5M; +const __vue_script__$5N = script$5N; /* template */ -var __vue_render__$5M = function () { +var __vue_render__$5N = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -22586,17 +22652,17 @@ var __vue_render__$5M = function () { ), ]) }; -var __vue_staticRenderFns__$5M = []; -__vue_render__$5M._withStripped = true; +var __vue_staticRenderFns__$5N = []; +__vue_render__$5N._withStripped = true; /* style */ - const __vue_inject_styles__$5M = undefined; + const __vue_inject_styles__$5N = undefined; /* scoped */ - const __vue_scope_id__$5M = undefined; + const __vue_scope_id__$5N = undefined; /* module identifier */ - const __vue_module_identifier__$5M = undefined; + const __vue_module_identifier__$5N = undefined; /* functional template */ - const __vue_is_functional_template__$5M = false; + const __vue_is_functional_template__$5N = false; /* style inject */ /* style inject SSR */ @@ -22605,13 +22671,13 @@ __vue_render__$5M._withStripped = true; - const __vue_component__$5M = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5M, staticRenderFns: __vue_staticRenderFns__$5M }, - __vue_inject_styles__$5M, - __vue_script__$5M, - __vue_scope_id__$5M, - __vue_is_functional_template__$5M, - __vue_module_identifier__$5M, + const __vue_component__$5N = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5N, staticRenderFns: __vue_staticRenderFns__$5N }, + __vue_inject_styles__$5N, + __vue_script__$5N, + __vue_scope_id__$5N, + __vue_is_functional_template__$5N, + __vue_module_identifier__$5N, false, undefined, undefined, @@ -22619,18 +22685,18 @@ __vue_render__$5M._withStripped = true; ); /* istanbul ignore next */ -__vue_component__$5N.install = function (Vue) { - Vue.component(__vue_component__$5N.name, __vue_component__$5N); +__vue_component__$5O.install = function (Vue) { + Vue.component(__vue_component__$5O.name, __vue_component__$5O); }; // /*** * 文本块 */ -var script$5L = { +var script$5M = { name: 'XmlImageRender', components: { - previewImageRender: __vue_component__$5N + previewImageRender: __vue_component__$5O }, props: { //模式:preview 预览 (默认),editor 编辑 @@ -22861,9 +22927,9 @@ var script$5L = { }; /* script */ -const __vue_script__$5L = script$5L; +const __vue_script__$5M = script$5M; /* template */ -var __vue_render__$5L = function () { +var __vue_render__$5M = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -23271,17 +23337,17 @@ var __vue_render__$5L = function () { 2 ) }; -var __vue_staticRenderFns__$5L = []; -__vue_render__$5L._withStripped = true; +var __vue_staticRenderFns__$5M = []; +__vue_render__$5M._withStripped = true; /* style */ - const __vue_inject_styles__$5L = undefined; + const __vue_inject_styles__$5M = undefined; /* scoped */ - const __vue_scope_id__$5L = undefined; + const __vue_scope_id__$5M = undefined; /* module identifier */ - const __vue_module_identifier__$5L = undefined; + const __vue_module_identifier__$5M = undefined; /* functional template */ - const __vue_is_functional_template__$5L = false; + const __vue_is_functional_template__$5M = false; /* style inject */ /* style inject SSR */ @@ -23290,23 +23356,23 @@ __vue_render__$5L._withStripped = true; - const __vue_component__$5L = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5L, staticRenderFns: __vue_staticRenderFns__$5L }, - __vue_inject_styles__$5L, - __vue_script__$5L, - __vue_scope_id__$5L, - __vue_is_functional_template__$5L, - __vue_module_identifier__$5L, + const __vue_component__$5M = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5M, staticRenderFns: __vue_staticRenderFns__$5M }, + __vue_inject_styles__$5M, + __vue_script__$5M, + __vue_scope_id__$5M, + __vue_is_functional_template__$5M, + __vue_module_identifier__$5M, false, undefined, undefined, undefined ); -__vue_component__$5L.install = (Vue, options = {}) => { +__vue_component__$5M.install = (Vue, options = {}) => { Vue.component(createNamespace$1('image-render', { prefix: options.prefix - }), __vue_component__$5L); + }), __vue_component__$5M); }; // @@ -23476,7 +23542,7 @@ __vue_component__$5L.install = (Vue, options = {}) => { // // import "../block.scss" -var script$5K = { +var script$5L = { name: 'xmlHtmlRender', components: {}, props: { @@ -23614,8 +23680,8 @@ var script$5K = { var __$_require_static_images_leaflet_resource_enter_html_cover_png__ = "data:image/png;base64,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"; /* script */ -const __vue_script__$5K = script$5K; -var __vue_render__$5K = function () { +const __vue_script__$5L = script$5L; +var __vue_render__$5L = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -23826,17 +23892,17 @@ var __vue_render__$5K = function () { ] ) }; -var __vue_staticRenderFns__$5K = []; -__vue_render__$5K._withStripped = true; +var __vue_staticRenderFns__$5L = []; +__vue_render__$5L._withStripped = true; /* style */ - const __vue_inject_styles__$5K = undefined; + const __vue_inject_styles__$5L = undefined; /* scoped */ - const __vue_scope_id__$5K = undefined; + const __vue_scope_id__$5L = undefined; /* module identifier */ - const __vue_module_identifier__$5K = undefined; + const __vue_module_identifier__$5L = undefined; /* functional template */ - const __vue_is_functional_template__$5K = false; + const __vue_is_functional_template__$5L = false; /* style inject */ /* style inject SSR */ @@ -23845,23 +23911,23 @@ __vue_render__$5K._withStripped = true; - const __vue_component__$5K = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5K, staticRenderFns: __vue_staticRenderFns__$5K }, - __vue_inject_styles__$5K, - __vue_script__$5K, - __vue_scope_id__$5K, - __vue_is_functional_template__$5K, - __vue_module_identifier__$5K, + const __vue_component__$5L = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5L, staticRenderFns: __vue_staticRenderFns__$5L }, + __vue_inject_styles__$5L, + __vue_script__$5L, + __vue_scope_id__$5L, + __vue_is_functional_template__$5L, + __vue_module_identifier__$5L, false, undefined, undefined, undefined ); -__vue_component__$5K.install = (Vue, options = {}) => { +__vue_component__$5L.install = (Vue, options = {}) => { Vue.component(createNamespace$1('html-render', { prefix: options.prefix - }), __vue_component__$5K); + }), __vue_component__$5L); }; // @@ -23911,7 +23977,7 @@ __vue_component__$5K.install = (Vue, options = {}) => { // // import '../block.scss' -var script$5J = { +var script$5K = { name: 'XmlCatalogRender', components: {}, inject: ['getCatalogList'], @@ -24029,9 +24095,9 @@ var script$5J = { }; /* script */ -const __vue_script__$5J = script$5J; +const __vue_script__$5K = script$5K; /* template */ -var __vue_render__$5J = function () { +var __vue_render__$5K = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -24090,17 +24156,17 @@ var __vue_render__$5J = function () { 1 ) }; -var __vue_staticRenderFns__$5J = []; -__vue_render__$5J._withStripped = true; +var __vue_staticRenderFns__$5K = []; +__vue_render__$5K._withStripped = true; /* style */ - const __vue_inject_styles__$5J = undefined; + const __vue_inject_styles__$5K = undefined; /* scoped */ - const __vue_scope_id__$5J = "data-v-179d841f"; + const __vue_scope_id__$5K = "data-v-179d841f"; /* module identifier */ - const __vue_module_identifier__$5J = undefined; + const __vue_module_identifier__$5K = undefined; /* functional template */ - const __vue_is_functional_template__$5J = false; + const __vue_is_functional_template__$5K = false; /* style inject */ /* style inject SSR */ @@ -24109,13 +24175,13 @@ __vue_render__$5J._withStripped = true; - const __vue_component__$5J = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5J, staticRenderFns: __vue_staticRenderFns__$5J }, - __vue_inject_styles__$5J, - __vue_script__$5J, - __vue_scope_id__$5J, - __vue_is_functional_template__$5J, - __vue_module_identifier__$5J, + const __vue_component__$5K = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5K, staticRenderFns: __vue_staticRenderFns__$5K }, + __vue_inject_styles__$5K, + __vue_script__$5K, + __vue_scope_id__$5K, + __vue_is_functional_template__$5K, + __vue_module_identifier__$5K, false, undefined, undefined, @@ -24123,10 +24189,10 @@ __vue_render__$5J._withStripped = true; ); // 提交 -__vue_component__$5J.install = (Vue, options = {}) => { +__vue_component__$5K.install = (Vue, options = {}) => { Vue.component(createNamespace$1('catalog-render', { prefix: options.prefix - }), __vue_component__$5J); + }), __vue_component__$5K); }; var jquery = createCommonjsModule(function (module) { @@ -33105,7 +33171,7 @@ var jquery = createCommonjsModule(function (module) { }); // -var script$5I = { +var script$5J = { name: 'XmlTextDialogRender', props: { content: { @@ -33192,8 +33258,8 @@ var script$5I = { var __$_require_static_images_leaflet_icons_scroll_png__ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAAPCAYAAAChtYCSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjkxMUYzODUxMkZFMTFFRThGNzY5QzE0NjRGQzZERjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjkxMUYzODYxMkZFMTFFRThGNzY5QzE0NjRGQzZERjciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCOTExRjM4MzEyRkUxMUVFOEY3NjlDMTQ2NEZDNkRGNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCOTExRjM4NDEyRkUxMUVFOEY3NjlDMTQ2NEZDNkRGNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pgx/R5cAAAJ7SURBVHja7JpPaNNQHMe/L03TbuqUiehlKv456EE8KV5Ehn/Ag3/w4k1PXibuIljcwIKCiiAoO+lFRRARke2qKCh69KLzNIYbKG6Msbaza9o0z99LGywleYngpenvA1/ya36/95L8ml9e8hJz7Gw/dBzJvfTNa6QcKQuG6VwqpNuk/OtbZyKDTdIQaZh0ivStPSCVtnxzhJTm/DIdjrrAX1UFoonZT3pGuiNoBCmSsYZUJ82EtThx4+02zi2TFCZGB6dDXCnSlqZdNJvF4TtCiyCTXcVZZZJEnAt+nxm3N6tnNaeU6TpiF0gmywXCdGGBbNp5AFIKzE19AoQBq3cdhBAkdcclyecCroRl/Z28ki0diIBOZYtPhsRE9SVDfreujxsDTRtothlnvS4PUQT1234MQccYN7e6PsNyjojcIaCt1OxPnP//f+Quat/b2/b0bWzYdReuW/XOd8NMo2aX4dgl9A/sgZASojA/KyulRbwYGcSx4cfYvu84yoV5SNelxg7qTpVUw/rNu/hywiSGpZ9TSJkWYKS8AUEVR+/aDViYmcTz3EEcHXqIgb2HYH4eH4PZnMqdfPMEP75+gF0pwa051JaqykjTKCJx+OI9ziqTGD4+vU7ntuEViEGieyVvuVJY8PyzX95jefEX1DRvYzQStJDhg92FR985q0xieHB+6z8+pEv9naBdLnBWme57SI8baFeKnC2mKwtkmeTP4c6RfgcFOnaZ36QzSWJa41Nv0tU07pJ6BrlExmXSOdK79siT+Ve+WQV/i8UkgxrJGs+fDvPvJk2Q7qoR5H5TgTi1Fd+8SbpCynB+mQ7GRuNrXh3qo90dyvgjwAA2ZLfYDdkYOgAAAABJRU5ErkJggg=="; /* script */ -const __vue_script__$5I = script$5I; -var __vue_render__$5I = function () { +const __vue_script__$5J = script$5J; +var __vue_render__$5J = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -33300,7 +33366,7 @@ var __vue_render__$5I = function () { : _vm._e(), ]) }; -var __vue_staticRenderFns__$5I = [ +var __vue_staticRenderFns__$5J = [ function () { var _vm = this; var _h = _vm.$createElement; @@ -33346,16 +33412,16 @@ var __vue_staticRenderFns__$5I = [ ]) }, ]; -__vue_render__$5I._withStripped = true; +__vue_render__$5J._withStripped = true; /* style */ - const __vue_inject_styles__$5I = undefined; + const __vue_inject_styles__$5J = undefined; /* scoped */ - const __vue_scope_id__$5I = "data-v-6f58d350"; + const __vue_scope_id__$5J = "data-v-6f58d350"; /* module identifier */ - const __vue_module_identifier__$5I = undefined; + const __vue_module_identifier__$5J = undefined; /* functional template */ - const __vue_is_functional_template__$5I = false; + const __vue_is_functional_template__$5J = false; /* style inject */ /* style inject SSR */ @@ -33364,13 +33430,13 @@ __vue_render__$5I._withStripped = true; - const __vue_component__$5I = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5I, staticRenderFns: __vue_staticRenderFns__$5I }, - __vue_inject_styles__$5I, - __vue_script__$5I, - __vue_scope_id__$5I, - __vue_is_functional_template__$5I, - __vue_module_identifier__$5I, + const __vue_component__$5J = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5J, staticRenderFns: __vue_staticRenderFns__$5J }, + __vue_inject_styles__$5J, + __vue_script__$5J, + __vue_scope_id__$5J, + __vue_is_functional_template__$5J, + __vue_module_identifier__$5J, false, undefined, undefined, @@ -33443,6 +33509,7 @@ class MagicLink extends HTMLElement { box-sizing: border-box; overflow: hidden; vertical-align: text-bottom; + white-space: initial; } .wifi-symbol svg { display:block; @@ -33572,27 +33639,30 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js a = t ? window : Object; !function (e, w) { - var S = function () {}, + var M = function () {}, f = function (e) { return "number" == typeof e; }, - N = function (e) { - return new l(e); + B = function (e) { + return JSON.stringify(e); }, - M = N.LM = "2024-04-09 19:15", - y = "https://github.com/xiangyuecn/Recorder", - R = "Recorder", - A = "getUserMedia", - V = "srcSampleRate", - D = "sampleRate", + W = function (e) { + return new _(e); + }, + y = W.LM = "2024-10-20 22:15", + A = "https://github.com/xiangyuecn/Recorder", + T = "Recorder", + k = "getUserMedia", + N = "srcSampleRate", + V = "sampleRate", i = "bitRate", - x = "catch", - t = e[R]; - if (t && t.LM == M) return t.CLog(t.i18n.$T("K8zP::重复导入{1}", 0, R), 3); - N.IsOpen = function () { - var e = N.Stream; + E = "catch", + t = e[T]; + if (t && t.LM == y) return t.CLog(t.i18n.$T("K8zP::重复导入{1}", 0, T), 3); + W.IsOpen = function () { + var e = W.Stream; if (e) { - var t = e.getTracks && e.getTracks() || e.audioTracks || [], + var t = D(e), a = t[0]; if (a) { var n = a.readyState; @@ -33600,54 +33670,47 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } return !1; - }, N.BufferSize = 4096, N.Destroy = function () { - for (var e in O(R + " Destroy"), L(), a) a[e](); + }, W.BufferSize = 4096, W.Destroy = function () { + for (var e in Q(T + " Destroy"), O(), a) a[e](); }; var a = {}; - N.BindDestroy = function (e, t) { + W.BindDestroy = function (e, t) { a[e] = t; - }, N.Support = function () { + }, W.Support = function () { if (!w) return !1; var e = navigator.mediaDevices || {}; - return e[A] || (e = navigator)[A] || (e[A] = e.webkitGetUserMedia || e.mozGetUserMedia || e.msGetUserMedia), !!e[A] && (N.Scope = e, !!N.GetContext()); - }, N.GetContext = function (e) { + return e[k] || (e = navigator)[k] || (e[k] = e.webkitGetUserMedia || e.mozGetUserMedia || e.msGetUserMedia), !!e[k] && (W.Scope = e, !!W.GetContext()); + }, W.GetContext = function (e) { if (!w) return null; var t = window.AudioContext; if (t || (t = window.webkitAudioContext), !t) return null; - var a = N.Ctx; - if (a && "closed" != a.state || (a = N.Ctx = new t(), N.NewCtxs = N.NewCtxs || [], N.BindDestroy("Ctx", function () { - var e = N.Ctx; - e && e.close && (s(e), N.Ctx = 0); - var t = N.NewCtxs; - N.NewCtxs = []; + var a = W.Ctx, + n = 0; + return a || (a = W.Ctx = new t(), n = 1, W.NewCtxs = W.NewCtxs || [], W.BindDestroy("Ctx", function () { + var e = W.Ctx; + e && e.close && (s(e), W.Ctx = 0); + var t = W.NewCtxs; + W.NewCtxs = []; for (var a = 0; a < t.length; a++) s(t[a]); - })), e && a.close) try { - a = new t(), N.NewCtxs.push(a); - } catch (e) { - O("GetContext tryNew Error", 1, e); - } - return a; - }, N.CloseNewCtx = function (e) { - if (e && e != N.Ctx) { + })), e && a.close && (n || (a._useC || s(a), a = new t()), a._useC = 1, W.NewCtxs.push(a)), a; + }, W.CloseNewCtx = function (e) { + if (e && e.close) { s(e); - for (var t = N.NewCtxs || [], a = t.length, n = 0; n < t.length; n++) if (t[n] == e) { + for (var t = W.NewCtxs || [], a = t.length, n = 0; n < t.length; n++) if (t[n] == e) { t.splice(n, 1); break; } - O(z("mSxV::剩{1}个GetContext未close", 0, a + "-1=" + t.length), t.length ? 3 : 0); + Q($("mSxV::剩{1}个GetContext未close", 0, a + "-1=" + t.length), t.length ? 3 : 0); } }; var s = function (e) { - if (e && e.close) { - e._isC = 1; - try { - e.close(); - } catch (e) { - O("ctx close err", 1, e); - } + if (e && e.close && !e._isC && (e._isC = 1, "closed" != e.state)) try { + e.close(); + } catch (e) { + Q("ctx close err", 1, e); } }, - B = N.ResumeCtx = function (a, n, s, r) { + C = W.ResumeCtx = function (a, n, s, r) { var i = 0, o = 0, _ = 0, @@ -33667,98 +33730,117 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js var e = a.state, t = p(e); if (!i && !n(t ? ++l : l)) return u(); - t ? (_ && O(c + "sc " + e, 3), h(1), a.resume().then(function () { - _ && O(c + "sc " + a.state), u(0, 1); - })[x](function (e) { - O(c + "error", 1, e), p(a.state) || u(e.message || "error"); - })) : "closed" == e ? (_ && !a._isC && O(c + "sc " + e, 1), u("ctx closed")) : u(0, 1); + t ? (_ && Q(c + "sc " + e, 3), h(1), a.resume().then(function () { + _ && Q(c + "sc " + a.state), u(0, 1); + })[E](function (e) { + Q(c + "error", 1, e), p(a.state) || u(e.message || "error"); + })) : "closed" == e ? (_ && !a._isC && Q(c + "sc " + e, 1), u("ctx closed")) : u(0, 1); }; b(); }, - p = N.CtxSpEnd = function (e) { + p = W.CtxSpEnd = function (e) { return "suspended" == e || "interrupted" == e; }, - k = function (e) { + R = function (e) { var t = e.state, a = "ctx.state=" + t; - return p(t) && (a += z("nMIy::(注意:ctx不是running状态,rec.open和start至少要有一个在用户操作(触摸、点击等)时进行调用,否则将在rec.start时尝试进行ctx.resume,可能会产生兼容性问题(仅iOS),请参阅文档中runningContext配置)")), a; + return p(t) && (a += $("nMIy::(注意:ctx不是running状态,rec.open和start至少要有一个在用户操作(触摸、点击等)时进行调用,否则将在rec.start时尝试进行ctx.resume,可能会产生兼容性问题(仅iOS),请参阅文档中runningContext配置)")), a; }, - T = "ConnectEnableWebM"; - N[T] = !0; - var E = "ConnectEnableWorklet"; - N[E] = !1; - var C = function (e, _) { - var l = e.BufferSize || N.BufferSize, - f = e.Stream, - c = f._RC || f._c || N.GetContext(!0); - f._c = c; + I = "ConnectEnableWebM"; + W[I] = !0; + var L = "ConnectEnableWorklet"; + W[L] = !1; + var x = function (e) { + var _ = e.BufferSize || W.BufferSize, + l = e.Stream, + i = l._c, + f = i[V], + c = {}, + t = D(l), + a = t[0], + n = null, + s = ""; + if (a && a.getSettings) { + var r = (n = a.getSettings())[V]; + r && r != f && (s = $("eS8i::Stream的采样率{1}不等于{2},将进行采样率转换(注意:音质不会变好甚至可能变差),主要在移动端未禁用回声消除时会产生此现象,浏览器有回声消除时可能只会返回16k采样率的音频数据,", 0, r, f)); + } + l._ts = n, Q(s + "Stream TrackSet: " + B(n), s ? 3 : 0); var u, - a, + o, h, - i = function (e) { - var t = f._m = c.createMediaStreamSource(f), - a = c.destination, + b = function (e) { + var t = l._m = i.createMediaStreamSource(l), + a = i.destination, n = "createMediaStreamDestination"; - c[n] && (a = f._d = c[n]()), t.connect(e), e.connect(a); + i[n] && (a = l._d = i[n]()), t.connect(e), e.connect(a); }, - b = "", - p = f._call, - m = function (e) { - for (var t in p) { - for (var a = e.length, n = new Int16Array(a), s = 0, r = 0; r < a; r++) { - var i = Math.max(-1, Math.min(1, e[r])); - i = i < 0 ? 32768 * i : 32767 * i, n[r] = i, s += Math.abs(i); + p = "", + m = l._call, + v = function (e, t) { + for (var a in m) { + if (t != f) { + c.index = 0; + var n = (c = W.SampleData([e], t, f, c, { + _sum: 1 + })).data, + s = c._sum; + } else { + c = {}; + for (var r = e.length, n = new Int16Array(r), s = 0, i = 0; i < r; i++) { + var o = Math.max(-1, Math.min(1, e[i])); + o = o < 0 ? 32768 * o : 32767 * o, n[i] = o, s += Math.abs(o); + } } - for (var o in p) p[o](n, s); + for (var _ in m) m[_](n, s); return; } }, - v = "ScriptProcessor", - d = "audioWorklet", - o = R + " " + d, - g = "RecProc", - w = "MediaRecorder", - S = w + ".WebM.PCM", - M = c.createScriptProcessor || c.createJavaScriptNode, - y = z("ZGlf::。由于{1}内部1秒375次回调,在移动端可能会有性能问题导致回调丢失录音变短,PC端无影响,暂不建议开启{1}。", 0, d), - A = function () { - a = f.isWorklet = !1, n(f), O(z("7TU0::Connect采用老的{1},", 0, v) + Y.get(z(N[E] ? "JwCL::但已设置{1}尝试启用{2}" : "VGjB::可设置{1}尝试启用{2}", 2), [R + "." + E + "=true", d]) + b + y, 3); - var e = f._p = M.call(c, l, 1, 1); - i(e), e.onaudioprocess = function (e) { + d = "ScriptProcessor", + g = "audioWorklet", + S = T + " " + g, + w = "RecProc", + M = "MediaRecorder", + y = M + ".WebM.PCM", + A = i.createScriptProcessor || i.createJavaScriptNode, + k = $("ZGlf::。由于{1}内部1秒375次回调,在移动端可能会有性能问题导致回调丢失录音变短,PC端无影响,暂不建议开启{1}。", 0, g), + R = function () { + o = l.isWorklet = !1, P(l), Q($("7TU0::Connect采用老的{1},", 0, d) + q.get($(W[L] ? "JwCL::但已设置{1}尝试启用{2}" : "VGjB::可设置{1}尝试启用{2}", 2), [T + "." + L + "=true", g]) + p + k, 3); + var e = l._p = A.call(i, _, 1, 1); + b(e), e.onaudioprocess = function (e) { var t = e.inputBuffer.getChannelData(0); - m(t); + v(t, f); }; }, - k = function () { - u = f.isWebM = !1, I(f), a = f.isWorklet = !M || N[E]; + x = function () { + u = l.isWebM = !1, H(l), o = l.isWorklet = !A || W[L]; var t = window.AudioWorkletNode; - if (a && c[d] && t) { + if (o && i[g] && t) { var n = function () { - return a && f._na; + return o && l._na; }, - s = f._na = function () { + s = l._na = function () { "" !== h && (clearTimeout(h), h = setTimeout(function () { - h = 0, n() && (O(z("MxX1::{1}未返回任何音频,恢复使用{2}", 0, d, v), 3), M && A()); + h = 0, n() && (Q($("MxX1::{1}未返回任何音频,恢复使用{2}", 0, g, d), 3), A && R()); }, 500)); }, r = function () { if (n()) { - var e = f._n = new t(c, g, { + var e = l._n = new t(i, w, { processorOptions: { - bufferSize: l + bufferSize: _ } }); - i(e), e.port.onmessage = function (e) { - h && (clearTimeout(h), h = ""), n() ? m(e.data.val) : a || O(z("XUap::{1}多余回调", 0, d), 3); - }, O(z("yOta::Connect采用{1},设置{2}可恢复老式{3}", 0, d, R + "." + E + "=false", v) + b + y, 3); + b(e), e.port.onmessage = function (e) { + h && (clearTimeout(h), h = ""), n() ? v(e.data.val, f) : o || Q($("XUap::{1}多余回调", 0, g), 3); + }, Q($("yOta::Connect采用{1},设置{2}可恢复老式{3}", 0, g, T + "." + L + "=false", d) + p + k, 3); } }, e = function () { - if (n()) if (c[g]) r();else { + if (n()) if (i[w]) r();else { var e, t, - a = (t = "class " + g + " extends AudioWorkletProcessor{", t += "constructor " + (e = function (e) { - return e.toString().replace(/^function|DEL_/g, "").replace(/\$RA/g, o); + a = (t = "class " + w + " extends AudioWorkletProcessor{", t += "constructor " + (e = function (e) { + return e.toString().replace(/^function|DEL_/g, "").replace(/\$RA/g, S); })(function (e) { DEL_super(e); var t = this, @@ -33784,137 +33866,188 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js n.pos = i; } return !n.kill; - }), t = (t += '}try{registerProcessor("' + g + '", ' + g + ')}catch(e){$C.error("' + o + ' Reg Error",e)}').replace(/\$C\./g, "console."), "data:text/javascript;base64," + btoa(unescape(encodeURIComponent(t)))); - c[d].addModule(a).then(function (e) { - n() && (c[g] = 1, r(), h && s()); - })[x](function (e) { - O(d + ".addModule Error", 1, e), n() && A(); + }), t = (t += '}try{registerProcessor("' + w + '", ' + w + ')}catch(e){$C.error("' + S + ' Reg Error",e)}').replace(/\$C\./g, "console."), "data:text/javascript;base64," + btoa(unescape(encodeURIComponent(t)))); + i[g].addModule(a).then(function (e) { + n() && (i[w] = 1, r(), h && s()); + })[E](function (e) { + Q(g + ".addModule Error", 1, e), n() && R(); }); } }; - B(c, function () { + C(i, function () { return n(); }, e, e); - } else A(); + } else R(); }; !function () { - var e = window[w], + var e = window[M], t = "ondataavailable", a = "audio/webm; codecs=pcm"; - u = f.isWebM = N[T]; + u = l.isWebM = W[I]; var n = e && t in e.prototype && e.isTypeSupported(a); - if (b = n ? "" : z("VwPd::(此浏览器不支持{1})", 0, S), !_ || !u || !n) return k(); + if (p = n ? "" : $("VwPd::(此浏览器不支持{1})", 0, y), !u || !n) return x(); var s = function () { - return u && f._ra; - }, - r = (f._ra = function () { - "" !== h && (clearTimeout(h), h = setTimeout(function () { - s() && (O(z("vHnb::{1}未返回任何音频,降级使用{2}", 0, w, d), 3), k()); - }, 500)); - }, Object.assign({ + return u && l._ra; + }; + l._ra = function () { + "" !== h && (clearTimeout(h), h = setTimeout(function () { + s() && (Q($("vHnb::{1}未返回任何音频,降级使用{2}", 0, M, g), 3), x()); + }, 500)); + }; + var r = Object.assign({ mimeType: a - }, N.ConnectWebMOptions)), - i = f._r = new e(f, r), - o = f._rd = { - sampleRate: c[D] - }; + }, W.ConnectWebMOptions), + i = l._r = new e(l, r), + o = l._rd = {}; i[t] = function (e) { var t = new FileReader(); t.onloadend = function () { if (s()) { - var e = P(new Uint8Array(t.result), o); + var e = F(new Uint8Array(t.result), o); if (!e) return; - if (-1 == e) return void k(); - h && (clearTimeout(h), h = ""), m(e); - } else u || O(z("O9P7::{1}多余回调", 0, w), 3); + if (-1 == e) return void x(); + h && (clearTimeout(h), h = ""), v(e, o.webmSR); + } else u || Q($("O9P7::{1}多余回调", 0, M), 3); }, t.readAsArrayBuffer(e.data); - }, i.start(~~(l / 48)), O(z("LMEm::Connect采用{1},设置{2}可恢复使用{3}或老式{4}", 0, S, R + "." + T + "=false", d, v)); + }, i.start(~~(_ / 48)), Q($("LMEm::Connect采用{1},设置{2}可恢复使用{3}或老式{4}", 0, y, T + "." + I + "=false", g, d)); }(); }, r = function (e) { e._na && e._na(), e._ra && e._ra(); }, - n = function (e) { + P = function (e) { e._na = null, e._n && (e._n.port.postMessage({ kill: !0 }), e._n.disconnect(), e._n = null); }, - I = function (e) { + H = function (e) { if (e._ra = null, e._r) { try { e._r.stop(); } catch (e) { - O("mr stop err", 1, e); + Q("mr stop err", 1, e); } e._r = null; } }, - L = function (e) { - var t = (e = e || N) == N, + O = function (e) { + var t = (e = e || W) == W, a = e.Stream; - a && (a._m && (a._m.disconnect(), a._m = null), !a._RC && a._c && N.CloseNewCtx(a._c), a._RC = null, a._c = null, a._d && (o(a._d.stream), a._d = null), a._p && (a._p.disconnect(), a._p.onaudioprocess = a._p = null), n(a), I(a), t && o(a)), e.Stream = 0; + a && (a._m && (a._m.disconnect(), a._m = null), !a._RC && a._c && W.CloseNewCtx(a._c), a._RC = null, a._c = null, a._d && (n(a._d.stream), a._d = null), a._p && (a._p.disconnect(), a._p.onaudioprocess = a._p = null), P(a), H(a), t && n(a)), e.Stream = 0; }, - o = N.StopS_ = function (e) { - for (var t = e.getTracks && e.getTracks() || e.audioTracks || [], a = 0; a < t.length; a++) { + n = W.StopS_ = function (e) { + for (var t = D(e), a = 0; a < t.length; a++) { var n = t[a]; n.stop && n.stop(); } e.stop && e.stop(); + }, + D = function (e) { + var t = 0, + a = 0, + n = []; + e.getAudioTracks && (t = e.getAudioTracks(), a = e.getVideoTracks()), t || (t = e.audioTracks, a = e.videoTracks); + for (var s = 0, r = t ? t.length : 0; s < r; s++) n.push(t[s]); + for (var s = 0, r = a ? a.length : 0; s < r; s++) n.push(a[s]); + return n; }; - N.SampleData = function (e, t, a, n, s) { + W.SampleData = function (e, t, a, n, s) { var r = "SampleData"; n || (n = {}); var i = n.index || 0, o = n.offset || 0, - _ = n.filter; - if (_ && _.fn && _.sr != t && (_ = null, O(z("d48C::{1}的filter采样率变了,重设滤波", 0, r), 3)), !_) { - var l = 3 * t / 4 < a ? 0 : a / 2 * 3 / 4; - _ = { - fn: l ? N.IIRFilter(!0, t, l) : 0 + _ = n.raisePrev || 0, + l = n.filter; + if (l && l.fn && (l.sr && l.sr != t || l.srn && l.srn != a) && (l = null, Q($("d48C::{1}的filter采样率变了,重设滤波", 0, r), 3)), !l) if (a <= t) { + var f = 3 * t / 4 < a ? 0 : a / 2 * 3 / 4; + l = { + fn: f ? W.IIRFilter(!0, t, f) : 0 + }; + } else { + var f = 3 * a / 4 < t ? 0 : t / 2 * 3 / 4; + l = { + fn: f ? W.IIRFilter(!0, a, f) : 0 }; } - _.sr = t; - var f = _.fn, - c = n.frameNext || []; + l.sr = t, l.srn = a; + var c = l.fn, + u = n.frameNext || []; s || (s = {}); - var u = s.frameSize || 1; - s.frameType && (u = "mp3" == s.frameType ? 1152 : 1); - var h = e.length; - h + 1 < i && O(z("tlbC::{1}似乎传入了未重置chunk {2}", 0, r, i + ">" + h), 3); - for (var b = 0, p = i; p < h; p++) b += e[p].length; - b = Math.max(0, b - Math.floor(o)); - var m = t / a; - 1 < m ? b = Math.floor(b / m) : (m = 1, a = t), b += c.length; - for (var v = new Int16Array(b), d = 0, p = 0; p < c.length; p++) v[d] = c[p], d++; - for (; i < h; i++) { - for (var g = e[i], p = o, w = g.length, S = f && f.Embed, M = 0, y = 0, A = 0, k = 0, R = 0, x = 0; R < w; R++, x++) if (x < w && (S ? (A = g[x], k = S.b0 * A + S.b1 * S.x1 + S.b0 * S.x2 - S.a1 * S.y1 - S.a2 * S.y2, S.x2 = S.x1, S.x1 = A, S.y2 = S.y1, S.y1 = k) : k = f ? f(g[x]) : g[x]), M = y, y = k, 0 != x) { - var B = Math.floor(p); - if (R == B) { - var T = Math.ceil(p), - E = p - B, - C = M, - I = T < w ? y : C, - L = C + (I - C) * E; - 32767 < L ? L = 32767 : L < -32768 && (L = -32768), v[d] = L, d++, p += m; + var h = s.frameSize || 1; + s.frameType && (h = "mp3" == s.frameType ? 1152 : 1); + var b = s._sum, + p = 0, + m = e.length; + m + 1 < i && Q($("tlbC::{1}似乎传入了未重置chunk {2}", 0, r, i + ">" + m), 3); + for (var v = 0, d = i; d < m; d++) v += e[d].length; + var g = t / a; + if (1 < g) v = Math.max(0, v - Math.floor(o)), v = Math.floor(v / g);else if (g < 1) { + var S = 1 / g; + v = Math.floor(v * S); + } + v += u.length; + for (var w = new Int16Array(v), M = 0, d = 0; d < u.length; d++) w[M] = u[d], M++; + for (; i < m; i++) { + var y = e[i], + A = y instanceof Float32Array, + d = o, + k = y.length, + R = c && c.Embed, + x = 0, + B = 0, + T = 0, + E = 0; + if (g < 1) { + for (var C = M + d, I = _, L = 0; L < k; L++) { + var P = y[L]; + A && (P = (P = Math.max(-1, Math.min(1, P))) < 0 ? 32768 * P : 32767 * P); + var H = Math.floor(C); + C += S; + for (var O = Math.floor(C), N = (P - I) / (O - H), V = 1; H < O; H++, V++) { + var D = Math.floor(I + V * N); + R ? (T = D, E = R.b0 * T + R.b1 * R.x1 + R.b0 * R.x2 - R.a1 * R.y1 - R.a2 * R.y2, R.x2 = R.x1, R.x1 = T, R.y2 = R.y1, R.y1 = E, D = E) : D = c ? c(D) : D, 32767 < D ? D = 32767 : D < -32768 && (D = -32768), b && (p += Math.abs(D)), w[H] = D, M++; + } + I = _ = P, d += S; } - } else R--; - o = Math.max(0, p - w); + o = d % 1; + } else { + for (var L = 0, F = 0; L < k; L++, F++) { + if (F < k) { + var P = y[F]; + A && (P = (P = Math.max(-1, Math.min(1, P))) < 0 ? 32768 * P : 32767 * P), R ? (T = P, E = R.b0 * T + R.b1 * R.x1 + R.b0 * R.x2 - R.a1 * R.y1 - R.a2 * R.y2, R.x2 = R.x1, R.x1 = T, R.y2 = R.y1, R.y1 = E) : E = c ? c(P) : P; + } + if (x = B, B = E, 0 != F) { + var j = Math.floor(d); + if (L == j) { + var X = Math.ceil(d), + Y = d - j, + z = x, + q = X < k ? B : z, + G = z + (q - z) * Y; + 32767 < G ? G = 32767 : G < -32768 && (G = -32768), b && (p += Math.abs(G)), w[M] = G, M++, d += g; + } + } else L--; + } + o = Math.max(0, d - k); + } } - c = null; - var P = v.length % u; - if (0 < P) { - var H = 2 * (v.length - P); - c = new Int16Array(v.buffer.slice(H)), v = new Int16Array(v.buffer.slice(0, H)); + g < 1 && M + 1 == v && (v--, w = new Int16Array(w.buffer.slice(0, 2 * v))), M - 1 != v && M != v && Q(r + " idx:" + M + " != size:" + v, 3), u = null; + var U = v % h; + if (0 < U) { + var K = 2 * (v - U); + u = new Int16Array(w.buffer.slice(K)), w = new Int16Array(w.buffer.slice(0, K)); } - return { + var Z = { index: i, offset: o, - filter: _, - frameNext: c, + raisePrev: _, + filter: l, + frameNext: u, sampleRate: a, - data: v + data: w }; - }, N.IIRFilter = function (e, t, a) { + return b && (Z._sum = p), Z; + }, W.IIRFilter = function (e, t, a) { var n = 2 * Math.PI * a / t, s = Math.sin(n), r = Math.cos(n), @@ -33943,148 +34076,174 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js a1: _, a2: l }, v; - }, N.PowerLevel = function (e, t) { + }, W.PowerLevel = function (e, t) { var a = e / t || 0; return a < 1251 ? Math.round(a / 1250 * 10) : Math.round(Math.min(100, Math.max(0, 100 * (1 + Math.log(a / 1e4) / Math.log(10))))); - }, N.PowerDBFS = function (e) { + }, W.PowerDBFS = function (e) { var t = Math.max(.1, e || 0); return t = Math.min(t, 32767), t = 20 * Math.log(t / 32767) / Math.log(10), Math.max(-100, Math.round(t)); - }, N.CLog = function (e, t) { + }, W.CLog = function (e, t) { if ("object" == typeof console) { var a = new Date(), n = ("0" + a.getMinutes()).substr(-2) + ":" + ("0" + a.getSeconds()).substr(-2) + "." + ("00" + a.getMilliseconds()).substr(-3), s = this && this.envIn && this.envCheck && this.id, - r = ["[" + n + " " + R + (s ? ":" + s : "") + "]" + e], + r = ["[" + n + " " + T + (s ? ":" + s : "") + "]" + e], i = arguments, - o = N.CLog, + o = W.CLog, _ = 2, l = o.log || console.log; for (f(t) ? l = 1 == t ? o.error || console.error : 3 == t ? o.warn || console.warn : l : _ = 1; _ < i.length; _++) r.push(i[_]); c ? l && l("[IsLoser]" + r[0], 1 < r.length ? r : "") : l.apply(console, r); } }; - var O = function () { - N.CLog.apply(this, arguments); + var Q = function () { + W.CLog.apply(this, arguments); }, c = !0; try { c = !console.log.apply; } catch (e) {} - var _ = 0; - function l(e) { + var o = 0; + function _(e) { var t = this; - t.id = ++_, u(); + t.id = ++o, l(); var a = { type: "mp3", - onProcess: S + onProcess: M }; for (var n in e) a[n] = e[n]; var s = (t.set = a)[i], - r = a[D]; - (s && !f(s) || r && !f(r)) && t.CLog(z.G("IllegalArgs-1", [z("VtS4::{1}和{2}必须是数值", 0, D, i)]), 1, e), a[i] = +s || 16, a[D] = +r || 16e3, t.state = 0, t._S = 9, t.Sync = { + r = a[V]; + (s && !f(s) || r && !f(r)) && t.CLog($.G("IllegalArgs-1", [$("VtS4::{1}和{2}必须是数值", 0, V, i)]), 1, e), a[i] = +s || 16, a[V] = +r || 16e3, t.state = 0, t._S = 9, t.Sync = { O: 9, C: 9 }; } - N.Sync = { + W.Sync = { O: 9, C: 9 - }, N.prototype = l.prototype = { - CLog: O, + }, W.prototype = _.prototype = { + CLog: Q, _streamStore: function () { - return this.set.sourceStream ? this : N; + return this.set.sourceStream ? this : W; + }, + _streamGet: function () { + return this._streamStore().Stream; }, _streamCtx: function () { - var e = this._streamStore().Stream; + var e = this._streamGet(); return e && e._c; }, open: function (e, a) { - var n = this, - s = n.set, - r = n._streamStore(), - i = 0; - e = e || S; - var o = function (e, t) { - t = !!t, n.CLog(z("5tWi::录音open失败:") + e + ",isUserNotAllow:" + t, 1), i && N.CloseNewCtx(i), a && a(e, t); + var _ = this, + l = _.set, + n = _._streamStore(), + s = 0; + e = e || M; + var r = function (e, t) { + t = !!t, _.CLog($("5tWi::录音open失败:") + e + ",isUserNotAllow:" + t, 1), s && W.CloseNewCtx(s), a && a(e, t); }; - n._streamTag = A; - var _ = function () { - n.CLog("open ok, id:" + n.id + " stream:" + n._streamTag), e(), n._SO = 0; + _._streamTag = k; + var i = function () { + _.CLog("open ok, id:" + _.id + " stream:" + _._streamTag), e(), _._SO = 0; }, - l = r.Sync, - f = ++l.O, - c = l.C; - n._O = n._O_ = f, n._SO = n._S; + o = n.Sync, + f = ++o.O, + c = o.C; + _._O = _._O_ = f, _._SO = _._S; if (w) { - var t = n.envCheck({ + var t = _.envCheck({ envName: "H5", canProcess: !0 }); - if (t) o(z("A5bm::不能录音:") + t);else if (s.sourceStream) { - if (n._streamTag = "set.sourceStream", !N.GetContext()) return void o(z("1iU7::不支持此浏览器从流中获取录音")); - L(r); - var u = n.Stream = s.sourceStream; - u._RC = s.runningContext, u._call = {}; - try { - C(r); - } catch (e) { - return L(r), void o(z("BTW2::从流中打开录音失败:") + e.message); - } - _(); - } else { - var h = function (e, t) { - try { - window.top.a; - } catch (e) { - return void o(z("Nclz::无权录音(跨域,请尝试给iframe添加麦克风访问策略,如{1})", 0, 'allow="camera;microphone"')); - } - /Permission|Allow/i.test(e) ? o(z("gyO5::用户拒绝了录音权限"), !0) : !1 === window.isSecureContext ? o(z("oWNo::浏览器禁止不安全页面录音,可开启https解决")) : /Found/i.test(e) ? o(t + z("jBa9::,无可用麦克风")) : o(t); - }; - if (N.IsOpen()) _();else if (N.Support()) { - var b = s.runningContext; - b || (b = i = N.GetContext(!0)); - var p = function (t) { - setTimeout(function () { - t._call = {}; - var e = N.Stream; - e && (L(), t._call = e._call), (N.Stream = t)._c = b, t._RC = s.runningContext, function () { - if (c != l.C || !n._O) { - var e = z("dFm8::open被取消"); - return f == l.O ? n.close() : e = z("VtJO::open被中断"), o(e), !0; - } - }() || (N.IsOpen() ? (e && n.CLog(z("upb8::发现同时多次调用open"), 1), C(r, 1), _()) : o(z("Q1GA::录音功能无效:无音频流"))); - }, 100); - }, - m = function (e) { - var t = e.name || e.message || e.code + ":" + e; - n.CLog(z("xEQR::请求录音权限错误"), 1, e), h(t, z("bDOG::无法录音:") + t); - }, - v = s.audioTrackSet || {}; - v[D] = b[D]; - var d = { - audio: v + if (t) r($("A5bm::不能录音:") + t);else { + var u, + h = function () { + (u = l.runningContext) || (u = s = W.GetContext(!0)); }; + if (l.sourceStream) { + if (_._streamTag = "set.sourceStream", !W.GetContext()) return void r($("1iU7::不支持此浏览器从流中获取录音")); + h(), O(n); + var b = _.Stream = l.sourceStream; + b._c = u, b._RC = l.runningContext, b._call = {}; try { - var g = N.Scope[A](d, p, m); + x(n); } catch (e) { - n.CLog(A, 3, e), d = { - audio: !0 - }, g = N.Scope[A](d, p, m); + return O(n), void r($("BTW2::从流中打开录音失败:") + e.message); } - n.CLog(A + "(" + JSON.stringify(d) + ") " + k(b) + z("RiWe::,未配置noiseSuppression和echoCancellation时浏览器可能会自动打开降噪和回声消除,移动端可能会降低系统播放音量(关闭录音后可恢复),请参阅文档中audioTrackSet配置") + "(" + y + ") LM:" + M + " UA:" + navigator.userAgent), g && g.then && g.then(p)[x](m); - } else h("", z("COxc::此浏览器不支持录音")); + i(); + } else { + var p = function (e, t) { + try { + window.top.a; + } catch (e) { + return void r($("Nclz::无权录音(跨域,请尝试给iframe添加麦克风访问策略,如{1})", 0, 'allow="camera;microphone"')); + } + m(1, e) && (/Found/i.test(e) ? r(t + $("jBa9::,无可用麦克风")) : r(t)); + }, + m = function (e, t) { + if (/Permission|Allow/i.test(t)) e && r($("gyO5::用户拒绝了录音权限"), !0);else { + if (!1 !== window.isSecureContext) return 1; + e && r($("oWNo::浏览器禁止不安全页面录音,可开启https解决")); + } + }; + if (W.IsOpen()) i();else if (W.Support()) { + h(); + var v = function (t) { + setTimeout(function () { + t._call = {}; + var e = W.Stream; + e && (O(), t._call = e._call), (W.Stream = t)._c = u, t._RC = l.runningContext, function () { + if (c != o.C || !_._O) { + var e = $("dFm8::open被取消"); + return f == o.O ? _.close() : e = $("VtJO::open被中断"), r(e), !0; + } + }() || (W.IsOpen() ? (e && _.CLog($("upb8::发现同时多次调用open"), 1), x(n), i()) : r($("Q1GA::录音功能无效:无音频流"))); + }, 100); + }, + d = function (e) { + var t = e.name || e.message || e.code + ":" + e, + a = ""; + 1 == g && m(0, t) && (a = $("KxE2::,将尝试禁用回声消除后重试")), _.CLog($("xEQR::请求录音权限错误") + a + "|" + e, a ? 3 : 1, e), a ? S(1) : p(t, $("bDOG::无法录音:") + e); + }, + g = 0, + S = function (e) { + g++; + var t = "audioTrackSet", + a = "autoGainControl", + n = "echoCancellation", + s = "noiseSuppression", + r = JSON.parse(B(l[t] || !0)); + _.CLog("open... " + g + " " + t + ":" + B(r)), e && ("object" != typeof r && (r = {}), r[a] = !1, r[n] = !1, r[s] = !1), r[V] && _.CLog($("IjL3::注意:已配置{1}参数,可能会出现浏览器不能正确选用麦克风、移动端无法启用回声消除等现象", 0, t + "." + V), 3); + var i = { + audio: r, + video: l.videoTrackSet || !1 + }; + try { + var o = W.Scope[k](i, v, d); + } catch (e) { + _.CLog(k, 3, e), i = { + audio: !0, + video: !1 + }, o = W.Scope[k](i, v, d); + } + _.CLog(k + "(" + B(i) + ") " + R(u) + $("RiWe::,未配置 {1} 时浏览器可能会自动启用回声消除,移动端未禁用回声消除时可能会降低系统播放音量(关闭录音后可恢复)和仅提供16k采样率的音频流(不需要回声消除时可明确配置成禁用来获得48k高音质的流),请参阅文档中{2}配置", 0, "audioTrackSet:{echoCancellation,noiseSuppression,autoGainControl}", t) + "(" + A + ") LM:" + y + " UA:" + navigator.userAgent), o && o.then && o.then(v)[E](d); + }; + S(); + } else p("", $("COxc::此浏览器不支持录音")); + } } - } else o(z.G("NonBrowser-1", ["open"]) + z("EMJq::,可尝试使用RecordApp解决方案") + "(" + y + "/tree/master/app-support-sample)"); + } else r($.G("NonBrowser-1", ["open"]) + $("EMJq::,可尝试使用RecordApp解决方案") + "(" + A + "/tree/master/app-support-sample)"); }, close: function (e) { - e = e || S; + e = e || M; var t = this, a = t._streamStore(); t._stop(); var n = " stream:" + t._streamTag, s = a.Sync; - if (t._O = 0, t._O_ != s.O) return t.CLog(z("hWVz::close被忽略(因为同时open了多个rec,只有最后一个会真正close)") + n, 3), void e(); - s.C++, L(a), t.CLog("close," + n), e(); + if (t._O = 0, t._O_ != s.O) return t.CLog($("hWVz::close被忽略(因为同时open了多个rec,只有最后一个会真正close)") + n, 3), void e(); + s.C++, O(a), t.CLog("close," + n), e(); }, mock: function (e, t) { var a = this; @@ -34092,17 +34251,17 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js }, _setSrcSR: function (e) { var t = this.set, - a = t[D]; - e < a ? t[D] = e : a = 0, this[V] = e, this.CLog(V + ": " + e + " set." + D + ": " + t[D] + (a ? " " + z("UHvm::忽略") + ": " + a : ""), a ? 3 : 0); + a = t[V]; + e < a ? t[V] = e : a = 0, this[N] = e, this.CLog(N + ": " + e + " set." + V + ": " + t[V] + (a ? " " + $("UHvm::忽略") + ": " + a : ""), a ? 3 : 0); }, envCheck: function (e) { var t, a = this.set, n = "CPU_BE"; - if (t || N[n] || "function" != typeof Int8Array || new Int8Array(new Int32Array([1]).buffer)[0] || (u(n), t = z("Essp::不支持{1}架构", 0, n)), !t) { + if (t || W[n] || "function" != typeof Int8Array || new Int8Array(new Int32Array([1]).buffer)[0] || (l(n), t = $("Essp::不支持{1}架构", 0, n)), !t) { var s = a.type, r = this[s + "_envCheck"]; - a.takeoffEncodeChunk && (r ? e.canProcess || (t = z("7uMV::{1}环境不支持实时处理", 0, e.envName)) : t = z("2XBl::{1}类型不支持设置takeoffEncodeChunk", 0, s) + (this[s] ? "" : z("LG7e::(未加载编码器)"))), !t && r && (t = this[s + "_envCheck"](e, a)); + a.takeoffEncodeChunk && (r ? e.canProcess || (t = $("7uMV::{1}环境不支持实时处理", 0, e.envName)) : t = $("2XBl::{1}类型不支持设置takeoffEncodeChunk", 0, s) + (this[s] ? "" : $("LG7e::(未加载编码器)"))), !t && r && (t = this[s + "_envCheck"](e, a)); } return t || ""; }, @@ -34122,9 +34281,9 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js r = s.set, i = s.engineCtx; if (1 == s.state) { - var a = s[V], + var a = s[N], n = e.length, - o = N.PowerLevel(t, n), + o = W.PowerLevel(t, n), _ = s.buffers, l = _.length; _.push(e); @@ -34147,13 +34306,13 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js p = d.t, m += d.d; } var g = b[1], - w = u - p, - S = w - m; - if (w / 3 < S && (g && 1e3 < w || 6 <= b.length)) { + S = u - p, + w = S - m; + if (S / 3 < w && (g && 1e3 < S || 6 <= b.length)) { var M = u - g.t - h; if (h / 5 < M) { var y = !r.disableEnvInFix; - if (s.CLog("[" + u + "]" + Y.get(z(y ? "4Kfd::补偿{1}ms" : "bM5i::未补偿{1}ms", 1), [M]), 3), s.envInFix += M, y) { + if (s.CLog("[" + u + "]" + q.get($(y ? "4Kfd::补偿{1}ms" : "bM5i::未补偿{1}ms", 1), [M]), 3), s.envInFix += M, y) { var A = new Int16Array(M * a / 1e3); n += A.length, _.push(A); } @@ -34163,8 +34322,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js R = n, x = k + R; if (s.recSize = x, i) { - var B = N.SampleData(_, a, r[D], i.chunkInfo); - i.chunkInfo = B, k = i.pcmSize, R = B.data.length, x = k + R, i.pcmSize = x, _ = i.pcmDatas, l = _.length, _.push(B.data), a = B[D]; + var B = W.SampleData(_, a, r[V], i.chunkInfo); + i.chunkInfo = B, k = i.pcmSize, R = B.data.length, x = k + R, i.pcmSize = x, _ = i.pcmDatas, l = _.length, _.push(B.data), a = B[V]; } var T = Math.round(x / a * 1e3), E = _.length, @@ -34185,51 +34344,54 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js try { L = r.onProcess(_, o, T, a, l, I); } catch (e) { - console.error(P + z("gFUF::回调出错是不允许的,需保证不会抛异常"), e); + console.error(P + $("gFUF::回调出错是不允许的,需保证不会抛异常"), e); } var H = Date.now() - u; - if (10 < H && 1e3 < s.envInFirst - u && s.CLog(P + z("2ghS::低性能,耗时{1}ms", 0, H), 3), !0 === L) { + if (10 < H && 1e3 < s.envInFirst - u && s.CLog(P + $("2ghS::低性能,耗时{1}ms", 0, H), 3), !0 === L) { for (var O = 0, v = l; v < E; v++) null == _[v] ? O = 1 : _[v] = new Int16Array(0); - O ? s.CLog(z("ufqH::未进入异步前不能清除buffers"), 3) : i ? i.pcmSize -= R : s.recSize -= R; + O ? s.CLog($("ufqH::未进入异步前不能清除buffers"), 3) : i ? i.pcmSize -= R : s.recSize -= R; } else I(); } else s.state || s.CLog("envIn at state=0", 3); }, start: function () { var t = this, e = 1; - if (t.set.sourceStream ? t.Stream || (e = 0) : N.IsOpen() || (e = 0), e) { + if (t.set.sourceStream ? t.Stream || (e = 0) : W.IsOpen() || (e = 0), e) { var a = t._streamCtx(); - if (t.CLog(z("kLDN::start 开始录音,") + k(a) + " stream:" + t._streamTag), t._stop(), t.envStart(null, a[D]), t.state = 3, t._SO && t._SO + 1 != t._S) t.CLog(z("Bp2y::start被中断"), 3);else { + if (t.CLog($("kLDN::start 开始录音,") + R(a) + " stream:" + t._streamTag), t._stop(), t.envStart(null, a[V]), t.state = 3, t._SO && t._SO + 1 != t._S) t.CLog($("Bp2y::start被中断"), 3);else { t._SO = 0; var n = function () { 3 == t.state && (t.state = 1, t.resume()); }, - s = "AudioContext resume: "; - B(a, function (e) { + s = "AudioContext resume: ", + r = t._streamGet(); + r._call[t.id] = function () { + t.CLog(s + a.state + "|stream ok"), n(); + }, C(a, function (e) { return e && t.CLog(s + "wait..."), 3 == t.state; }, function (e) { e && t.CLog(s + a.state), n(); }, function (e) { - t.CLog(s + a.state + z("upkE::,可能无法录音:") + e, 1), n(); + t.CLog(s + a.state + $("upkE::,可能无法录音:") + e, 1), n(); }); } - } else t.CLog(z("6WmN::start失败:未open"), 1); + } else t.CLog($("6WmN::start失败:未open"), 1); }, pause: function () { var e = this, - t = e._streamStore().Stream; + t = e._streamGet(); e.state && (e.state = 2, e.CLog("pause"), t && delete t._call[e.id]); }, resume: function () { var a = this, - t = a._streamStore().Stream, + t = a._streamGet(), n = "resume(wait ctx)"; if (3 == a.state) a.CLog(n);else if (a.state) { a.state = 1, a.CLog("resume"), a.envResume(), t && (t._call[a.id] = function (e, t) { 1 == a.state && a.envIn(e, t); }, r(t)); var s = a._streamCtx(); - s && B(s, function (e) { + s && C(s, function (e) { return e && a.CLog(n + "..."), 1 == a.state; }, function (e) { e && a.CLog(n + s.state), r(t); @@ -34249,32 +34411,32 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js b = h.set, a = h.envInLast - h.envInFirst, n = a && h.buffers.length; - h.CLog(z("Xq4s::stop 和start时差:") + (a ? a + "ms " + z("3CQP::补偿:") + h.envInFix + "ms envIn:" + n + " fps:" + (n / a * 1e3).toFixed(1) : "-") + " stream:" + h._streamTag + " (" + y + ") LM:" + M); + h.CLog($("Xq4s::stop 和start时差:") + (a ? a + "ms " + $("3CQP::补偿:") + h.envInFix + "ms envIn:" + n + " fps:" + (n / a * 1e3).toFixed(1) : "-") + " stream:" + h._streamTag + " (" + A + ") LM:" + y); var p = function () { h._stop(), e && h.close(); }, m = function (e) { - h.CLog(z("u8JG::结束录音失败:") + e, 1), t && t(e), p(); + h.CLog($("u8JG::结束录音失败:") + e, 1), t && t(e), p(); }, s = function (e, t, a) { var n = "arraybuffer", s = "dataType", r = "DefaultDataType", - i = h[s] || N[r] || "blob", + i = h[s] || W[r] || "blob", o = s + "=" + i, _ = e instanceof ArrayBuffer, l = 0, f = _ ? e.byteLength : e.size; - if (i == n ? _ || (l = 1) : "blob" == i ? "function" != typeof Blob ? l = z.G("NonBrowser-1", [o]) + z("1skY::,请设置{1}", 0, R + "." + r + '="' + n + '"') : (_ && (e = new Blob([e], { + if (i == n ? _ || (l = 1) : "blob" == i ? "function" != typeof Blob ? l = $.G("NonBrowser-1", [o]) + $("1skY::,请设置{1}", 0, T + "." + r + '="' + n + '"') : (_ && (e = new Blob([e], { type: t - })), e instanceof Blob || (l = 1), t = e.type || t) : l = z.G("NotSupport-1", [o]), h.CLog(z("Wv7l::结束录音 编码花{1}ms 音频时长{2}ms 文件大小{3}b", 0, Date.now() - u, a, f) + " " + o + "," + t), l) m(1 != l ? l : z("Vkbd::{1}编码器返回的不是{2}", 0, b.type, i) + ", " + o);else { - if (b.takeoffEncodeChunk) h.CLog(z("QWnr::启用takeoffEncodeChunk后stop返回的blob长度为0不提供音频数据"), 3);else if (f < Math.max(50, a / 5)) return void m(z("Sz2H::生成的{1}无效", 0, b.type)); + })), e instanceof Blob || (l = 1), t = e.type || t) : l = $.G("NotSupport-1", [o]), h.CLog($("Wv7l::结束录音 编码花{1}ms 音频时长{2}ms 文件大小{3}b", 0, Date.now() - u, a, f) + " " + o + "," + t), l) m(1 != l ? l : $("Vkbd::{1}编码器返回的不是{2}", 0, b.type, i) + ", " + o);else { + if (b.takeoffEncodeChunk) h.CLog($("QWnr::启用takeoffEncodeChunk后stop返回的blob长度为0不提供音频数据"), 3);else if (f < Math.max(50, a / 5)) return void m($("Sz2H::生成的{1}无效", 0, b.type)); c && c(e, a, t), p(); } }; if (!h.isMock) { var r = 3 == h.state; - if (!h.state || r) return void m(z("wf9t::未开始录音") + (r ? z("Dl2c::,开始录音前无用户交互导致AudioContext未运行") : "")); + if (!h.state || r) return void m($("wf9t::未开始录音") + (r ? $("Dl2c::,开始录音前无用户交互导致AudioContext未运行") : "")); } h._stop(!0); var i = h.recSize; @@ -34285,33 +34447,33 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js envName: "mock", canProcess: !1 }); - if (o) return void m(z("AxOH::录音错误:") + o); + if (o) return void m($("AxOH::录音错误:") + o); } var _ = h.engineCtx; if (h[b.type + "_complete"] && _) { - var l = Math.round(_.pcmSize / b[D] * 1e3); + var l = Math.round(_.pcmSize / b[V] * 1e3); return u = Date.now(), void h[b.type + "_complete"](_, function (e, t) { s(e, t, l); }, m); } if (u = Date.now(), h.buffers[0]) { - var f = N.SampleData(h.buffers, h[V], b[D]); - b[D] = f[D]; + var f = W.SampleData(h.buffers, h[N], b[V]); + b[V] = f[V]; var v = f.data, - l = Math.round(v.length / b[D] * 1e3); - h.CLog(z("CxeT::采样:{1} 花:{2}ms", 0, i + "->" + v.length, Date.now() - u)), setTimeout(function () { + l = Math.round(v.length / b[V] * 1e3); + h.CLog($("CxeT::采样:{1} 花:{2}ms", 0, i + "->" + v.length, Date.now() - u)), setTimeout(function () { u = Date.now(), h[b.type](v, function (e, t) { s(e, t, l); }, function (e) { m(e); }); }); - } else m(z("xkKd::音频buffers被释放")); - } else m(z("xGuI::未加载{1}编码器,请尝试到{2}的src/engine内找到{1}的编码器并加载", 0, b.type, R)); - } else m(z("Ltz3::未采集到录音")); + } else m($("xkKd::音频buffers被释放")); + } else m($("xGuI::未加载{1}编码器,请尝试到{2}的src/engine内找到{1}的编码器并加载", 0, b.type, T)); + } else m($("Ltz3::未采集到录音")); } }; - var P = function (e, t) { + var F = function (e, t) { t.pos || (t.pos = [0], t.tracks = {}, t.bytes = []); var a = t.tracks, n = [t.pos[0]], @@ -34321,97 +34483,98 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js r = t.bytes.length, i = new Uint8Array(r + e.length); if (i.set(t.bytes), i.set(e, r), t.bytes = i, !t._ht) { - if (j(i, n), X(i, n), !H(j(i, n), [24, 83, 128, 103])) return; - for (j(i, n); n[0] < i.length;) { - var o = j(i, n), - _ = X(i, n), + if (Y(i, n), z(i, n), !j(Y(i, n), [24, 83, 128, 103])) return; + for (Y(i, n); n[0] < i.length;) { + var o = Y(i, n), + _ = z(i, n), l = [0], f = 0; if (!_) return; - if (H(o, [22, 84, 174, 107])) { + if (j(o, [22, 84, 174, 107])) { for (; l[0] < _.length;) { - var c = j(_, l), - u = X(_, l), + var c = Y(_, l), + u = z(_, l), h = [0], b = { channels: 0, sampleRate: 0 }; - if (H(c, [174])) for (; h[0] < u.length;) { - var p = j(u, h), - m = X(u, h), + if (j(c, [174])) for (; h[0] < u.length;) { + var p = Y(u, h), + m = z(u, h), v = [0]; - if (H(p, [215])) { - var d = F(m); + if (j(p, [215])) { + var d = X(m); b.number = d, a[d] = b; - } else if (H(p, [131])) { - var d = F(m); + } else if (j(p, [131])) { + var d = X(m); 1 == d ? b.type = "video" : 2 == d ? (b.type = "audio", f || (t.track0 = b), b.idx = f++) : b.type = "Type-" + d; - } else if (H(p, [134])) { - for (var g = "", w = 0; w < m.length; w++) g += String.fromCharCode(m[w]); + } else if (j(p, [134])) { + for (var g = "", S = 0; S < m.length; S++) g += String.fromCharCode(m[S]); b.codec = g; - } else if (H(p, [225])) for (; v[0] < m.length;) { - var S = j(m, v), - M = X(m, v); - if (H(S, [181])) { + } else if (j(p, [225])) for (; v[0] < m.length;) { + var w = Y(m, v), + M = z(m, v); + if (j(w, [181])) { var d = 0, y = new Uint8Array(M.reverse()).buffer; - 4 == M.length ? d = new Float32Array(y)[0] : 8 == M.length ? d = new Float64Array(y)[0] : O("WebM Track !Float", 1, M), b[D] = Math.round(d); - } else H(S, [98, 100]) ? b.bitDepth = F(M) : H(S, [159]) && (b.channels = F(M)); + 4 == M.length ? d = new Float32Array(y)[0] : 8 == M.length ? d = new Float64Array(y)[0] : Q("WebM Track !Float", 1, M), b[V] = Math.round(d); + } else j(w, [98, 100]) ? b.bitDepth = X(M) : j(w, [159]) && (b.channels = X(M)); } } } - t._ht = 1, O("WebM Tracks", a), s(); + t._ht = 1, Q("WebM Tracks", a), s(); break; } } } var A = t.track0; if (A) { - if (16 == A.bitDepth && /FLOAT/i.test(A.codec) && (A.bitDepth = 32, O("WebM 16->32 bit", 3)), A[D] != t[D] || 32 != A.bitDepth || A.channels < 1 || !/(\b|_)PCM\b/i.test(A.codec)) return t.bytes = [], t.bad || O("WebM Track Unexpected", 3, t), -(t.bad = 1); - for (var k = [], R = 0; n[0] < i.length;) { - var c = j(i, n), - u = X(i, n); + var k = A[V]; + if (t.webmSR = k, 16 == A.bitDepth && /FLOAT/i.test(A.codec) && (A.bitDepth = 32, Q("WebM 16->32 bit", 3)), k < 8e3 || 32 != A.bitDepth || A.channels < 1 || !/(\b|_)PCM\b/i.test(A.codec)) return t.bytes = [], t.bad || Q("WebM Track Unexpected", 3, t), -(t.bad = 1); + for (var R = [], x = 0; n[0] < i.length;) { + var c = Y(i, n), + u = z(i, n); if (!u) break; - if (H(c, [163])) { - var x = 15 & u[0], - b = a[x]; + if (j(c, [163])) { + var B = 15 & u[0], + b = a[B]; if (b) { if (0 === b.idx) { - for (var B = new Uint8Array(u.length - 4), w = 4; w < u.length; w++) B[w - 4] = u[w]; - k.push(B), R += B.length; + for (var T = new Uint8Array(u.length - 4), S = 4; S < u.length; S++) T[S - 4] = u[S]; + R.push(T), x += T.length; } - } else O("WebM !Track" + x, 1, a); + } else Q("WebM !Track" + B, 1, a); } s(); } - if (R) { - var T = new Uint8Array(i.length - t.pos[0]); - T.set(i.subarray(t.pos[0])), t.bytes = T, t.pos[0] = 0; - for (var B = new Uint8Array(R), w = 0, E = 0; w < k.length; w++) B.set(k[w], E), E += k[w].length; - var y = new Float32Array(B.buffer); + if (x) { + var E = new Uint8Array(i.length - t.pos[0]); + E.set(i.subarray(t.pos[0])), t.bytes = E, t.pos[0] = 0; + for (var T = new Uint8Array(x), S = 0, C = 0; S < R.length; S++) T.set(R[S], C), C += R[S].length; + var y = new Float32Array(T.buffer); if (1 < A.channels) { - for (var C = [], w = 0; w < y.length;) C.push(y[w]), w += A.channels; - y = new Float32Array(C); + for (var I = [], S = 0; S < y.length;) I.push(y[S]), S += A.channels; + y = new Float32Array(I); } return y; } } }, - H = function (e, t) { + j = function (e, t) { if (!e || e.length != t.length) return !1; if (1 == e.length) return e[0] == t[0]; for (var a = 0; a < e.length; a++) if (e[a] != t[a]) return !1; return !0; }, - F = function (e) { + X = function (e) { for (var t = "", a = 0; a < e.length; a++) { var n = e[a]; t += (n < 16 ? "0" : "") + n.toString(16); } return parseInt(t, 16) || 0; }, - j = function (e, t, a) { + Y = function (e, t, a) { var n = t[0]; if (!(n >= e.length)) { var s = e[n], @@ -34427,10 +34590,10 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } }, - X = function (e, t) { - var a = j(e, t, 1); + z = function (e, t) { + var a = Y(e, t, 1); if (a) { - var n = F(a), + var n = X(a), s = t[0], r = []; if (n < 2147483647) { @@ -34440,7 +34603,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js return t[0] = s, r; } }, - Y = N.i18n = { + q = W.i18n = { lang: "zh-CN", alias: { "zh-CN": "zh", @@ -34449,38 +34612,38 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js locales: {}, data: {}, put: function (e, t) { - var a = R + ".i18n.put: ", + var a = T + ".i18n.put: ", n = e.overwrite; n = null == n || n; var s = e.lang; - if (!(s = Y.alias[s] || s)) throw new Error(a + "set.lang?"); - var r = Y.locales[s]; - r || (r = {}, Y.locales[s] = r); + if (!(s = q.alias[s] || s)) throw new Error(a + "set.lang?"); + var r = q.locales[s]; + r || (r = {}, q.locales[s] = r); for (var i, o = /^([\w\-]+):/, _ = 0; _ < t.length; _++) { var l = t[_]; if (i = o.exec(l)) { var f = i[1], l = l.substr(f.length + 1); !n && r[f] || (r[f] = l); - } else O(a + "'key:'? " + l, 3, e); + } else Q(a + "'key:'? " + l, 3, e); } }, get: function () { - return Y.v_G.apply(null, arguments); + return q.v_G.apply(null, arguments); }, v_G: function (n, s, e) { - s = s || [], e = e || Y.lang, e = Y.alias[e] || e; - var t = Y.locales[e], + s = s || [], e = e || q.lang, e = q.alias[e] || e; + var t = q.locales[e], r = t && t[n] || ""; - return r || "zh" == e ? (Y.lastLang = e, "=Empty" == r ? "" : r.replace(/\{(\d+)(\!?)\}/g, function (e, t, a) { - return e = s[(t = +t || 0) - 1], (t < 1 || t > s.length) && (e = "{?}", O("i18n[" + n + "] no {" + t + "}: " + r, 3)), a ? "" : e; - })) : "en" == e ? Y.v_G(n, s, "zh") : Y.v_G(n, s, "en"); + return r || "zh" == e ? (q.lastLang = e, "=Empty" == r ? "" : r.replace(/\{(\d+)(\!?)\}/g, function (e, t, a) { + return e = s[(t = +t || 0) - 1], (t < 1 || t > s.length) && (e = "{?}", Q("i18n[" + n + "] no {" + t + "}: " + r, 3)), a ? "" : e; + })) : "en" == e ? q.v_G(n, s, "zh") : q.v_G(n, s, "en"); }, $T: function () { - return Y.v_T.apply(null, arguments); + return q.v_T.apply(null, arguments); }, v_T: function () { - for (var e, t = arguments, a = "", n = [], s = 0, r = R + ".i18n.$T:", i = /^([\w\-]*):/, o = 0; o < t.length; o++) { + for (var e, t = arguments, a = "", n = [], s = 0, r = T + ".i18n.$T:", i = /^([\w\-]*):/, o = 0; o < t.length; o++) { var _ = t[o]; if (0 == o) { if (e = i.exec(_), !(a = e && e[1])) throw new Error(r + "0 'key:'?"); @@ -34494,37 +34657,37 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } else { var l = 1 == o ? "en" : o ? "" : "zh"; if ((e = i.exec(_)) && (l = e[1] || l, _ = _.substr(e[1].length + 1)), !e || !l) throw new Error(r + o + " 'lang:'?"); - Y.put({ + q.put({ lang: l, overwrite: !1 }, [a + ":" + _]); } } } - return a ? 0 < s ? a : Y.v_G(a, n) : ""; + return a ? 0 < s ? a : q.v_G(a, n) : ""; } }, - z = Y.$T; - z.G = Y.get, z("NonBrowser-1::非浏览器环境,不支持{1}", 1), z("IllegalArgs-1::参数错误:{1}", 1), z("NeedImport-2::调用{1}需要先导入{2}", 2), z("NotSupport-1::不支持:{1}", 1), N.TrafficImgUrl = "//ia.51.la/go1?id=20469973&pvFlag=1"; - var u = N.Traffic = function (e) { + $ = q.$T; + $.G = q.get, $("NonBrowser-1::非浏览器环境,不支持{1}", 1), $("IllegalArgs-1::参数错误:{1}", 1), $("NeedImport-2::调用{1}需要先导入{2}", 2), $("NotSupport-1::不支持:{1}", 1), W.TrafficImgUrl = "//ia.51.la/go1?id=20469973&pvFlag=1"; + var l = W.Traffic = function (e) { if (w) { - e = e ? "/" + R + "/Report/" + e : ""; - var t = N.TrafficImgUrl; + e = e ? "/" + T + "/Report/" + e : ""; + var t = W.TrafficImgUrl; if (t) { - var a = N.Traffic, + var a = W.Traffic, n = /^(https?:..[^\/#]*\/?)[^#]*/i.exec(location.href) || [], s = n[1] || "http://file/", r = (n[0] || s) + e; if (0 == t.indexOf("//") && (t = /^https:/i.test(r) ? "https:" + t : "http:" + t), e && (t = t + "&cu=" + encodeURIComponent(s + e)), !a[r]) { a[r] = 1; var i = new Image(); - i.src = t, O("Traffic Analysis Image: " + (e || R + ".TrafficImgUrl=" + N.TrafficImgUrl)); + i.src = t, Q("Traffic Analysis Image: " + (e || T + ".TrafficImgUrl=" + W.TrafficImgUrl)); } } } }; - t && (O(z("8HO5::覆盖导入{1}", 0, R), 1), t.Destroy()); - e[R] = N; + t && (Q($("8HO5::覆盖导入{1}", 0, T), 1), t.Destroy()); + e[T] = W; }(a, t), module.exports && (module.exports = a.Recorder); }(), function (e) { var t = "object" == typeof window && !!window.document, @@ -34603,7 +34766,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js if (h < l) h += 57600, setTimeout(p);else { var n = [c.buffer.slice(0, u)], s = g.fn(n, u, l, _.sampleRate); - w(s, _), i(n[0] || new ArrayBuffer(0), "audio/mp3"); + S(s, _), i(n[0] || new ArrayBuffer(0), "audio/mp3"); } }; p(); @@ -34772,7 +34935,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js }, m.prototype.mp3_complete = function (t, a, n, s) { var r = this; t && t.worker ? (t.call = function (e) { - s && r.mp3_stop(t), e.err ? n(e.err) : (w(e.meta, t.set), a(e.blob, "audio/mp3")); + s && r.mp3_stop(t), e.err ? n(e.err) : (S(e.meta, t.set), a(e.blob, "audio/mp3")); }, t.worker.postMessage({ action: "complete", id: t.id @@ -34807,9 +34970,9 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js var d = e[v]; if (m += d.byteLength, b + 3 <= m) { var g = new Uint8Array(d), - w = d.byteLength - (m - (b + 3) + 1), - S = s(w, g); - p = "1" == S.charAt(6); + S = d.byteLength - (m - (b + 3) + 1), + w = s(S, g); + p = "1" == w.charAt(6); break; } } @@ -34830,6 +34993,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js fn: function (e, t, a, n) { var s = this.rm(e, t); if (!s) return { + size: t, err: "mp3 unknown format" }; var r = Math.round(a / n * 1e3), @@ -34854,11 +35018,11 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js return s; } }, - w = function (e, t) { + S = function (e, t) { var a = "MP3 Info: "; (e.sampleRate && e.sampleRate != t.sampleRate || e.bitRate && e.bitRate != t.bitRate) && (m.CLog(a + u("uY9i::和设置的不匹配{1},已更新成{2}", 0, "set:" + t.bitRate + "kbps " + t.sampleRate + "hz", "set:" + e.bitRate + "kbps " + e.sampleRate + "hz"), 3, t), t.sampleRate = e.sampleRate, t.bitRate = e.bitRate); var n = e.trimFix; - n ? (a += u("iMSm::Fix移除{1}帧", 0, n.remove) + " " + n.removeDuration + "ms -> " + n.duration + "ms", 2 < n.remove && (e.err = (e.err ? e.err + ", " : "") + u("b9zm::移除帧数过多"))) : a += (e.duration || "-") + "ms", e.err ? m.CLog(a, 1, e.err, e) : m.CLog(a, e); + n ? (a += u("iMSm::Fix移除{1}帧", 0, n.remove) + " " + n.removeDuration + "ms -> " + n.duration + "ms", 2 < n.remove && (e.err = (e.err ? e.err + ", " : "") + u("b9zm::移除帧数过多"))) : a += (e.duration || "-") + "ms", e.err ? m.CLog(a, e.size ? 1 : 0, e.err, e) : m.CLog(a, e); }; }(a, 0, n.$T, t); }(), function (e) { @@ -34870,7 +35034,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js me = function (e) { throw new Error("abort(" + e + ")"); }; - function S(e) { + function w(e) { return new Int8Array(e); } function s(e) { @@ -34892,11 +35056,11 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (var a = [], n = 0; n < t; n++) a.push(ge(e)); return a; } - function w(e) { + function S(e) { if (1 == e.length) return ve(e[0]); var t = e[0]; e = e.slice(1); - for (var a = [], n = 0; n < t; n++) a.push(w(e)); + for (var a = [], n = 0; n < t; n++) a.push(S(e)); return a; } function M(e) { @@ -34913,7 +35077,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (var a = [], n = 0; n < t; n++) a.push(E(e)); return a; } - var we = { + var Se = { fill: function (e, t, a, n) { if (2 == arguments.length) for (var s = 0; s < e.length; s++) e[s] = t;else for (var s = t; s < a; s++) e[s] = n; } @@ -34924,14 +35088,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } }, V = {}; - function Se(e) { + function we(e) { this.ordinal = e; } V.SQRT2 = 1.4142135623730951, V.FAST_LOG10 = function (e) { return d(e); }, V.FAST_LOG10_X = function (e, t) { return d(e) * t; - }, Se.short_block_allowed = new Se(0), Se.short_block_coupled = new Se(1), Se.short_block_dispensed = new Se(2), Se.short_block_forced = new Se(3); + }, we.short_block_allowed = new we(0), we.short_block_coupled = new we(1), we.short_block_dispensed = new we(2), we.short_block_forced = new we(3); var D = {}; function Me(e) { this.ordinal = e; @@ -34943,12 +35107,12 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js }; } function A() { - var S = null; + var w = null; function v(e) { this.bits = 0 | e; } this.qupvt = null, this.setModules = function (e) { - this.qupvt = e, S = e; + this.qupvt = e, w = e; }; var s = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 1], [1, 1], [1, 1], [1, 2], [2, 2], [2, 3], [2, 3], [3, 4], [3, 4], [3, 4], [4, 5], [4, 5], [4, 6], [5, 6], [5, 6], [5, 7], [6, 7], [6, 7]]; function M(e, t, a, n, s, r) { @@ -34959,9 +35123,9 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js var i = (e >>= 1) % 2; for (e >>= 1; 0 != e--;) { var o, _, l, f, c, u, h, b; - o = a[n++] * t, _ = a[n++] * t, c = 0 | o, l = a[n++] * t, u = 0 | _, f = a[n++] * t, h = 0 | l, o += S.adj43[c], b = 0 | f, _ += S.adj43[u], s[r++] = 0 | o, l += S.adj43[h], s[r++] = 0 | _, f += S.adj43[b], s[r++] = 0 | l, s[r++] = 0 | f; + o = a[n++] * t, _ = a[n++] * t, c = 0 | o, l = a[n++] * t, u = 0 | _, f = a[n++] * t, h = 0 | l, o += w.adj43[c], b = 0 | f, _ += w.adj43[u], s[r++] = 0 | o, l += w.adj43[h], s[r++] = 0 | _, f += w.adj43[b], s[r++] = 0 | l, s[r++] = 0 | f; } - 0 != i && (o = a[n++] * t, _ = a[n++] * t, c = 0 | o, u = 0 | _, o += S.adj43[c], _ += S.adj43[u], s[r++] = 0 | o, s[r++] = 0 | _); + 0 != i && (o = a[n++] * t, _ = a[n++] * t, c = 0 | o, u = 0 | _, o += w.adj43[c], _ += w.adj43[u], s[r++] = 0 | o, s[r++] = 0 | _); } var o = [1, 2, 5, 7, 7, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13]; function d(e, t, a, n) { @@ -35090,7 +35254,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js return _; }, this.count_bits = function (e, t, a, n) { var s = a.l3_enc, - r = T.IXMAX_VAL / S.IPOW20(a.global_gain); + r = T.IXMAX_VAL / w.IPOW20(a.global_gain); return a.xrpow_max > r ? T.LARGE_BITS : (function (e, t, a, n, s) { var r, i, @@ -35107,10 +35271,10 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js v = 0; for (o = null != s && n.global_gain == s.global_gain, i = n.block_type == Ae.SHORT_TYPE ? 38 : 21, r = 0; r <= i; r++) { var d = -1; - if ((o || n.block_type == Ae.NORM_TYPE) && (d = n.global_gain - (n.scalefac[r] + (0 != n.preflag ? S.pretab[r] : 0) << n.scalefac_scale + 1) - 8 * n.subblock_gain[n.window[r]]), o && s.step[r] == d) 0 != l && (y(l, a, m, v, b, p), l = 0), 0 != f && me();else { + if ((o || n.block_type == Ae.NORM_TYPE) && (d = n.global_gain - (n.scalefac[r] + (0 != n.preflag ? w.pretab[r] : 0) << n.scalefac_scale + 1) - 8 * n.subblock_gain[n.window[r]]), o && s.step[r] == d) 0 != l && (y(l, a, m, v, b, p), l = 0), 0 != f && me();else { var g, - w = n.width[r]; - if (_ + n.width[r] > n.max_nonzero_coeff && (g = n.max_nonzero_coeff - _ + 1, we.fill(t, n.max_nonzero_coeff, 576, 0), (w = g) < 0 && (w = 0), r = i + 1), 0 == l && 0 == f && (b = u, p = h, m = e, v = c), null != s && 0 < s.sfb_count1 && r >= s.sfb_count1 && 0 < s.step[r] && d >= s.step[r] ? (0 != l && (y(l, a, m, v, b, p), l = 0, b = u, p = h, m = e, v = c), f += w) : (0 != f && (M(f, a, m, v, b, p), f = 0, b = u, p = h, m = e, v = c), l += w), w <= 0) { + S = n.width[r]; + if (_ + n.width[r] > n.max_nonzero_coeff && (g = n.max_nonzero_coeff - _ + 1, Se.fill(t, n.max_nonzero_coeff, 576, 0), (S = g) < 0 && (S = 0), r = i + 1), 0 == l && 0 == f && (b = u, p = h, m = e, v = c), null != s && 0 < s.sfb_count1 && r >= s.sfb_count1 && 0 < s.step[r] && d >= s.step[r] ? (0 != l && (y(l, a, m, v, b, p), l = 0, b = u, p = h, m = e, v = c), f += S) : (0 != f && (M(f, a, m, v, b, p), f = 0, b = u, p = h, m = e, v = c), l += S), S <= 0) { 0 != f && me(), 0 != l && me(); break; } @@ -35118,7 +35282,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js r <= i && (h += n.width[r], c += n.width[r], _ += n.width[r]); } 0 != l && (y(l, a, m, v, b, p), l = 0), 0 != f && me(); - }(t, s, S.IPOW20(a.global_gain), a, n), 0 != (2 & e.substep_shaping) && me(), this.noquant_count_bits(e, a, n)); + }(t, s, w.IPOW20(a.global_gain), a, n), 0 != (2 & e.substep_shaping) && me(), this.noquant_count_bits(e, a, n)); }, this.best_huffman_divide = function (e, t) { var a = new B(), n = t.l3_enc, @@ -35192,9 +35356,9 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } if (0 == _.preflag && _.block_type != Ae.SHORT_TYPE && 2 == e.mode_gr) { - for (s = 11; s < Ae.SBPSY_l && !(_.scalefac[s] < S.pretab[s] && -2 != _.scalefac[s]); s++); + for (s = 11; s < Ae.SBPSY_l && !(_.scalefac[s] < w.pretab[s] && -2 != _.scalefac[s]); s++); if (s == Ae.SBPSY_l) { - for (s = 11; s < Ae.SBPSY_l; s++) 0 < _.scalefac[s] && (_.scalefac[s] -= S.pretab[s]); + for (s = 11; s < Ae.SBPSY_l; s++) 0 < _.scalefac[s] && (_.scalefac[s] -= w.pretab[s]); _.preflag = l = 1; } } @@ -35229,8 +35393,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js r = 0, i = e.scalefac; if (e.block_type == Ae.SHORT_TYPE) n = _, 0 != e.mixed_block_flag && (n = l);else if (n = f, 0 == e.preflag) { - for (a = 11; a < Ae.SBPSY_l && !(i[a] < S.pretab[a]); a++); - if (a == Ae.SBPSY_l) for (e.preflag = 1, a = 11; a < Ae.SBPSY_l; a++) i[a] -= S.pretab[a]; + for (a = 11; a < Ae.SBPSY_l && !(i[a] < w.pretab[a]); a++); + if (a == Ae.SBPSY_l) for (e.preflag = 1, a = 11; a < Ae.SBPSY_l; a++) i[a] -= w.pretab[a]; } for (a = 0; a < e.sfbdivide; a++) s < i[a] && (s = i[a]); for (; a < e.sfbmax; a++) r < i[a] && (r = i[a]); @@ -35252,17 +35416,17 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (a = 0 != t.preflag ? 2 : 0, _ = 0; _ < 4; _++) f[_] = 0; if (t.block_type == Ae.SHORT_TYPE) { n = 1; - var u = S.nr_of_sfb_block[a][n]; + var u = w.nr_of_sfb_block[a][n]; for (s = l = 0; s < 4; s++) for (r = u[s] / 3, _ = 0; _ < r; _++, l++) for (i = 0; i < 3; i++) c[3 * l + i] > f[s] && (f[s] = c[3 * l + i]); } else { n = 0; - var u = S.nr_of_sfb_block[a][n]; + var u = w.nr_of_sfb_block[a][n]; for (s = l = 0; s < 4; s++) for (r = u[s], _ = 0; _ < r; _++, l++) c[l] > f[s] && (f[s] = c[l]); } for (o = !1, s = 0; s < 4; s++) f[s] > g[a][s] && (o = !0); if (!o) { var h, b, p, m; - for (t.sfb_partition_table = S.nr_of_sfb_block[a][n], s = 0; s < 4; s++) t.slen[s] = w[f[s]]; + for (t.sfb_partition_table = w.nr_of_sfb_block[a][n], s = 0; s < 4; s++) t.slen[s] = S[f[s]]; switch (h = t.slen[0], b = t.slen[1], p = t.slen[2], m = t.slen[3], a) { case 0: t.scalefac_compress = (5 * h + b << 4) + (p << 2) + m; @@ -35277,7 +35441,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js if (!o) for (t.part2_length = 0, s = 0; s < 4; s++) t.part2_length += t.slen[s] * t.sfb_partition_table[s]; return o; }; - var w = [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4]; + var S = [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4]; this.huffman_init = function (e) { for (var t = 2; t <= 576; t += 2) { for (var a, n = 0; e.scalefac_band.l[++n] < t;); @@ -35385,7 +35549,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js function p() { this.total = 0; } - function w(e, t) { + function S(e, t) { var a, n, s, @@ -35403,7 +35567,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js a, n = e.internal_flags; n.h_ptr - 1; - t = n.l3_side, (a = w(e, new p())) < 0 || (u(e, a), n.ResvSize = 0, t.main_data_begin = 0, n.findReplayGain && me(), n.findPeakSample && me()); + t = n.l3_side, (a = S(e, new p())) < 0 || (u(e, a), n.ResvSize = 0, t.main_data_begin = 0, n.findReplayGain && me(), n.findPeakSample && me()); }, this.format_bitstream = function (e) { var t, a = e.internal_flags; @@ -35414,7 +35578,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js n, s, r = e.internal_flags; - if (a = r.l3_side, r.header[r.h_ptr].ptr = 0, we.fill(r.header[r.h_ptr].buf, 0, r.sideinfo_len, 0), e.out_samplerate < 16e3 ? h(r, 4094, 12) : h(r, 4095, 12), h(r, e.version, 1), h(r, 1, 2), h(r, e.error_protection ? 0 : 1, 1), h(r, r.bitrate_index, 4), h(r, r.samplerate_index, 2), h(r, r.padding, 1), h(r, e.extension, 1), h(r, e.mode.ordinal(), 2), h(r, r.mode_ext, 2), h(r, e.copyright, 1), h(r, e.original, 1), h(r, e.emphasis, 2), e.error_protection && h(r, 0, 16), 1 == e.version) { + if (a = r.l3_side, r.header[r.h_ptr].ptr = 0, Se.fill(r.header[r.h_ptr].buf, 0, r.sideinfo_len, 0), e.out_samplerate < 16e3 ? h(r, 4094, 12) : h(r, 4095, 12), h(r, e.version, 1), h(r, 1, 2), h(r, e.error_protection ? 0 : 1, 1), h(r, r.bitrate_index, 4), h(r, r.samplerate_index, 2), h(r, r.padding, 1), h(r, e.extension, 1), h(r, e.mode.ordinal(), 2), h(r, r.mode_ext, 2), h(r, e.copyright, 1), h(r, e.original, 1), h(r, e.emphasis, 2), e.error_protection && h(r, 0, 16), 1 == e.version) { for (h(r, a.main_data_begin, 9), 2 == r.channels_out ? h(r, a.private_bits, 3) : h(r, a.private_bits, 5), s = 0; s < r.channels_out; s++) { var i; for (i = 0; i < 4; i++) h(r, a.scfsi[s][i], 1); @@ -35470,7 +35634,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js s += m(i, _), r += h + s; } return r; - }(e), u(e, t.resvDrain_post), s += t.resvDrain_post, t.main_data_begin += (n - s) / 8, w(e, new p()), a.ResvSize, 8 * t.main_data_begin != a.ResvSize && (a.ResvSize = 8 * t.main_data_begin), 1e9 < l) { + }(e), u(e, t.resvDrain_post), s += t.resvDrain_post, t.main_data_begin += (n - s) / 8, S(e, new p()), a.ResvSize, 8 * t.main_data_begin != a.ResvSize && (a.ResvSize = 8 * t.main_data_begin), 1e9 < l) { var r; for (r = 0; r < j.MAX_HEADER_BUF; ++r) a.header[r].write_timing -= l; l = 0; @@ -35486,7 +35650,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } return r; }, this.init_bit_stream_w = function (e) { - _ = S(Y.LAME_MAXMP3BUFFER), e.h_ptr = e.w_ptr = 0, e.header[e.h_ptr].write_timing = 0, f = -1, l = c = 0; + _ = w(Y.LAME_MAXMP3BUFFER), e.h_ptr = e.w_ptr = 0, e.header[e.h_ptr].write_timing = 0, f = -1, l = c = 0; }; } function e(e, t, a, n) { @@ -35630,12 +35794,12 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js c = e.VBR == Me.vbr_mtrh ? 1 : 0, u = i.masking_lower; for (e.VBR != Me.vbr_mtrh && e.VBR != Me.vbr_mt || (u = 1), s = 0; s < a.psy_lmax; s++) { - for (w = e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? athAdjust(l.adjust, l.l[s], l.floor) : l.adjust * l.l[s], v = a.width[s], S = w / v, M = B, A = v >> 1, y = 0; k = f[o] * f[o], y += k, M += k < S ? k : S, R = f[++o] * f[o], y += R, M += R < S ? R : S, o++, 0 < --A;); - if (w < y && _++, s == Ae.SBPSY_l && me(), 0 != c && (w = M), !e.ATHonly) { + for (S = e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? athAdjust(l.adjust, l.l[s], l.floor) : l.adjust * l.l[s], v = a.width[s], w = S / v, M = B, A = v >> 1, y = 0; k = f[o] * f[o], y += k, M += k < w ? k : w, R = f[++o] * f[o], y += R, M += R < w ? R : w, o++, 0 < --A;); + if (S < y && _++, s == Ae.SBPSY_l && me(), 0 != c && (S = M), !e.ATHonly) { var h = t.en.l[s]; - 0 < h && (x = y * t.thm.l[s] * u / h, 0 != c && (x *= i.nsPsy.longfact[s]), w < x && (w = x)); + 0 < h && (x = y * t.thm.l[s] * u / h, 0 != c && (x *= i.nsPsy.longfact[s]), S < x && (S = x)); } - n[r++] = 0 != c ? w : w * i.nsPsy.longfact[s]; + n[r++] = 0 != c ? S : S * i.nsPsy.longfact[s]; } var b = 575; if (a.block_type != Ae.SHORT_TYPE) for (var p = 576; 0 != p-- && N.EQ(f[p], 0);) b = p; @@ -35643,22 +35807,22 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (var m = a.sfb_smin; s < a.psymax; m++, s += 3) { var v, d, g; for (g = e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? athAdjust(l.adjust, l.s[m], l.floor) : l.adjust * l.s[m], v = a.width[s], d = 0; d < 3; d++) { - var w, - S, + var S, + w, M, y = 0, A = v >> 1; - S = g / v, M = B; + w = g / v, M = B; do { var k, R; - k = f[o] * f[o], y += k, M += k < S ? k : S, R = f[++o] * f[o], y += R, M += R < S ? R : S, o++; + k = f[o] * f[o], y += k, M += k < w ? k : w, R = f[++o] * f[o], y += R, M += R < w ? R : w, o++; } while (0 < --A); - if (g < y && _++, m == Ae.SBPSY_s && me(), w = 0 != c ? M : g, !e.ATHonly && !e.ATHshort) { + if (g < y && _++, m == Ae.SBPSY_s && me(), S = 0 != c ? M : g, !e.ATHonly && !e.ATHshort) { var x, h = t.en.s[m][d]; - 0 < h && (x = y * t.thm.s[m][d] * u / h, 0 != c && (x *= i.nsPsy.shortfact[m]), w < x && (w = x)); + 0 < h && (x = y * t.thm.s[m][d] * u / h, 0 != c && (x *= i.nsPsy.shortfact[m]), S < x && (S = x)); } - n[r++] = 0 != c ? w : w * i.nsPsy.shortfact[m]; + n[r++] = 0 != c ? S : S * i.nsPsy.shortfact[m]; } e.useTemporal && (n[r - 3] > n[r - 3 + 1] && (n[r - 3 + 1] += (n[r - 3] - n[r - 3 + 1]) * i.decay), n[r - 3 + 1] > n[r - 3 + 2] && (n[r - 3 + 2] += (n[r - 3 + 1] - n[r - 3 + 2]) * i.decay)); } @@ -35693,10 +35857,10 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js d = 0; if (null != s && s.step[r] == v) d = s.noise[r], h += e.width[r], a[o++] = d / t[_++], d = s.noise_log[r];else { var g, - w = y[v + T.Q_MAX2]; + S = y[v + T.Q_MAX2]; i = e.width[r] >> 1, h + e.width[r] > e.max_nonzero_coeff && (g = e.max_nonzero_coeff - h + 1, i = 0 < g ? g >> 1 : 0); - var S = new A(h); - d = this.calc_noise_core(e, S, i, w), h = S.s, null != s && (s.step[r] = v, s.noise[r] = d), d = a[o++] = d / t[_++], d = V.FAST_LOG10(Math.max(d, 1e-20)), null != s && (s.noise_log[r] = d); + var w = new A(h); + d = this.calc_noise_core(e, w, i, S), h = w.s, null != s && (s.step[r] = v, s.noise[r] = d), d = a[o++] = d / t[_++], d = V.FAST_LOG10(Math.max(d, 1e-20)), null != s && (s.noise_log[r] = d); } null != s && (s.global_gain = e.global_gain), c += d, 0 < d && (m = Math.max(0 | 10 * d + .5, 1), n.over_SSD += m * m, l++, f += d), u = Math.max(u, d); } @@ -35719,11 +35883,11 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js function C() { var r, g; this.rv = null, this.qupvt = null; - var w, + var S, s = new function () { this.setModules = function (e, t) {}; }(); - function S(e) { + function w(e) { this.ordinal = e; } function o(e) { @@ -35793,7 +35957,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } }(e, t, a, n); var i = o(t); - return !(i || (i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)) && (1 < r.noise_shaping && (we.fill(r.pseudohalf, 0), 0 == t.scalefac_scale ? (function (e, t) { + return !(i || (i = 2 == r.mode_gr ? S.scale_bitcount(t) : S.scale_bitcount_lsf(r, t)) && (1 < r.noise_shaping && (Se.fill(r.pseudohalf, 0), 0 == t.scalefac_scale ? (function (e, t) { for (var a = 0, n = 0; n < e.sfbmax; n++) { var s = e.width[n], r = e.scalefac[n]; @@ -35834,14 +35998,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } return !1; - }(r, t, n) || o(t))), i || (i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)), i)); + }(r, t, n) || o(t))), i || (i = 2 == r.mode_gr ? S.scale_bitcount(t) : S.scale_bitcount_lsf(r, t)), i)); } this.setModules = function (e, t, a, n) { - r = t, this.rv = t, g = a, this.qupvt = a, w = n, s.setModules(g, w); + r = t, this.rv = t, g = a, this.qupvt = a, S = n, s.setModules(g, S); }, this.init_xrpow = function (e, t, a) { var n = 0, s = 0 | t.max_nonzero_coeff; - if (t.xrpow_max = 0, we.fill(a, s, 576, 0), 1e-20 < (n = function (e, t, a, n) { + if (t.xrpow_max = 0, Se.fill(a, s, 576, 0), 1e-20 < (n = function (e, t, a, n) { for (var s = n = 0; s <= a; ++s) { var r = Math.abs(e.xr[s]); n += r, t[s] = Math.sqrt(r * Math.sqrt(r)), t[s] > e.xrpow_max && (e.xrpow_max = t[s]); @@ -35853,7 +36017,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (var i = 0; i < t.psymax; i++) e.pseudohalf[i] = r; return !0; } - return we.fill(t.l3_enc, 0, 576, 0), !1; + return Se.fill(t.l3_enc, 0, 576, 0), !1; }, this.init_outer_loop = function (e, t) { t.part2_3_length = 0, t.big_values = 0, t.count1 = 0, t.global_gain = 210, t.scalefac_compress = 0, t.table_select[0] = 0, t.table_select[1] = 0, t.table_select[2] = 0, t.subblock_gain[0] = 0, t.subblock_gain[1] = 0, t.subblock_gain[2] = 0, t.subblock_gain[3] = 0, t.region0_count = 0, t.region1_count = 0, t.preflag = 0, t.scalefac_scale = 0, t.count1table_select = 0, t.part2_length = 0, t.sfb_lmax = Ae.SBPSY_l, t.sfb_smin = Ae.SBPSY_s, t.psy_lmax = e.sfb21_extra ? Ae.SBMAX_l : Ae.SBPSY_l, t.psymax = t.psy_lmax, t.sfbmax = t.sfb_lmax, t.sfbdivide = 11; for (var a = 0; a < Ae.SBMAX_l; a++) t.width[a] = e.scalefac_band.l[a + 1] - e.scalefac_band.l[a], t.window[a] = 3; @@ -35865,7 +36029,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (var a = t.sfb_smin; a < Ae.SBMAX_s; a++) for (var r = e.scalefac_band.s[a], i = e.scalefac_band.s[a + 1], o = 0; o < 3; o++) for (var _ = r; _ < i; _++) t.xr[s++] = n[3 * _ + o]; for (var l = t.sfb_lmax, a = t.sfb_smin; a < Ae.SBMAX_s; a++) t.width[l] = t.width[l + 1] = t.width[l + 2] = e.scalefac_band.s[a + 1] - e.scalefac_band.s[a], t.window[l] = 0, t.window[l + 1] = 1, t.window[l + 2] = 2, l += 3; } - t.count1bits = 0, t.sfb_partition_table = g.nr_of_sfb_block[0][0], t.slen[0] = 0, t.slen[1] = 0, t.slen[2] = 0, t.slen[3] = 0, t.max_nonzero_coeff = 575, we.fill(t.scalefac, 0), function (e, t) { + t.count1bits = 0, t.sfb_partition_table = g.nr_of_sfb_block[0][0], t.slen[0] = 0, t.slen[1] = 0, t.slen[2] = 0, t.slen[3] = 0, t.max_nonzero_coeff = 575, Se.fill(t.scalefac, 0), function (e, t) { var a = e.ATH, n = t.xr; if (t.block_type != Ae.SHORT_TYPE) for (var s = !1, r = Ae.PSFB21 - 1; 0 <= r && !s; r--) { @@ -35894,7 +36058,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } }(e, t); - }, S.BINSEARCH_NONE = new S(0), S.BINSEARCH_UP = new S(1), S.BINSEARCH_DOWN = new S(2), this.outer_loop = function (e, t, a, n, s, r) { + }, w.BINSEARCH_NONE = new w(0), w.BINSEARCH_UP = new w(1), w.BINSEARCH_DOWN = new w(2), this.outer_loop = function (e, t, a, n, s, r) { var i = e.internal_flags, o = new B(), _ = de(576), @@ -35910,13 +36074,13 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js i = e.CurrentStep[n], o = !1, _ = e.OldValue[n], - l = S.BINSEARCH_NONE; + l = w.BINSEARCH_NONE; for (t.global_gain = _, a -= t.part2_length;;) { var f; - if (r = w.count_bits(e, s, t, null), 1 == i || r == a) break; - a < r ? (l == S.BINSEARCH_DOWN && (o = !0), o && (i /= 2), l = S.BINSEARCH_UP, f = i) : (l == S.BINSEARCH_UP && (o = !0), o && (i /= 2), l = S.BINSEARCH_DOWN, f = -i), t.global_gain += f, t.global_gain < 0 && me(), 255 < t.global_gain && me(); + if (r = S.count_bits(e, s, t, null), 1 == i || r == a) break; + a < r ? (l == w.BINSEARCH_DOWN && (o = !0), o && (i /= 2), l = w.BINSEARCH_UP, f = i) : (l == w.BINSEARCH_UP && (o = !0), o && (i /= 2), l = w.BINSEARCH_DOWN, f = -i), t.global_gain += f, t.global_gain < 0 && me(), 255 < t.global_gain && me(); } - for (; a < r && t.global_gain < 255;) t.global_gain++, r = w.count_bits(e, s, t, null); + for (; a < r && t.global_gain < 255;) t.global_gain++, r = S.count_bits(e, s, t, null); e.CurrentStep[n] = 4 <= _ - t.global_gain ? 4 : 2, e.OldValue[n] = t.global_gain, t.part2_3_length = r; }(i, t, r, s, n), 0 == i.noise_shaping) return 100; g.calc_noise(t, a, l, f, c), f.bits = t.part2_3_length, o.assign(t); @@ -35930,10 +36094,10 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js 0 != o.scalefac_scale && (v = 254); var d = r - o.part2_length; if (d <= 0) break; - for (; (o.part2_3_length = w.count_bits(i, n, o, c)) > d && o.global_gain <= v;) o.global_gain++; + for (; (o.part2_3_length = S.count_bits(i, n, o, c)) > d && o.global_gain <= v;) o.global_gain++; if (o.global_gain > v) break; if (0 == f.over_count) { - for (; (o.part2_3_length = w.count_bits(i, n, o, c)) > u && o.global_gain <= v;) o.global_gain++; + for (; (o.part2_3_length = S.count_bits(i, n, o, c)) > u && o.global_gain <= v;) o.global_gain++; if (o.global_gain > v) break; } if (g.calc_noise(o, a, l, m, c), m.bits = o.part2_3_length, 0 != (M(t.block_type != Ae.SHORT_TYPE ? e.quant_comp : e.quant_comp_short, f, m) ? 1 : 0)) u = t.part2_3_length, f = m, t.assign(o), b = 0, I.arraycopy(n, 0, _, 0, 576);else if (0 == i.full_outer_loop) { @@ -35947,7 +36111,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js }, this.iteration_finish_one = function (e, t, a) { var n = e.l3_side, s = n.tt[t][a]; - w.best_scalefac_store(e, t, a, n), 1 == e.use_best_huffman && w.best_huffman_divide(e, s), r.ResvAdjust(e, s); + S.best_scalefac_store(e, t, a, n), 1 == e.use_best_huffman && S.best_huffman_divide(e, s), r.ResvAdjust(e, s); }; } function L() { @@ -35965,7 +36129,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js var u = [-.1482523854003001, 32.308141959636465, 296.40344946382766, 883.1344870032432, 11113.947376231741, 1057.2713659324597, 305.7402417275812, 30.825928907280012, 3.8533188138216365, 59.42900443849514, 709.5899960123345, 5281.91112291017, -5829.66483675846, -817.6293103748613, -76.91656988279972, -4.594269939176596, .9063471690191471, .1960342806591213, -.15466694054279598, 34.324387823855965, 301.8067566458425, 817.599602898885, 11573.795901679885, 1181.2520595540152, 321.59731579894424, 31.232021761053772, 3.7107095756221318, 53.650946155329365, 684.167428119626, 5224.56624370173, -6366.391851890084, -908.9766368219582, -89.83068876699639, -5.411397422890401, .8206787908286602, .3901806440322567, -.16070888947830023, 36.147034243915876, 304.11815768187864, 732.7429163887613, 11989.60988270091, 1300.012278487897, 335.28490093152146, 31.48816102859945, 3.373875931311736, 47.232241542899175, 652.7371796173471, 5132.414255594984, -6909.087078780055, -1001.9990371107289, -103.62185754286375, -6.104916304710272, .7416505462720353, .5805693545089249, -.16636367662261495, 37.751650073343995, 303.01103387567713, 627.9747488785183, 12358.763425278165, 1412.2779918482834, 346.7496836825721, 31.598286663170416, 3.1598635433980946, 40.57878626349686, 616.1671130880391, 5007.833007176154, -7454.040671756168, -1095.7960341867115, -118.24411666465777, -6.818469345853504, .6681786379192989, .7653668647301797, -.1716176790982088, 39.11551877123304, 298.3413246578966, 503.5259106886539, 12679.589408408976, 1516.5821921214542, 355.9850766329023, 31.395241710249053, 2.9164211881972335, 33.79716964664243, 574.8943997801362, 4853.234992253242, -7997.57021486075, -1189.7624067269965, -133.6444792601766, -7.7202770609839915, .5993769336819237, .9427934736519954, -.17645823955292173, 40.21879108166477, 289.9982036694474, 359.3226160751053, 12950.259102786438, 1612.1013903507662, 362.85067106591504, 31.045922092242872, 2.822222032597987, 26.988862316190684, 529.8996541764288, 4671.371946949588, -8535.899136645805, -1282.5898586244496, -149.58553632943463, -8.643494270763135, .5345111359507916, 1.111140466039205, -.36174739330527045, 41.04429910497807, 277.5463268268618, 195.6386023135583, 13169.43812144731, 1697.6433561479398, 367.40983966190305, 30.557037410382826, 2.531473372857427, 20.070154905927314, 481.50208566532336, 4464.970341588308, -9065.36882077239, -1373.62841526722, -166.1660487028118, -9.58289321133207, .4729647758913199, 1.268786568327291, -.36970682634889585, 41.393213350082036, 261.2935935556502, 12.935476055240873, 13336.131683328815, 1772.508612059496, 369.76534388639965, 29.751323653701338, 2.4023193045459172, 13.304795348228817, 430.5615775526625, 4237.0568611071185, -9581.931701634761, -1461.6913552409758, -183.12733958476446, -10.718010163869403, .41421356237309503, 1.414213562373095, -.37677560326535325, 41.619486213528496, 241.05423794991074, -187.94665032361226, 13450.063605744153, 1836.153896465782, 369.4908799925761, 29.001847876923147, 2.0714759319987186, 6.779591200894186, 377.7767837205709, 3990.386575512536, -10081.709459700915, -1545.947424837898, -200.3762958015653, -11.864482073055006, .3578057213145241, 1.546020906725474, -.3829366947518991, 41.1516456456653, 216.47684307105183, -406.1569483347166, 13511.136535077321, 1887.8076599260432, 367.3025214564151, 28.136213436723654, 1.913880671464418, .3829366947518991, 323.85365704338597, 3728.1472257487526, -10561.233882199509, -1625.2025997821418, -217.62525175416, -13.015432208941645, .3033466836073424, 1.66293922460509, -.5822628872992417, 40.35639251440489, 188.20071124269245, -640.2706748618148, 13519.21490106562, 1927.6022433578062, 362.8197642637487, 26.968821921868447, 1.7463817695935329, -5.62650678237171, 269.3016715297017, 3453.386536448852, -11016.145278780888, -1698.6569643425091, -234.7658734267683, -14.16351421663124, .2504869601913055, 1.76384252869671, -.5887180101749253, 39.23429103868072, 155.76096234403798, -889.2492977967378, 13475.470561874661, 1955.0535223723712, 356.4450994756727, 25.894952980042156, 1.5695032905781554, -11.181939564328772, 214.80884394039484, 3169.1640829158237, -11443.321309975563, -1765.1588461316153, -251.68908574481912, -15.49755935939164, .198912367379658, 1.847759065022573, -.7912582233652842, 37.39369355329111, 119.699486012458, -1151.0956593239027, 13380.446257078214, 1970.3952110853447, 348.01959814116185, 24.731487364283044, 1.3850130831637748, -16.421408865300393, 161.05030052864092, 2878.3322807850063, -11838.991423510031, -1823.985884688674, -268.2854986386903, -16.81724543849939, .1483359875383474, 1.913880671464418, -.7960642926861912, 35.2322109610459, 80.01928065061526, -1424.0212633405113, 13235.794061869668, 1973.804052543835, 337.9908651258184, 23.289159354463873, 1.3934255946442087, -21.099669467133474, 108.48348407242611, 2583.700758091299, -12199.726194855148, -1874.2780658979746, -284.2467154529415, -18.11369784385905, .09849140335716425, 1.961570560806461, -.998795456205172, 32.56307803611191, 36.958364584370486, -1706.075448829146, 13043.287458812016, 1965.3831106103316, 326.43182772364605, 22.175018750622293, 1.198638339011324, -25.371248002043963, 57.53505923036915, 2288.41886619975, -12522.674544337233, -1914.8400385312243, -299.26241273417224, -19.37805630698734, .04912684976946725, 1.990369453344394, .035780907 * V.SQRT2 * .5 / 2384e-9, .017876148 * V.SQRT2 * .5 / 2384e-9, .003134727 * V.SQRT2 * .5 / 2384e-9, .002457142 * V.SQRT2 * .5 / 2384e-9, 971317e-9 * V.SQRT2 * .5 / 2384e-9, 218868e-9 * V.SQRT2 * .5 / 2384e-9, 101566e-9 * V.SQRT2 * .5 / 2384e-9, 13828e-9 * V.SQRT2 * .5 / 2384e-9, 12804.797818791945, 1945.5515939597317, 313.4244966442953, 49591e-9 / 2384e-9, 1995.1556208053692, 21458e-9 / 2384e-9, -69618e-9 / 2384e-9], A = [[2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.40084909404969e-13, 6.423305872147839e-13, 2.382191739347918e-13, 5.456116108943412e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758252e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558783e-12, 8.371015190102974e-13, 2.599706096327376e-13, -5.456116108943412e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758252e-12, -2.858043359288076e-12, -2.156177623817898e-12, -1.475637723558783e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347923e-13, -6.423305872147843e-13, -9.400849094049696e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049694e-13, -6.42330587214784e-13, -2.382191739347918e-13], [2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.400849094049688e-13, 6.423305872147841e-13, 2.382191739347918e-13, 5.456116108943413e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758253e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558782e-12, 8.371015190102975e-13, 2.599706096327376e-13, -5.461314069809755e-12, -4.921085770524055e-12, -4.343405037091838e-12, -3.732668368707687e-12, -3.093523840190885e-12, -2.430835727329465e-12, -1.734679010007751e-12, -9.74825365660928e-13, -2.797435120168326e-13, 0, 0, 0, 0, 0, 0, -2.283748241799531e-13, -4.037858874020686e-13, -2.146547464825323e-13], [.1316524975873958, .414213562373095, .7673269879789602, 1.091308501069271, 1.303225372841206, 1.56968557711749, 1.920982126971166, 2.414213562373094, 3.171594802363212, 4.510708503662055, 7.595754112725146, 22.90376554843115, .984807753012208, .6427876096865394, .3420201433256688, .9396926207859084, -.1736481776669303, -.7660444431189779, .8660254037844387, .5, -.5144957554275265, -.4717319685649723, -.3133774542039019, -.1819131996109812, -.09457419252642064, -.04096558288530405, -.01419856857247115, -.003699974673760037, .8574929257125442, .8817419973177052, .9496286491027329, .9833145924917901, .9955178160675857, .9991605581781475, .999899195244447, .9999931550702802], [0, 0, 0, 0, 0, 0, 2.283748241799531e-13, 4.037858874020686e-13, 2.146547464825323e-13, 5.461314069809755e-12, 4.921085770524055e-12, 4.343405037091838e-12, 3.732668368707687e-12, 3.093523840190885e-12, 2.430835727329466e-12, 1.734679010007751e-12, 9.74825365660928e-13, 2.797435120168326e-13, -5.456116108943413e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758253e-12, -2.858043359288075e-12, -2.156177623817898e-12, -1.475637723558782e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347913e-13, -6.423305872147834e-13, -9.400849094049688e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049688e-13, -6.423305872147841e-13, -2.382191739347918e-13]], k = A[Ae.SHORT_TYPE], - S = A[Ae.SHORT_TYPE], + w = A[Ae.SHORT_TYPE], R = A[Ae.SHORT_TYPE], x = A[Ae.SHORT_TYPE], B = [0, 1, 16, 17, 8, 9, 24, 25, 4, 5, 20, 21, 12, 13, 28, 29, 2, 3, 18, 19, 10, 11, 26, 27, 6, 7, 22, 23, 14, 15, 30, 31]; @@ -35983,8 +36147,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } } function C(e, t, a) { - var n, s, r, i, o, _, l, f, c, u, h, b, p, m, v, d, g, w; - r = a[17] - a[9], o = a[15] - a[11], _ = a[14] - a[12], l = a[0] + a[8], f = a[1] + a[7], c = a[2] + a[6], u = a[3] + a[5], e[t + 17] = l + c - u - (f - a[4]), s = (l + c - u) * S[19] + (f - a[4]), n = (r - o - _) * S[18], e[t + 5] = n + s, e[t + 6] = n - s, i = (a[16] - a[10]) * S[18], f = f * S[19] + a[4], n = r * S[12] + i + o * S[13] + _ * S[14], s = -l * S[16] + f - c * S[17] + u * S[15], e[t + 1] = n + s, e[t + 2] = n - s, n = r * S[13] - i - o * S[14] + _ * S[12], s = -l * S[17] + f - c * S[15] + u * S[16], e[t + 9] = n + s, e[t + 10] = n - s, n = r * S[14] - i + o * S[12] - _ * S[13], s = l * S[15] - f + c * S[16] - u * S[17], e[t + 13] = n + s, e[t + 14] = n - s, h = a[8] - a[0], p = a[6] - a[2], m = a[5] - a[3], v = a[17] + a[9], d = a[16] + a[10], g = a[15] + a[11], w = a[14] + a[12], e[t + 0] = v + g + w + (d + a[13]), n = (v + g + w) * S[19] - (d + a[13]), s = (h - p + m) * S[18], e[t + 11] = n + s, e[t + 12] = n - s, b = (a[7] - a[1]) * S[18], d = a[13] - d * S[19], n = v * S[15] - d + g * S[16] + w * S[17], s = h * S[14] + b + p * S[12] + m * S[13], e[t + 3] = n + s, e[t + 4] = n - s, n = -v * S[17] + d - g * S[15] - w * S[16], s = h * S[13] + b - p * S[14] - m * S[12], e[t + 7] = n + s, e[t + 8] = n - s, n = -v * S[16] + d - g * S[17] - w * S[15], s = h * S[12] - b + p * S[13] - m * S[14], e[t + 15] = n + s, e[t + 16] = n - s; + var n, s, r, i, o, _, l, f, c, u, h, b, p, m, v, d, g, S; + r = a[17] - a[9], o = a[15] - a[11], _ = a[14] - a[12], l = a[0] + a[8], f = a[1] + a[7], c = a[2] + a[6], u = a[3] + a[5], e[t + 17] = l + c - u - (f - a[4]), s = (l + c - u) * w[19] + (f - a[4]), n = (r - o - _) * w[18], e[t + 5] = n + s, e[t + 6] = n - s, i = (a[16] - a[10]) * w[18], f = f * w[19] + a[4], n = r * w[12] + i + o * w[13] + _ * w[14], s = -l * w[16] + f - c * w[17] + u * w[15], e[t + 1] = n + s, e[t + 2] = n - s, n = r * w[13] - i - o * w[14] + _ * w[12], s = -l * w[17] + f - c * w[15] + u * w[16], e[t + 9] = n + s, e[t + 10] = n - s, n = r * w[14] - i + o * w[12] - _ * w[13], s = l * w[15] - f + c * w[16] - u * w[17], e[t + 13] = n + s, e[t + 14] = n - s, h = a[8] - a[0], p = a[6] - a[2], m = a[5] - a[3], v = a[17] + a[9], d = a[16] + a[10], g = a[15] + a[11], S = a[14] + a[12], e[t + 0] = v + g + S + (d + a[13]), n = (v + g + S) * w[19] - (d + a[13]), s = (h - p + m) * w[18], e[t + 11] = n + s, e[t + 12] = n - s, b = (a[7] - a[1]) * w[18], d = a[13] - d * w[19], n = v * w[15] - d + g * w[16] + S * w[17], s = h * w[14] + b + p * w[12] + m * w[13], e[t + 3] = n + s, e[t + 4] = n - s, n = -v * w[17] + d - g * w[15] - S * w[16], s = h * w[13] + b - p * w[14] - m * w[12], e[t + 7] = n + s, e[t + 8] = n - s, n = -v * w[16] + d - g * w[17] - S * w[15], s = h * w[12] - b + p * w[13] - m * w[14], e[t + 15] = n + s, e[t + 16] = n - s; } this.mdct_sub48 = function (e, t, a) { for (var n = t, s = 286, r = 0; r < e.channels_out; r++) { @@ -35994,7 +36158,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js var b = _.block_type, p = e.sb_sample[r][i], m = e.sb_sample[r][1 - i]; - if (0 != _.mixed_block_flag && o < 2 && (b = 0), e.amp_filter[o] < 1e-12) we.fill(l, f + 0, f + 18, 0);else if (e.amp_filter[o] < 1 && me(), b == Ae.SHORT_TYPE) { + if (0 != _.mixed_block_flag && o < 2 && (b = 0), e.amp_filter[o] < 1e-12) Se.fill(l, f + 0, f + 18, 0);else if (e.amp_filter[o] < 1 && me(), b == Ae.SHORT_TYPE) { for (var h = -3; h < 0; h++) { var v = A[Ae.SHORT_TYPE][h + 3]; l[f + 3 * h + 9] = p[9 + h][B[o]] * v - p[8 - h][B[o]], l[f + 3 * h + 18] = p[14 - h][B[o]] * v + p[15 + h][B[o]], l[f + 3 * h + 10] = p[15 + h][B[o]] * v - p[14 - h][B[o]], l[f + 3 * h + 19] = m[2 - h][B[o]] * v + m[3 + h][B[o]], l[f + 3 * h + 11] = m[3 + h][B[o]] * v - m[2 - h][B[o]], l[f + 3 * h + 20] = m[8 - h][B[o]] * v + m[9 + h][B[o]]; @@ -36002,14 +36166,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js E(l, f); } else { for (var d = de(18), h = -9; h < 0; h++) { - var g, w; - g = A[b][h + 27] * m[h + 9][B[o]] + A[b][h + 36] * m[8 - h][B[o]], w = A[b][h + 9] * p[h + 9][B[o]] - A[b][h + 18] * p[8 - h][B[o]], d[h + 9] = g - w * k[3 + h + 9], d[h + 18] = g * k[3 + h + 9] + w; + var g, S; + g = A[b][h + 27] * m[h + 9][B[o]] + A[b][h + 36] * m[8 - h][B[o]], S = A[b][h + 9] * p[h + 9][B[o]] - A[b][h + 18] * p[8 - h][B[o]], d[h + 9] = g - S * k[3 + h + 9], d[h + 18] = g * k[3 + h + 9] + S; } C(l, f, d); } if (b != Ae.SHORT_TYPE && 0 != o) for (var h = 7; 0 <= h; --h) { - var S, M; - S = l[f + h] * R[20 + h] + l[f + -1 - h] * x[28 + h], M = l[f + h] * x[28 + h] - l[f + -1 - h] * R[20 + h], l[f + -1 - h] = S, l[f + h] = M; + var w, M; + w = l[f + h] * R[20 + h] + l[f + -1 - h] * x[28 + h], M = l[f + h] * x[28 + h] - l[f + -1 - h] * R[20 + h], l[f + -1 - h] = w, l[f + h] = M; } } } @@ -36048,14 +36212,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js }(e, h), b.padding = 0, (b.slot_lag -= b.frac_SpF) < 0 && (b.slot_lag += e.out_samplerate, b.padding = 1), 0 != b.psymodel) { var d, g = [null, null], - w = 0, - S = ve(2); + S = 0, + w = ve(2); for (u = 0; u < b.mode_gr; u++) { - for (c = 0; c < b.channels_out; c++) g[c] = h[c], w = 576 + 576 * u - Ae.FFTOFFSET; - if (e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? me() : d = x.L3psycho_anal_ns(e, g, w, u, o, l, m[u], v[u], p[u], S), 0 != d) return -4; + for (c = 0; c < b.channels_out; c++) g[c] = h[c], S = 576 + 576 * u - Ae.FFTOFFSET; + if (e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? me() : d = x.L3psycho_anal_ns(e, g, S, u, o, l, m[u], v[u], p[u], w), 0 != d) return -4; for (e.mode == ye.JOINT_STEREO && me(), c = 0; c < b.channels_out; c++) { var M = b.l3_side.tt[u][c]; - M.block_type = S[c], M.mixed_block_flag = 0; + M.block_type = w[c], M.mixed_block_flag = 0; } } } else me(); @@ -36093,16 +36257,16 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js function j() { var e = 40; function t() { - this.write_timing = 0, this.ptr = 0, this.buf = S(e); + this.write_timing = 0, this.ptr = 0, this.buf = w(e); } this.Class_ID = 0, this.lame_encode_frame_init = 0, this.iteration_init_init = 0, this.fill_buffer_resample_init = 0, this.mfbuf = ge([2, j.MFSIZE]), this.mode_gr = 0, this.channels_in = 0, this.channels_out = 0, this.resample_ratio = 0, this.mf_samples_to_encode = 0, this.mf_size = 0, this.VBR_min_bitrate = 0, this.VBR_max_bitrate = 0, this.bitrate_index = 0, this.samplerate_index = 0, this.mode_ext = 0, this.lowpass1 = 0, this.lowpass2 = 0, this.highpass1 = 0, this.highpass2 = 0, this.noise_shaping = 0, this.noise_shaping_amp = 0, this.substep_shaping = 0, this.psymodel = 0, this.noise_shaping_stop = 0, this.subblock_gain = 0, this.use_best_huffman = 0, this.full_outer_loop = 0, this.l3_side = new function () { this.tt = [[null, null], [null, null]], this.main_data_begin = 0, this.private_bits = 0, this.resvDrain_pre = 0, this.resvDrain_post = 0, this.scfsi = [ve(4), ve(4)]; for (var e = 0; e < 2; e++) for (var t = 0; t < 2; t++) this.tt[e][t] = new B(); - }(), this.ms_ratio = de(2), this.padding = 0, this.frac_SpF = 0, this.slot_lag = 0, this.tag_spec = null, this.nMusicCRC = 0, this.OldValue = ve(2), this.CurrentStep = ve(2), this.masking_lower = 0, this.bv_scf = ve(576), this.pseudohalf = ve(F.SFBMAX), this.sfb21_extra = !1, this.inbuf_old = new Array(2), this.blackfilt = new Array(2 * j.BPC + 1), this.itime = n(2), this.sideinfo_len = 0, this.sb_sample = ge([2, 2, 18, Ae.SBLIMIT]), this.amp_filter = de(32), this.header = new Array(j.MAX_HEADER_BUF), this.h_ptr = 0, this.w_ptr = 0, this.ancillary_flag = 0, this.ResvSize = 0, this.ResvMax = 0, this.scalefac_band = new r(), this.minval_l = de(Ae.CBANDS), this.minval_s = de(Ae.CBANDS), this.nb_1 = ge([4, Ae.CBANDS]), this.nb_2 = ge([4, Ae.CBANDS]), this.nb_s1 = ge([4, Ae.CBANDS]), this.nb_s2 = ge([4, Ae.CBANDS]), this.s3_ss = null, this.s3_ll = null, this.decay = 0, this.thm = new Array(4), this.en = new Array(4), this.tot_ener = de(4), this.loudness_sq = ge([2, 2]), this.loudness_sq_save = de(2), this.mld_l = de(Ae.SBMAX_l), this.mld_s = de(Ae.SBMAX_s), this.bm_l = ve(Ae.SBMAX_l), this.bo_l = ve(Ae.SBMAX_l), this.bm_s = ve(Ae.SBMAX_s), this.bo_s = ve(Ae.SBMAX_s), this.npart_l = 0, this.npart_s = 0, this.s3ind = w([Ae.CBANDS, 2]), this.s3ind_s = w([Ae.CBANDS, 2]), this.numlines_s = ve(Ae.CBANDS), this.numlines_l = ve(Ae.CBANDS), this.rnumlines_l = de(Ae.CBANDS), this.mld_cb_l = de(Ae.CBANDS), this.mld_cb_s = de(Ae.CBANDS), this.numlines_s_num1 = 0, this.numlines_l_num1 = 0, this.pe = de(4), this.ms_ratio_s_old = 0, this.ms_ratio_l_old = 0, this.ms_ener_ratio_old = 0, this.blocktype_old = ve(2), this.nsPsy = new function () { + }(), this.ms_ratio = de(2), this.padding = 0, this.frac_SpF = 0, this.slot_lag = 0, this.tag_spec = null, this.nMusicCRC = 0, this.OldValue = ve(2), this.CurrentStep = ve(2), this.masking_lower = 0, this.bv_scf = ve(576), this.pseudohalf = ve(F.SFBMAX), this.sfb21_extra = !1, this.inbuf_old = new Array(2), this.blackfilt = new Array(2 * j.BPC + 1), this.itime = n(2), this.sideinfo_len = 0, this.sb_sample = ge([2, 2, 18, Ae.SBLIMIT]), this.amp_filter = de(32), this.header = new Array(j.MAX_HEADER_BUF), this.h_ptr = 0, this.w_ptr = 0, this.ancillary_flag = 0, this.ResvSize = 0, this.ResvMax = 0, this.scalefac_band = new r(), this.minval_l = de(Ae.CBANDS), this.minval_s = de(Ae.CBANDS), this.nb_1 = ge([4, Ae.CBANDS]), this.nb_2 = ge([4, Ae.CBANDS]), this.nb_s1 = ge([4, Ae.CBANDS]), this.nb_s2 = ge([4, Ae.CBANDS]), this.s3_ss = null, this.s3_ll = null, this.decay = 0, this.thm = new Array(4), this.en = new Array(4), this.tot_ener = de(4), this.loudness_sq = ge([2, 2]), this.loudness_sq_save = de(2), this.mld_l = de(Ae.SBMAX_l), this.mld_s = de(Ae.SBMAX_s), this.bm_l = ve(Ae.SBMAX_l), this.bo_l = ve(Ae.SBMAX_l), this.bm_s = ve(Ae.SBMAX_s), this.bo_s = ve(Ae.SBMAX_s), this.npart_l = 0, this.npart_s = 0, this.s3ind = S([Ae.CBANDS, 2]), this.s3ind_s = S([Ae.CBANDS, 2]), this.numlines_s = ve(Ae.CBANDS), this.numlines_l = ve(Ae.CBANDS), this.rnumlines_l = de(Ae.CBANDS), this.mld_cb_l = de(Ae.CBANDS), this.mld_cb_s = de(Ae.CBANDS), this.numlines_s_num1 = 0, this.numlines_l_num1 = 0, this.pe = de(4), this.ms_ratio_s_old = 0, this.ms_ratio_l_old = 0, this.ms_ener_ratio_old = 0, this.blocktype_old = ve(2), this.nsPsy = new function () { this.last_en_subshort = ge([4, 9]), this.lastAttacks = ve(4), this.pefirbuf = de(19), this.longfact = de(Ae.SBMAX_l), this.shortfact = de(Ae.SBMAX_s), this.attackthre = 0, this.attackthre_s = 0; }(), this.VBR_seek_table = new function () { this.sum = 0, this.seen = 0, this.want = 0, this.pos = 0, this.size = 0, this.bag = null, this.nVbrNumFrames = 0, this.nBytesWritten = 0, this.TotalFrameSize = 0; - }(), this.ATH = null, this.PSY = null, this.nogap_total = 0, this.nogap_current = 0, this.decode_on_the_fly = !0, this.findReplayGain = !0, this.findPeakSample = !0, this.PeakSample = 0, this.RadioGain = 0, this.AudiophileGain = 0, this.rgdata = null, this.noclipGainChange = 0, this.noclipScale = 0, this.bitrate_stereoMode_Hist = w([16, 5]), this.bitrate_blockType_Hist = w([16, 6]), this.pinfo = null, this.hip = null, this.in_buffer_nsamples = 0, this.in_buffer_0 = null, this.in_buffer_1 = null, this.iteration_loop = null; + }(), this.ATH = null, this.PSY = null, this.nogap_total = 0, this.nogap_current = 0, this.decode_on_the_fly = !0, this.findReplayGain = !0, this.findPeakSample = !0, this.PeakSample = 0, this.RadioGain = 0, this.AudiophileGain = 0, this.rgdata = null, this.noclipGainChange = 0, this.noclipScale = 0, this.bitrate_stereoMode_Hist = S([16, 5]), this.bitrate_blockType_Hist = S([16, 6]), this.pinfo = null, this.hip = null, this.in_buffer_nsamples = 0, this.in_buffer_0 = null, this.in_buffer_1 = null, this.iteration_loop = null; for (var a = 0; a < this.en.length; a++) this.en[a] = new i(); for (var a = 0; a < this.thm.length; a++) this.thm[a] = new i(); for (var a = 0; a < this.header.length; a++) this.header[a] = new t(); @@ -36121,13 +36285,13 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js n = 4; do { var _, l, f, c, u, h, b; - for (b = n >> 1, h = (u = (c = n) << 1) + c, n = u << 1, r = (s = t) + b; S = e[s + 0] - e[s + c], w = e[s + 0] + e[s + c], k = e[s + u] - e[s + h], y = e[s + u] + e[s + h], e[s + u] = w - y, e[s + 0] = w + y, e[s + h] = S - k, e[s + c] = S + k, S = e[r + 0] - e[r + c], w = e[r + 0] + e[r + c], k = V.SQRT2 * e[r + h], y = V.SQRT2 * e[r + u], e[r + u] = w - y, e[r + 0] = w + y, e[r + h] = S - k, e[r + c] = S + k, r += n, (s += n) < o;); + for (b = n >> 1, h = (u = (c = n) << 1) + c, n = u << 1, r = (s = t) + b; w = e[s + 0] - e[s + c], S = e[s + 0] + e[s + c], k = e[s + u] - e[s + h], y = e[s + u] + e[s + h], e[s + u] = S - y, e[s + 0] = S + y, e[s + h] = w - k, e[s + c] = w + k, w = e[r + 0] - e[r + c], S = e[r + 0] + e[r + c], k = V.SQRT2 * e[r + h], y = V.SQRT2 * e[r + u], e[r + u] = S - y, e[r + 0] = S + y, e[r + h] = w - k, e[r + c] = w + k, r += n, (s += n) < o;); for (l = x[i + 0], _ = x[i + 1], f = 1; f < b; f++) { var p, m; p = 1 - 2 * _ * _, m = 2 * _ * l, s = t + f, r = t + c - f; do { - var v, d, g, w, S, M, y, A, k, R; - d = m * e[s + c] - p * e[r + c], v = p * e[s + c] + m * e[r + c], S = e[s + 0] - v, w = e[s + 0] + v, M = e[r + 0] - d, g = e[r + 0] + d, d = m * e[s + h] - p * e[r + h], v = p * e[s + h] + m * e[r + h], k = e[s + u] - v, y = e[s + u] + v, R = e[r + u] - d, A = e[r + u] + d, d = _ * y - l * R, v = l * y + _ * R, e[s + u] = w - v, e[s + 0] = w + v, e[r + h] = M - d, e[r + c] = M + d, d = l * A - _ * k, v = _ * A + l * k, e[r + u] = g - v, e[r + 0] = g + v, e[s + h] = S - d, e[s + c] = S + d, r += n, s += n; + var v, d, g, S, w, M, y, A, k, R; + d = m * e[s + c] - p * e[r + c], v = p * e[s + c] + m * e[r + c], w = e[s + 0] - v, S = e[s + 0] + v, M = e[r + 0] - d, g = e[r + 0] + d, d = m * e[s + h] - p * e[r + h], v = p * e[s + h] + m * e[r + h], k = e[s + u] - v, y = e[s + u] + v, R = e[r + u] - d, A = e[r + u] + d, d = _ * y - l * R, v = l * y + _ * R, e[s + u] = S - v, e[s + 0] = S + v, e[r + h] = M - d, e[r + c] = M + d, d = l * A - _ * k, v = _ * A + l * k, e[r + u] = g - v, e[r + 0] = g + v, e[s + h] = w - d, e[s + c] = w + d, r += n, s += n; } while (s < o); l = (p = l) * x[i + 0] - _ * x[i + 1], _ = p * x[i + 1] + _ * x[i + 0]; } @@ -36174,7 +36338,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js g = 16, E = .34, v = 1 / 217621504 / (Ae.BLKSIZE / 2), - w = .2302585093; + S = .2302585093; function se(e, t, a, n, s, r, i, o, _, l, f) { var c = e.internal_flags; _ < 2 ? (k.fft_long(c, n[s], _, l, f), k.fft_short(c, r[i], _, l, f)) : 2 == _ && me(), t[0] = n[s + 0][0], t[0] *= t[0]; @@ -36371,8 +36535,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } h[u] = o * m; for (var g = 0; g < c; g++) { - var w, S, M, y, A; - M = l[g], y = l[g + 1], (w = 0 | Math.floor(.5 + f * (M - .5))) < 0 && (w = 0), S = 0 | Math.floor(.5 + f * (y - .5)), _ / 2 < S && (S = _ / 2), a[g] = (p[w] + p[S]) / 2, t[g] = p[S]; + var S, w, M, y, A; + M = l[g], y = l[g + 1], (S = 0 | Math.floor(.5 + f * (M - .5))) < 0 && (S = 0), w = 0 | Math.floor(.5 + f * (y - .5)), _ / 2 < w && (w = _ / 2), a[g] = (p[S] + p[w]) / 2, t[g] = p[w]; var k = b * y; i[g] = (k - h[t[g]]) / (h[t[g] + 1] - h[t[g]]), i[g] < 0 ? i[g] = 0 : 1 < i[g] && (i[g] = 1), A = P(o * l[g] * f), A = Math.min(A, 15.5) / 15.5, r[g] = Math.pow(10, 1.25 * (1 - Math.cos(Math.PI * A)) - 2.5); } @@ -36394,7 +36558,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js u = ge([Ae.CBANDS, Ae.CBANDS]), h = 0; if (r) for (var b = 0; b < t; b++) for (i = 0; i < t; i++) { - var p = (o = a[b] - a[i], c = f = l = _ = void 0, _ = o, l = .5 <= (_ *= 0 <= _ ? 3 : 1.5) && _ <= 2.5 ? 8 * ((c = _ - .5) * c - 2 * c) : 0, ((f = 15.811389 + 7.5 * (_ += .474) - 17.5 * Math.sqrt(1 + _ * _)) <= -60 ? 0 : (_ = Math.exp((l + f) * w), _ /= .6609193)) * n[i]); + var p = (o = a[b] - a[i], c = f = l = _ = void 0, _ = o, l = .5 <= (_ *= 0 <= _ ? 3 : 1.5) && _ <= 2.5 ? 8 * ((c = _ - .5) * c - 2 * c) : 0, ((f = 15.811389 + 7.5 * (_ += .474) - 17.5 * Math.sqrt(1 + _ * _)) <= -60 ? 0 : (_ = Math.exp((l + f) * S), _ /= .6609193)) * n[i]); u[b][i] = p * s[b]; } else me(); for (var b = 0; b < t; b++) { @@ -36425,8 +36589,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js v, d, g = e.internal_flags, - w = ge([2, Ae.BLKSIZE]), - S = ge([2, 3, Ae.BLKSIZE_s]), + S = ge([2, Ae.BLKSIZE]), + w = ge([2, 3, Ae.BLKSIZE_s]), M = de(Ae.CBANDS + 1), y = de(Ae.CBANDS + 1), A = de(Ae.CBANDS + 2), @@ -36435,7 +36599,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js x = ge([2, 576]), B = ve(Ae.CBANDS + 2), T = ve(Ae.CBANDS + 2); - for (we.fill(T, 0), f = g.channels_out, e.mode == ye.JOINT_STEREO && (f = 4), d = e.VBR == Me.vbr_off ? 0 == g.ResvMax ? 0 : g.ResvSize / g.ResvMax * .5 : e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? .6 : 1, c = 0; c < g.channels_out; c++) { + for (Se.fill(T, 0), f = g.channels_out, e.mode == ye.JOINT_STEREO && (f = 4), d = e.VBR == Me.vbr_off ? 0 == g.ResvMax ? 0 : g.ResvSize / g.ResvMax * .5 : e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? .6 : 1, c = 0; c < g.channels_out; c++) { var E = t[c], C = a + 576 - 350 - 21 + 192; for (h = 0; h < 576; h++) { @@ -36466,7 +36630,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } for (e.analysis && me(), P = 3 == c ? g.nsPsy.attackthre_s : g.nsPsy.attackthre, h = 0; h < 12; h++) 0 == j[h / 3] && N[h] > P && (j[h / 3] = h % 3 + 1); for (h = 1; h < 4; h++) (O[h - 1] > O[h] ? O[h - 1] / O[h] : O[h] / O[h - 1]) < 1.7 && (j[h] = 0, 1 == h && (j[0] = 0)); - for (0 != j[0] && 0 != g.nsPsy.lastAttacks[c] && (j[0] = 0), 3 != g.nsPsy.lastAttacks[c] && j[0] + j[1] + j[2] + j[3] == 0 || ((V = 0) != j[1] && 0 != j[0] && (j[1] = 0), 0 != j[2] && 0 != j[1] && (j[2] = 0), 0 != j[3] && 0 != j[2] && (j[3] = 0)), c < 2 ? R[c] = V : me(), _[c] = g.tot_ener[c], se(e, X, Y, w, 1 & c, S, 1 & c, n, c, t, a), he(g, X, M, D, F), be(g, D, F, B), v = 0; v < 3; v++) { + for (0 != j[0] && 0 != g.nsPsy.lastAttacks[c] && (j[0] = 0), 3 != g.nsPsy.lastAttacks[c] && j[0] + j[1] + j[2] + j[3] == 0 || ((V = 0) != j[1] && 0 != j[0] && (j[1] = 0), 0 != j[2] && 0 != j[1] && (j[2] = 0), 0 != j[3] && 0 != j[2] && (j[3] = 0)), c < 2 ? R[c] = V : me(), _[c] = g.tot_ener[c], se(e, X, Y, S, 1 & c, w, 1 & c, n, c, t, a), he(g, X, M, D, F), be(g, D, F, B), v = 0; v < 3; v++) { var K, Z; for (le(e, Y, y, A, c, v), oe(g, y, A, c, v), m = 0; m < Ae.SBMAX_s; m++) { if (Z = g.thm[c].s[m][v], Z *= .8, 2 <= j[v] || 1 == j[v + 1]) { @@ -36495,8 +36659,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js } for (e.mode != ye.STEREO && e.mode != ye.JOINT_STEREO || me(), e.mode == ye.JOINT_STEREO && me(), function (e, t, a, n) { var s = e.internal_flags; - e.short_blocks != Se.short_block_coupled || 0 != t[0] && 0 != t[1] || (t[0] = t[1] = 0); - for (var r = 0; r < s.channels_out; r++) n[r] = Ae.NORM_TYPE, e.short_blocks == Se.short_block_dispensed && (t[r] = 1), e.short_blocks == Se.short_block_forced && (t[r] = 0), 0 != t[r] ? s.blocktype_old[r] == Ae.SHORT_TYPE && (n[r] = Ae.STOP_TYPE) : (n[r] = Ae.SHORT_TYPE, s.blocktype_old[r] == Ae.NORM_TYPE && (s.blocktype_old[r] = Ae.START_TYPE), s.blocktype_old[r] == Ae.STOP_TYPE && (s.blocktype_old[r] = Ae.SHORT_TYPE)), a[r] = s.blocktype_old[r], s.blocktype_old[r] = n[r]; + e.short_blocks != we.short_block_coupled || 0 != t[0] && 0 != t[1] || (t[0] = t[1] = 0); + for (var r = 0; r < s.channels_out; r++) n[r] = Ae.NORM_TYPE, e.short_blocks == we.short_block_dispensed && (t[r] = 1), e.short_blocks == we.short_block_forced && (t[r] = 0), 0 != t[r] ? s.blocktype_old[r] == Ae.SHORT_TYPE && (n[r] = Ae.STOP_TYPE) : (n[r] = Ae.SHORT_TYPE, s.blocktype_old[r] == Ae.NORM_TYPE && (s.blocktype_old[r] = Ae.START_TYPE), s.blocktype_old[r] == Ae.STOP_TYPE && (s.blocktype_old[r] = Ae.SHORT_TYPE)), a[r] = s.blocktype_old[r], s.blocktype_old[r] = n[r]; }(e, R, l, k), c = 0; c < f; c++) { var ee, te, @@ -36552,7 +36716,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js g = D.MAX_VALUE; for (var v = 0; v < a.numlines_l[t]; v++, h++) { var d = u * h / (1e3 * Ae.BLKSIZE); - w = this.ATHformula(1e3 * d, e) - 20, w = Math.pow(10, .1 * w), (w *= a.numlines_l[t]) < g && (g = w); + S = this.ATHformula(1e3 * d, e) - 20, S = Math.pow(10, .1 * S), (S *= a.numlines_l[t]) < g && (g = S); } a.ATH.cb_l[t] = g, 6 < (g = 20 * l[t] / 10 - 20) && (g = 100), g < -15 && (g = -15), g -= 8, a.minval_l[t] = Math.pow(10, g / 10) * a.numlines_l[t]; } @@ -36561,14 +36725,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js p = o; l[t] >= s && (p = _ * (l[t] - s) / (24 - s) + o * (24 - l[t]) / (24 - s)), c[t] = Math.pow(10, p / 10), g = D.MAX_VALUE; for (var v = 0; v < a.numlines_s[t]; v++, h++) { - var w, + var S, d = u * h / (1e3 * Ae.BLKSIZE_s); - w = this.ATHformula(1e3 * d, e) - 20, w = Math.pow(10, .1 * w), (w *= a.numlines_s[t]) < g && (g = w); + S = this.ATHformula(1e3 * d, e) - 20, S = Math.pow(10, .1 * S), (S *= a.numlines_s[t]) < g && (g = S); } a.ATH.cb_s[t] = g, g = 7 * l[t] / 12 - 7, 12 < l[t] && (g *= 1 + 3.1 * Math.log(1 + g)), l[t] < 12 && (g *= 1 + 2.3 * Math.log(1 - g)), g < -15 && (g = -15), g -= 8, a.minval_s[t] = Math.pow(10, g / 10) * a.numlines_s[t]; } a.s3_ss = O(a.s3ind_s, a.npart_s, l, f, c, n), x = Math.pow(10, (C + 1) / 16), B = Math.pow(10, (I + 1) / 16), T = Math.pow(10, L / 10), k.init_fft(a), a.decay = Math.exp(-1 * R / (.01 * u / 192)), m = 3.5, 0 != (2 & e.exp_nspsytune) && (m = 1), 0 < Math.abs(e.msfix) && (m = e.msfix), e.msfix = m; - for (var S = 0; S < a.npart_l; S++) a.s3ind[S][1] > a.npart_l - 1 && (a.s3ind[S][1] = a.npart_l - 1); + for (var w = 0; w < a.npart_l; w++) a.s3ind[w][1] > a.npart_l - 1 && (a.s3ind[w][1] = a.npart_l - 1); var M = 576 * a.mode_gr / u; if (a.ATH.decay = Math.pow(10, -1.2 * M), a.ATH.adjust = .01, -(a.ATH.adjustLimit = 1) != e.ATHtype) { var y = e.out_samplerate / Ae.BLKSIZE, @@ -36576,8 +36740,8 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js for (t = d = 0; t < Ae.BLKSIZE / 2; ++t) d += y, a.ATH.eql_w[t] = 1 / Math.pow(10, this.ATHformula(d, e) / 10), A += a.ATH.eql_w[t]; for (A = 1 / A, t = Ae.BLKSIZE / 2; 0 <= --t;) a.ATH.eql_w[t] *= A; } - for (var S = h = 0; S < a.npart_s; ++S) for (t = 0; t < a.numlines_s[S]; ++t) ++h; - for (var S = h = 0; S < a.npart_l; ++S) for (t = 0; t < a.numlines_l[S]; ++t) ++h; + for (var w = h = 0; w < a.npart_s; ++w) for (t = 0; t < a.numlines_s[w]; ++t) ++h; + for (var w = h = 0; w < a.npart_l; ++w) for (t = 0; t < a.numlines_l[w]; ++t) ++h; for (t = h = 0; t < a.npart_l; t++) { var d = u * (h + a.numlines_l[t] / 2) / (1 * Ae.BLKSIZE); a.mld_cb_l[t] = N(d), h += a.numlines_l[t]; @@ -36774,7 +36938,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js f = n.scalefac_band.s[12] + _ * l; n.scalefac_band.psfb12[_] = f; } - for (n.scalefac_band.psfb12[Ae.PSFB12] = 192, 1 == e.version ? n.sideinfo_len = 1 == n.channels_out ? 21 : 36 : n.sideinfo_len = 1 == n.channels_out ? 13 : 21, e.error_protection && (n.sideinfo_len += 2), a = void 0, a = (t = e).internal_flags, t.frameNum = 0, t.write_id3tag_automatic && m.id3tag_write_v2(t), a.bitrate_stereoMode_Hist = w([16, 5]), a.bitrate_blockType_Hist = w([16, 6]), a.PeakSample = 0, t.bWriteVbrTag && p.InitVbrTag(t), n.Class_ID = I, i = 0; i < 19; i++) n.nsPsy.pefirbuf[i] = 700 * n.mode_gr * n.channels_out; + for (n.scalefac_band.psfb12[Ae.PSFB12] = 192, 1 == e.version ? n.sideinfo_len = 1 == n.channels_out ? 21 : 36 : n.sideinfo_len = 1 == n.channels_out ? 13 : 21, e.error_protection && (n.sideinfo_len += 2), a = void 0, a = (t = e).internal_flags, t.frameNum = 0, t.write_id3tag_automatic && m.id3tag_write_v2(t), a.bitrate_stereoMode_Hist = S([16, 5]), a.bitrate_blockType_Hist = S([16, 6]), a.PeakSample = 0, t.bWriteVbrTag && p.InitVbrTag(t), n.Class_ID = I, i = 0; i < 19; i++) n.nsPsy.pefirbuf[i] = 700 * n.mode_gr * n.channels_out; switch (-1 == e.ATHtype && (e.ATHtype = 4), e.VBR) { case Me.vbr_mt: e.VBR = Me.vbr_mtrh; @@ -36839,7 +37003,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js case 0: t.psymodel = 1, 0 == t.noise_shaping && (t.noise_shaping = 1), 0 == t.substep_shaping && (t.substep_shaping = 2), t.noise_shaping_amp = 2, -(t.noise_shaping_stop = 1) == t.subblock_gain && (t.subblock_gain = 1), t.use_best_huffman = 1, t.full_outer_loop = 0; } - }(e), e.athaa_type < 0 ? n.ATH.useAdjust = 3 : n.ATH.useAdjust = e.athaa_type, n.ATH.aaSensitivityP = Math.pow(10, e.athaa_sensitivity / -10), null == e.short_blocks && (e.short_blocks = Se.short_block_allowed), e.short_blocks != Se.short_block_allowed || e.mode != ye.JOINT_STEREO && e.mode != ye.STEREO || (e.short_blocks = Se.short_block_coupled), e.quant_comp < 0 && (e.quant_comp = 1), e.quant_comp_short < 0 && (e.quant_comp_short = 0), e.msfix < 0 && (e.msfix = 0), e.exp_nspsytune = 1 | e.exp_nspsytune, e.internal_flags.nsPsy.attackthre < 0 && (e.internal_flags.nsPsy.attackthre = X.NSATTACKTHRE), e.internal_flags.nsPsy.attackthre_s < 0 && (e.internal_flags.nsPsy.attackthre_s = X.NSATTACKTHRE_S), e.scale < 0 && (e.scale = 1), e.ATHtype < 0 && (e.ATHtype = 4), e.ATHcurve < 0 && (e.ATHcurve = 4), e.athaa_loudapprox < 0 && (e.athaa_loudapprox = 2), e.interChRatio < 0 && (e.interChRatio = 0), null == e.useTemporal && (e.useTemporal = !0), n.slot_lag = n.frac_SpF = 0, e.VBR == Me.vbr_off && (n.slot_lag = n.frac_SpF = 72e3 * (e.version + 1) * e.brate % e.out_samplerate | 0), h.iteration_init(e), v.psymodel_init(e), 0; + }(e), e.athaa_type < 0 ? n.ATH.useAdjust = 3 : n.ATH.useAdjust = e.athaa_type, n.ATH.aaSensitivityP = Math.pow(10, e.athaa_sensitivity / -10), null == e.short_blocks && (e.short_blocks = we.short_block_allowed), e.short_blocks != we.short_block_allowed || e.mode != ye.JOINT_STEREO && e.mode != ye.STEREO || (e.short_blocks = we.short_block_coupled), e.quant_comp < 0 && (e.quant_comp = 1), e.quant_comp_short < 0 && (e.quant_comp_short = 0), e.msfix < 0 && (e.msfix = 0), e.exp_nspsytune = 1 | e.exp_nspsytune, e.internal_flags.nsPsy.attackthre < 0 && (e.internal_flags.nsPsy.attackthre = X.NSATTACKTHRE), e.internal_flags.nsPsy.attackthre_s < 0 && (e.internal_flags.nsPsy.attackthre_s = X.NSATTACKTHRE_S), e.scale < 0 && (e.scale = 1), e.ATHtype < 0 && (e.ATHtype = 4), e.ATHcurve < 0 && (e.ATHcurve = 4), e.athaa_loudapprox < 0 && (e.athaa_loudapprox = 2), e.interChRatio < 0 && (e.interChRatio = 0), null == e.useTemporal && (e.useTemporal = !0), n.slot_lag = n.frac_SpF = 0, e.VBR == Me.vbr_off && (n.slot_lag = n.frac_SpF = 72e3 * (e.version + 1) * e.brate % e.out_samplerate | 0), h.iteration_init(e), v.psymodel_init(e), 0; }, this.lame_encode_flush = function (e, t, a, n) { var s, r, @@ -36883,7 +37047,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js if (N.NEQ(e.scale_left, 0) && N.NEQ(e.scale_left, 1)) for (_ = 0; _ < n; ++_) p[0][_] *= e.scale_left; if (N.NEQ(e.scale_right, 0) && N.NEQ(e.scale_right, 1)) for (_ = 0; _ < n; ++_) p[1][_] *= e.scale_right; 2 == e.num_channels && 1 == u.channels_out && me(), f = L(e), b[0] = u.mfbuf[0], b[1] = u.mfbuf[1]; - for (var m, v, d, g, w, S, M, y = 0; 0 < n;) { + for (var m, v, d, g, S, w, M, y = 0; 0 < n;) { var A = [null, null], k = 0, R = 0; @@ -36892,7 +37056,7 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js if (H(e, b, A, y, n, x), k = x.n_in, R = x.n_out, u.findReplayGain && !u.decode_on_the_fly && T.AnalyzeSamples(u.rgdata, b[0], u.mf_size, b[1], u.mf_size, R, u.channels_out) == O.GAIN_ANALYSIS_ERROR) return -6; if (n -= k, y += k, u.channels_out, u.mf_size += R, u.mf_samples_to_encode < 1 && me(), u.mf_samples_to_encode += R, u.mf_size >= f) { var B = i - h; - if (0 == i && (B = 0), m = e, v = b[0], d = b[1], g = s, w = r, S = B, M = C.enc.lame_encode_mp3_frame(m, v, d, g, w, S), m.frameNum++, (o = M) < 0) return o; + if (0 == i && (B = 0), m = e, v = b[0], d = b[1], g = s, S = r, w = B, M = C.enc.lame_encode_mp3_frame(m, v, d, g, S, w), m.frameNum++, (o = M) < 0) return o; for (r += o, h += o, u.mf_size -= e.framesize, u.mf_samples_to_encode -= e.framesize, l = 0; l < u.channels_out; l++) for (_ = 0; _ < u.mf_size; _++) b[l][_] = b[l][_ + e.framesize]; } } @@ -37035,14 +37199,14 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js v.num_channels = n, v.in_samplerate = e, v.out_samplerate = e, v.brate = t, v.mode = ye.STEREO, v.quality = 3, v.bWriteVbrTag = !1, v.disable_reservoir = !0, v.write_id3tag_automatic = !1, s.lame_init_params(v); var d = 1152, g = 0 | 1.25 * d + 7200, - w = S(g); + S = w(g); this.encodeBuffer = function (e, t) { - 1 == n && (t = e), e.length > d && (d = e.length, w = S(g = 0 | 1.25 * d + 7200)); - var a = s.lame_encode_buffer(v, e, t, e.length, w, 0, g); - return new Int8Array(w.subarray(0, a)); + 1 == n && (t = e), e.length > d && (d = e.length, S = w(g = 0 | 1.25 * d + 7200)); + var a = s.lame_encode_buffer(v, e, t, e.length, S, 0, g); + return new Int8Array(S.subarray(0, a)); }, this.flush = function () { - var e = s.lame_encode_flush(v, w, 0, g); - return new Int8Array(w.subarray(0, e)); + var e = s.lame_encode_flush(v, S, 0, g); + return new Int8Array(S.subarray(0, e)); }; }; } @@ -37830,7 +37994,7 @@ const uuid$1 = prefix => { const id = s.join(''); return prefix ? prefix + '__' + id : id; }; -var script$5H = { +var script$5I = { name: 'RecordPlayer', props: { //模式:preview 预览 (默认),editor 编辑 @@ -38320,10 +38484,10 @@ var script$5H = { }; /* script */ -const __vue_script__$5H = script$5H; +const __vue_script__$5I = script$5I; /* template */ -var __vue_render__$5H = function () { +var __vue_render__$5I = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -38527,17 +38691,17 @@ var __vue_render__$5H = function () { 1 ) }; -var __vue_staticRenderFns__$5H = []; -__vue_render__$5H._withStripped = true; +var __vue_staticRenderFns__$5I = []; +__vue_render__$5I._withStripped = true; /* style */ - const __vue_inject_styles__$5H = undefined; + const __vue_inject_styles__$5I = undefined; /* scoped */ - const __vue_scope_id__$5H = undefined; + const __vue_scope_id__$5I = undefined; /* module identifier */ - const __vue_module_identifier__$5H = undefined; + const __vue_module_identifier__$5I = undefined; /* functional template */ - const __vue_is_functional_template__$5H = false; + const __vue_is_functional_template__$5I = false; /* style inject */ /* style inject SSR */ @@ -38546,13 +38710,13 @@ __vue_render__$5H._withStripped = true; - const __vue_component__$5H = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5H, staticRenderFns: __vue_staticRenderFns__$5H }, - __vue_inject_styles__$5H, - __vue_script__$5H, - __vue_scope_id__$5H, - __vue_is_functional_template__$5H, - __vue_module_identifier__$5H, + const __vue_component__$5I = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5I, staticRenderFns: __vue_staticRenderFns__$5I }, + __vue_inject_styles__$5I, + __vue_script__$5I, + __vue_scope_id__$5I, + __vue_is_functional_template__$5I, + __vue_module_identifier__$5I, false, undefined, undefined, @@ -38565,9 +38729,9 @@ const _audio = '.mp3,'; const _video = '.mp4,.MP4'; const _resources = 'application/x-zip-compressed,.zip,'; const _office = '.ppt,.xlsx,.xls,.doc,.docx,.pptx'; -var script$5G = { +var script$5H = { components: { - RecordPlayer: __vue_component__$5H + RecordPlayer: __vue_component__$5I }, name: 'addFile', props: { @@ -39038,9 +39202,9 @@ var script$5G = { }; /* script */ -const __vue_script__$5G = script$5G; +const __vue_script__$5H = script$5H; /* template */ -var __vue_render__$5G = function () { +var __vue_render__$5H = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -39637,17 +39801,17 @@ var __vue_render__$5G = function () { ] ) }; -var __vue_staticRenderFns__$5G = []; -__vue_render__$5G._withStripped = true; +var __vue_staticRenderFns__$5H = []; +__vue_render__$5H._withStripped = true; /* style */ - const __vue_inject_styles__$5G = undefined; + const __vue_inject_styles__$5H = undefined; /* scoped */ - const __vue_scope_id__$5G = undefined; + const __vue_scope_id__$5H = undefined; /* module identifier */ - const __vue_module_identifier__$5G = undefined; + const __vue_module_identifier__$5H = undefined; /* functional template */ - const __vue_is_functional_template__$5G = false; + const __vue_is_functional_template__$5H = false; /* style inject */ /* style inject SSR */ @@ -39656,13 +39820,13 @@ __vue_render__$5G._withStripped = true; - const __vue_component__$5G = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5G, staticRenderFns: __vue_staticRenderFns__$5G }, - __vue_inject_styles__$5G, - __vue_script__$5G, - __vue_scope_id__$5G, - __vue_is_functional_template__$5G, - __vue_module_identifier__$5G, + const __vue_component__$5H = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5H, staticRenderFns: __vue_staticRenderFns__$5H }, + __vue_inject_styles__$5H, + __vue_script__$5H, + __vue_scope_id__$5H, + __vue_is_functional_template__$5H, + __vue_module_identifier__$5H, false, undefined, undefined, @@ -39919,7 +40083,7 @@ function mixin$1() { function setup(options) { return assign_1(setupDefaults_1, options); } -XEUtils.VERSION = '3.5.29'; +XEUtils.VERSION = '3.6.0'; XEUtils.mixin = mixin$1; XEUtils.setup = setup; var ctor = XEUtils; @@ -40987,10 +41151,14 @@ function toArrayTree(array, options) { } parentId = item[optParentKey]; treeMap[id] = treeMap[id] || []; - treeMap[parentId] = treeMap[parentId] || []; - treeMap[parentId].push(treeData); treeData[optKey] = id; treeData[optParentKey] = parentId; + if (id === parentId) { + parentId = null; + console.log('Fix infinite Loop.', item); + } + treeMap[parentId] = treeMap[parentId] || []; + treeMap[parentId].push(treeData); treeData[optChildren] = treeMap[id]; if (optMapChildren) { treeData[optMapChildren] = treeMap[id]; @@ -41008,18 +41176,24 @@ function toArrayTree(array, options) { } var toArrayTree_1 = toArrayTree; -function unTreeList(result, array, opts) { +function unTreeList(result, parentItem, array, opts) { + var optKey = opts.key; + var optParentKey = opts.parentKey; var optChildren = opts.children; var optData = opts.data; + var optUpdated = opts.updated; var optClear = opts.clear; - each_1(array, function (item) { - var children = item[optChildren]; + arrayEach_1(array, function (item) { + var childList = item[optChildren]; if (optData) { item = item[optData]; } + if (optUpdated !== false) { + item[optParentKey] = parentItem ? parentItem[optKey] : null; + } result.push(item); - if (children && children.length) { - unTreeList(result, children, opts); + if (childList && childList.length) { + unTreeList(result, item, childList, opts); } if (optClear) { delete item[optChildren]; @@ -41036,7 +41210,7 @@ function unTreeList(result, array, opts) { * @return {Array} */ function toTreeArray(array, options) { - return unTreeList([], array, assign_1({}, setupDefaults_1.treeOptions, options)); + return unTreeList([], null, array, assign_1({}, setupDefaults_1.treeOptions, options)); } var toTreeArray_1 = toTreeArray; @@ -42622,7 +42796,7 @@ var divide_1 = divide; */ function sum$1(array, iterate, context) { var result = 0; - each_1(array, iterate ? isFunction_1$1(iterate) ? function () { + each_1(array && array.length > 2 && isArray_1(array) ? array.sort() : array, iterate ? isFunction_1$1(iterate) ? function () { result = helperNumberAdd_1(result, iterate.apply(context, arguments)); } : function (val) { result = helperNumberAdd_1(result, get_1(val, iterate)); @@ -42848,21 +43022,52 @@ function getWhatWeek(date, offsetWeek, offsetDay, firstDay) { } var getWhatWeek_1 = getWhatWeek; -function helperCreateGetDateWeek(getStartDate) { +var nextStartMaps = map_1(range_1(0, 7), function (day) { + return [(day + 1) % 7, (day + 2) % 7, (day + 3) % 7]; +}); +function matchWeekStartDay(time, viewStartDay) { + var day = new Date(time).getDay(); + return includes_1(nextStartMaps[viewStartDay], day); +} +function helperCreateGetDateWeek(getStartDate, checkCrossDate) { return function (date, firstDay) { var viewStartDay = isNumber_1(firstDay) ? firstDay : setupDefaults_1.firstDayOfWeek; - var targetDate = getWhatWeek_1(date, 0, viewStartDay, viewStartDay); + var targetDate = toStringDate_1(date); if (isValidDate_1(targetDate)) { - var targetOffsetDate = new Date(targetDate.getFullYear(), targetDate.getMonth(), targetDate.getDate()); - var targerStartDate = getStartDate(targetDate); - var targetFirstDay = targerStartDate.getDay(); - if (targetFirstDay > viewStartDay) { - targerStartDate.setDate(7 - targetFirstDay + viewStartDay + 1); + var targetWeekStartDate = getWhatWeek_1(targetDate, 0, viewStartDay, viewStartDay); + var firstDate = getStartDate(targetWeekStartDate); + var firstTime = helperGetDateTime_1(firstDate); + var targetWeekStartTime = helperGetDateTime_1(targetWeekStartDate); + var targetWeekEndTime = targetWeekStartTime + staticDayTime_1 * 6; + var targetWeekEndDate = new Date(targetWeekEndTime); + var firstWeekStartDate = getWhatWeek_1(firstDate, 0, viewStartDay, viewStartDay); + var firstWeekStartTime = helperGetDateTime_1(firstWeekStartDate); + if (targetWeekStartTime === firstWeekStartTime) { + return 1; } - if (targetFirstDay < viewStartDay) { - targerStartDate.setDate(viewStartDay - targetFirstDay + 1); + var tempTime; + if (checkCrossDate(targetWeekStartDate, targetWeekEndDate)) { + tempTime = helperGetDateTime_1(getStartDate(targetWeekEndDate)); + for (; tempTime < targetWeekEndTime; tempTime += staticDayTime_1) { + if (matchWeekStartDay(tempTime, viewStartDay)) { + return 1; + } + } } - return Math.floor((helperGetDateTime_1(targetOffsetDate) - helperGetDateTime_1(targerStartDate)) / staticWeekTime_1 + 1); + var firstWeekEndTime = firstWeekStartTime + staticDayTime_1 * 6; + var firstWeekEndDate = new Date(targetWeekEndTime); + var offsetNum = 1; + if (checkCrossDate(firstWeekStartDate, firstWeekEndDate)) { + offsetNum = 0; + tempTime = firstTime; + for (; tempTime < firstWeekEndTime; tempTime += staticDayTime_1) { + if (matchWeekStartDay(tempTime, viewStartDay)) { + offsetNum++; + break; + } + } + } + return Math.floor((targetWeekStartTime - firstWeekStartTime) / staticWeekTime_1) + offsetNum; } return NaN; }; @@ -42878,6 +43083,8 @@ var helperCreateGetDateWeek_1 = helperCreateGetDateWeek; */ var getYearWeek = helperCreateGetDateWeek_1(function (targetDate) { return new Date(targetDate.getFullYear(), 0, 1); +}, function (date1, date2) { + return date1.getFullYear() !== date2.getFullYear(); }); var getYearWeek_1 = getYearWeek; @@ -43095,6 +43302,8 @@ var isDateSame_1 = isDateSame; */ var getMonthWeek = helperCreateGetDateWeek_1(function (targetDate) { return new Date(targetDate.getFullYear(), targetDate.getMonth(), 1); +}, function (date1, date2) { + return date1.getMonth() !== date2.getMonth(); }); var getMonthWeek_1 = getMonthWeek; @@ -44524,7 +44733,7 @@ var Prism = function (_self) { } clone = []; visited[id] = clone; - ( /** @type {Array} */ /** @type {any} */o).forEach(function (v, i) { + (/** @type {Array} */ /** @type {any} */o).forEach(function (v, i) { clone[i] = deepClone(v, visited); }); return /** @type {any} */clone; @@ -44767,7 +44976,7 @@ var Prism = function (_self) { * @public */ insertBefore: function (inside, before, insert, root) { - root = root || ( /** @type {any} */_.languages); + root = root || (/** @type {any} */_.languages); var grammar = root[inside]; /** @type {Grammar} */ var ret = {}; @@ -52630,11 +52839,11 @@ var n = function () { }(); // -var script$5F = { +var script$5G = { name: 'XmlTextRender', components: { - addFile: __vue_component__$5G, - XmlTextDialogRender: __vue_component__$5I, + addFile: __vue_component__$5H, + XmlTextDialogRender: __vue_component__$5J, [ImagePreview$1.Component.name]: ImagePreview$1.Component }, props: { @@ -52719,14 +52928,20 @@ var script$5F = { tippyTplNoteId: `tipnote-tpl__${v4()}`, actionCopyId: `act-copy__${v4()}`, actionNoteId: `act-note__${v4()}`, + actionErrorId: `act-error__${v4()}`, + actionErrorTextId: `act-error__${v4()}`, actionHighlightId: `act-light__${v4()}`, - actionLinkId: `act-light__${v4()}`, - actionEncyclopediasId: `act-light__${v4()}`, - actionDictionaryId: `act-light__${v4()}`, + actionLinkId: `act-link__${v4()}`, + actionAiId: `act-ai__${v4()}`, + actionEncyclopediasId: `act-encyclopedias__${v4()}`, + actionDictionaryId: `act-dictionary__${v4()}`, addTeacherResourcesId: `add-teacher-resources__${v4()}`, noteInputId: `note_input__${v4()}`, + errorInputId: `err_input__${v4()}`, actNoteCancelId: `act-cancel__${v4()}`, actNoteConfirmId: `act-confirm__${v4()}`, + errorConfirmId: `err-cancel__${v4()}`, + errorCancelId: `err-confirm__${v4()}`, editNoteTplId: `editnote-tpl__${v4()}`, actNoteDeleteId: `act-delete__${v4()}`, actNoteEditId: `act-edit__${v4()}`, @@ -52740,9 +52955,14 @@ var script$5F = { selectionText: '', content: '' }, + noteError: { + selectionText: '', + content: '' + }, tempMarkEfiStr: '', isMobile: false, - notePopupVisible: false + notePopupVisible: false, + errorPopupVisible: false }; }, inject: { @@ -52793,6 +53013,10 @@ var script$5F = { getSysEvn: { from: 'getSysEvn', default: () => () => {} + }, + getIsShowAi: { + from: 'getIsShowAi', + default: () => () => false } // callFnReplaceKeywordsInHTML: { // from: 'replaceKeywordsInHTML', @@ -52833,6 +53057,9 @@ var script$5F = { tippy: {} }; }, + isShowAi() { + return this.getIsShowAi(); + }, mergeMarkList() { let teacherNoteList = this.getTeacherNoteList() || [], studentNoteList = this.getStudentNoteList() || [], @@ -52945,6 +53172,15 @@ var script$5F = { }] }); }); + const getFileUrl = url => { + if (url) { + if (url.indexOf('./') === -1) { + return url; + } + return `${_this.resourceBasisPath}${url.split('./')[1]}`; + } + return ''; + }; jquery(containerSelector).on('click', 'magic-link', function (e) { let { plaintext, @@ -52966,7 +53202,7 @@ var script$5F = { multiple: true, nowImgIndex: 0, imgList: [{ - url: content, + url: getFileUrl(content), title: plaintext }] }); @@ -52976,7 +53212,7 @@ var script$5F = { _this.$EventBus.$emit('handleMagicLinkAudioPlay', { plaintext, title, - content, + content: getFileUrl(content), type, isPlaying, targetId: e.target.id, @@ -52990,7 +53226,7 @@ var script$5F = { _this.$EventBus.$emit('handleMagicLinkVideoPlay', { plaintext, title, - content, + content: getFileUrl(content), type, isPlaying, targetId: e.target.id, @@ -53166,6 +53402,10 @@ var script$5F = { _this.openDictionary(); } else if (data.type == 'encyclopedias' && data.tippyTplBarId == _this.tippyTplBarId) { _this.openEncyclopedias(); + } else if (data.type == 'error' && data.tippyTplBarId == _this.tippyTplBarId) { + _this.actionAddError(); + } else if (data.type == 'Ai' && data.tippyTplBarId == _this.tippyTplBarId) { + _this.actionOpenAi(); } _this.$EventBus.$emit('selectionTextChange', { state: false, @@ -53201,6 +53441,22 @@ var script$5F = { } else { this.updateCodeBlock(); } + let ADom = document.getElementById(this.blockId).getElementsByTagName('a') || []; + if (ADom) { + for (let i = 0; i < ADom.length; i++) { + // if (JSON.stringify(this.releaseUrlList).indexOf(ADom[i].href) == -1) { + let href = ADom[i].href; + ADom[i].href = 'javascript: void(0)'; + ADom[i].onclick = function (e) { + _this.$EventBus.$emit('openTextHyperlink', { + href: href + }); + e.preventDefault(); + return false; + }; + // } + } + } }); }, beforeDestroy() { @@ -53423,6 +53679,7 @@ var script$5F = { return; } _this.noteData.selectionText = text; + _this.noteError.selectionText = text; const templateBar = document.getElementById(_this.tippyTplBarId); // let HTMLContentClone = $J(`#${_this.tippyTplBarId}`)?.clone(true,true)?.get(0) let content = templateBar?.innerHTML || '选区解析错误'; @@ -53453,10 +53710,13 @@ var script$5F = { actNote = instance.popper.children[0]?.querySelector(`#${_this.actionNoteId}`), actHighlight = instance.popper.children[0]?.querySelector(`#${_this.actionHighlightId}`), actLink = instance.popper.children[0]?.querySelector(`#${_this.actionLinkId}`), + actAi = instance.popper.children[0]?.querySelector(`#${_this.actionAiId}`), addTeacherResources = instance.popper.children[0]?.querySelector(`#${_this.addTeacherResourcesId}`), actionDictionary = instance.popper.children[0]?.querySelector(`#${_this.actionDictionaryId}`), //词典 - actionEncyclopedias = instance.popper.children[0]?.querySelector(`#${_this.actionEncyclopediasId}`); //百科 + actionEncyclopedias = instance.popper.children[0]?.querySelector(`#${_this.actionEncyclopediasId}`), + //百科 + actionError = instance.popper.children[0]?.querySelector(`#${_this.actionErrorId}`); //纠错 if (actCopy) { actCopy.addEventListener('click', _this.actionCopy, { @@ -53466,6 +53726,14 @@ var script$5F = { if (actNote) { actNote.addEventListener('click', _this.actionAddNote); } + if (actionError) { + actionError.addEventListener('click', _this.actionAddError); + } + if (actionDictionary) { + actionDictionary.addEventListener('click', _this.openDictionary, { + once: true + }); + } if (actHighlight) { actHighlight.addEventListener('click', _this.actionAddHighlight, { once: true @@ -53476,6 +53744,11 @@ var script$5F = { once: true }); } + if (actAi) { + actAi.addEventListener('click', _this.actionOpenAi, { + once: true + }); + } if (addTeacherResources) { addTeacherResources.addEventListener('click', _this.addTeacherResources, { once: true @@ -53537,7 +53810,12 @@ var script$5F = { this.$message.error('未选中任何内容'); return; } - document.execCommand('copy'); + let oInput = document.createElement('input'); + oInput.value = this.noteData.selectionText; + document.body.appendChild(oInput); + oInput.select(); + document.execCommand('Copy'); + oInput.remove(); this.$message.success('复制成功'); this.hideTippy(); this.markEfiStr = ''; @@ -53545,7 +53823,9 @@ var script$5F = { selectionText: '', content: '' }; - window.getSelection()?.removeAllRanges(); + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); }, cancelEditNote(instance) { this.noteEditData = { @@ -53683,7 +53963,7 @@ var script$5F = { } }, actionAddNote(e) { - console.log("eejieeieie", e); + console.log('eejieeieie', e); // @pos 添加笔记 // e?.stopPropagation && e.stopPropagation() let _this = this; @@ -53732,7 +54012,134 @@ var script$5F = { this.hideTippy(); this.notePopupVisible = true; } - window.getSelection()?.removeAllRanges(); + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); + }, + // 添加纠错 + actionAddError(e) { + console.log('eejieeieie', e); + // @pos 添加纠错 + // e?.stopPropagation && e.stopPropagation() + let _this = this; + this.noteOperateMode = 'add'; + this.evn.noteStyle; + // _this.markInstance.underline(_this.markEfiStr, defaultUnderlineStyle, (e) => { + // try { + // // 下划线点击事件, 比如打开编辑框 + // let markEfiStr = e.target.getAttribute('data-id') + // console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', 'UnderlineClick', e, markEfiStr) + // _this.noteClick(e, markEfiStr) + // } catch (error) { + // console.log('%c%s', 'font-size:2em;background: #DD5644;color: #FFF', 'underline error', error) + // } + // }) + _this.tempMarkEfiStr = _this.markEfiStr; + _this.noteError.content = ''; + console.log('this.isMobile', this.isMobile); + if (!this.isMobile) { + const templateNote = document.getElementById(_this.actionErrorTextId); + let content = templateNote?.innerHTML || '笔记面板加载错误'; + _this.activeTippy[0].setProps({ + content, + onAfterUpdate: instance => { + // @pos 更新tippy + _this.noteEventController = new AbortController(); + let errorCancel = instance.popper.children[0]?.querySelector(`#${_this.errorCancelId}`), + errorConfirm = instance.popper.children[0]?.querySelector(`#${_this.errorConfirmId}`), + noteInput = instance.popper.children[0]?.querySelector(`#${_this.errorInputId}`); + if (errorCancel && noteInput) { + errorCancel.addEventListener('click', _this.cancelAddNote, { + once: true + }); + } + if (errorConfirm) { + errorConfirm.addEventListener('click', () => _this.confirmAddError(noteInput), { + signal: _this.noteEventController.signal + }); + } + }, + onUntrigger: instance => { + console.log('%c%s', 'font-size:2em;background: #DD5644;color: #FFF', 'Untrigger'); + } + }); + } else { + this.hideTippy(); + this.errorPopupVisible = true; + } + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); + }, + // 提交纠错 + confirmAddError(content) { + let noteContent = content?.value || ''; + console.log('%c%s', 'font-size:2em;background: #DD5644;color: #FFF', '内容', noteContent); + if (!noteContent) { + this.$message.error('请输入反馈内容'); + return; + } + if (!noteContent.trim()) { + this.$message.error('反馈内容不能为空!'); + return; + } + this.hideTippy(); + let markId = `mark__${v4()}`; + let noteModel = { + selectionText: this.noteError.selectionText, + noteContent, + markEfiCode: this.markEfiStr, + type: `note__${this.userType}`, + styleType: this.evn.noteStyle, + blockIndex: this.ruleIndex, + markId + }; + this.tempMarkEfiStr = ''; + this.noteError = { + selectionText: '', + content: '' + }; + if (this.userType && this.insideIndex === this.ruleIndex) { + let rollbackMark = this.markEfiStr; + this.emitRollbackHandler('createError', noteModel).then(id => { + id === markId && _this.markInstance.remove(rollbackMark, 'underline'); + }); + } + this.errorPopupVisible = false; + }, + confirmAddErrorPhone() { + let noteContent = this.noteError.content; + console.log('%c%s', 'font-size:2em;background: #DD5644;color: #FFF', '内容', noteContent); + if (!noteContent) { + this.$message.error('请输入反馈内容'); + return; + } + if (this.noteOperateMode === 'edit') { + this.confirmEditStudentNote(noteContent); + return; + } + let markId = `mark__${v4()}`; + let noteModel = { + selectionText: this.noteError.selectionText, + noteContent, + markEfiCode: this.markEfiStr, + type: `note__${this.userType}`, + styleType: this.evn.noteStyle, + blockIndex: this.ruleIndex, + markId + }; + this.tempMarkEfiStr = ''; + this.noteError = { + selectionText: '', + content: '' + }; + if (this.userType && this.insideIndex === this.ruleIndex) { + let rollbackMark = this.markEfiStr; + this.emitRollbackHandler('createError', noteModel).then(id => { + id === markId && _this.markInstance.remove(rollbackMark, 'underline'); + }); + } + this.errorPopupVisible = false; }, confirmAddStudentNote() { let noteContent = this.noteData.content; @@ -53830,7 +54237,9 @@ var script$5F = { id === markId && _this.markInstance.remove(rollbackMark, 'highlight'); }); } - window.getSelection()?.removeAllRanges(); + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); }, actionAddLink() { let _this = this; @@ -53861,7 +54270,21 @@ var script$5F = { id === markId && _this.markInstance.remove(rollbackMark, 'underline'); }); } - window.getSelection()?.removeAllRanges(); + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); + }, + // 打开Ai解析 + actionOpenAi() { + if (this.noteData.selectionText) { + this.emitRollbackHandler('openAiParsing', { + text: this.noteData.selectionText + }); + } + this.hideTippy(); + setTimeout(() => { + window.getSelection()?.removeAllRanges(); + }, 300); }, highlightClick(e, efi) { console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', 'HighLight Click', e, this.markEfiStr); @@ -54014,9 +54437,9 @@ var script$5F = { }; /* script */ -const __vue_script__$5F = script$5F; +const __vue_script__$5G = script$5G; /* template */ -var __vue_render__$5F = function () { +var __vue_render__$5G = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -54165,18 +54588,6 @@ var __vue_render__$5F = function () { ] : _vm._e(), _vm._v(" "), - _c("span", { - directives: [ - { - name: "show", - rawName: "v-show", - value: _vm.isMobile, - expression: "isMobile", - }, - ], - staticClass: "tipbar-separator--mobile", - }), - _vm._v(" "), _vm.evn.tippy.resources ? _c( "div", @@ -54243,7 +54654,7 @@ var __vue_render__$5F = function () { attrs: { id: _vm.actionHighlightId }, }, [ - _vm.evn.tippy.highlight + _vm.evn.tippy.highlightIcon ? _c("i", { staticClass: "tipbar-icon", class: _vm.evn.tippy.highlightIcon, @@ -54256,6 +54667,40 @@ var __vue_render__$5F = function () { ] : _vm._e(), _vm._v(" "), + _vm.evn.tippy.error + ? [ + _vm.evn.tippy.noteLine + ? _c("span", { staticClass: "tipbar-separator" }, [ + _vm._v("|"), + ]) + : _vm._e(), + _vm._v(" "), + _c( + "div", + { + staticClass: "tipbar-action", + attrs: { id: _vm.actionErrorId }, + on: { + click: function ($event) { + $event.stopPropagation(); + return _vm.actionAddError.apply(null, arguments) + }, + }, + }, + [ + _vm.evn.tippy.errorIcon + ? _c("i", { + staticClass: "tipbar-icon", + class: _vm.evn.tippy.errorIcon, + }) + : _vm._e(), + _vm._v(" "), + _c("span", [_vm._v("纠错")]), + ] + ), + ] + : _vm._e(), + _vm._v(" "), _vm.evn.tippy.link ? [ _c( @@ -54294,6 +54739,44 @@ var __vue_render__$5F = function () { ] : _vm._e(), _vm._v(" "), + _vm.evn.tippy.Ai && _vm.isShowAi + ? [ + _c( + "span", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.evn.tippy.AiLine, + expression: "evn.tippy.AiLine", + }, + ], + staticClass: "tipbar-separator", + }, + [_vm._v("|")] + ), + _vm._v(" "), + _c( + "div", + { + staticClass: "tipbar-action", + attrs: { id: _vm.actionAiId }, + }, + [ + _vm.evn.tippy.AiIcon + ? _c("i", { + staticClass: "tipbar-icon", + class: _vm.evn.tippy.AiIcon, + }) + : _vm._e(), + _vm._v(" "), + _c("span", [_vm._v(_vm._s(_vm.evn.tippy.AiName))]), + ] + ), + ] + : _vm._e(), + _vm._v(" "), _vm.evn.tippy.dictionary ? [ _vm.evn.tippy.dictionaryLine @@ -54427,6 +54910,75 @@ var __vue_render__$5F = function () { ] ), _vm._v(" "), + _c( + "div", + { + staticStyle: { display: "none" }, + attrs: { id: _vm.actionErrorTextId }, + }, + [ + _c("div", { staticClass: "tipnote tipnote-tpl" }, [ + _c("div", { staticClass: "tipnote-title" }, [ + _vm._v(_vm._s(_vm.noteError.selectionText)), + ]), + _vm._v(" "), + _c("textarea", { + directives: [ + { + name: "model", + rawName: "v-model.trim", + value: _vm.noteError.content, + expression: "noteError.content", + modifiers: { trim: true }, + }, + ], + ref: "tippyTextarea", + staticClass: "tipnote-textarea", + attrs: { + id: _vm.errorInputId, + placeholder: "请输入反馈内容", + maxlength: "200", + rows: "5", + }, + domProps: { value: _vm.noteError.content }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.noteError, "content", $event.target.value.trim()); + }, + blur: function ($event) { + return _vm.$forceUpdate() + }, + }, + }), + _vm._v(" "), + _c("div", { staticClass: "tipnote-footer" }, [ + _c( + "div", + { + staticClass: "tipnote-btn cancel", + attrs: { id: _vm.errorCancelId }, + on: { click: _vm.cancelAddNote }, + }, + [_c("span", [_vm._v("取消")])] + ), + _vm._v(" "), + _c( + "div", + { + staticClass: "tipnote-btn confirm", + attrs: { id: _vm.errorConfirmId }, + on: { click: _vm.confirmAddError }, + }, + [_c("span", [_vm._v("确认")])] + ), + ]), + ]), + ] + ), + _vm._v(" "), _c( "div", { staticStyle: { display: "none" }, attrs: { id: _vm.editNoteTplId } }, @@ -54605,21 +55157,148 @@ var __vue_render__$5F = function () { ] ) : _vm._e(), + _vm._v(" "), + _vm.isMobile + ? _c( + "van-popup", + { + style: { backgroundColor: "transparent" }, + attrs: { "get-container": "body", position: "bottom" }, + on: { "click-overlay": _vm.resetTempNote }, + model: { + value: _vm.errorPopupVisible, + callback: function ($$v) { + _vm.errorPopupVisible = $$v; + }, + expression: "errorPopupVisible", + }, + }, + [ + _c( + "div", + { + staticClass: "xml-reader-phone-mark-note-popup", + class: [ + _vm.toolbarVisible && + !_vm.keyboardShow && + "is-toolbar-shown", + _vm.keyboardShow && "keyboard-show", + _vm.toolbarVisible && "toolbar-show", + ], + on: { + click: function ($event) { + $event.stopPropagation(); + }, + }, + }, + [ + _c("div", { staticClass: "mark-note__selection" }, [ + _c("div", [_vm._v(_vm._s(_vm.noteError.selectionText))]), + ]), + _vm._v(" "), + _c("section", { staticClass: "mark-note__wrap" }, [ + _c("textarea", { + directives: [ + { + name: "model", + rawName: "v-model.trim", + value: _vm.noteError.content, + expression: "noteError.content", + modifiers: { trim: true }, + }, + ], + ref: "popupTextarea", + staticClass: "mark-note__textarea", + attrs: { + placeholder: "添加反馈...", + maxlength: "200", + rows: "5", + }, + domProps: { value: _vm.noteError.content }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set( + _vm.noteError, + "content", + $event.target.value.trim() + ); + }, + blur: function ($event) { + return _vm.$forceUpdate() + }, + }, + }), + _vm._v(" "), + _c("div", { staticClass: "mark-note__footer" }, [ + _c("div", { staticClass: "mark-note__count" }, [ + _vm._v(_vm._s(_vm.noteError.content.length) + "/200"), + ]), + _vm._v(" "), + _vm.noteOperateMode === "edit" + ? _c( + "div", + { + staticClass: "mark-note__delete", + on: { + click: function ($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.deleteStudentNote.apply( + null, + arguments + ) + }, + }, + }, + [_vm._v("删除")] + ) + : _vm._e(), + _vm._v(" "), + _c( + "div", + { + staticClass: "mark-note__confirm", + class: _vm.noteError.content.length && "enable", + on: { + click: function ($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.confirmAddErrorPhone.apply( + null, + arguments + ) + }, + }, + }, + [_vm._v("\n 提交\n ")] + ), + ]), + ]), + ] + ), + ] + ) + : _vm._e(), ], 2 ) }; -var __vue_staticRenderFns__$5F = []; -__vue_render__$5F._withStripped = true; +var __vue_staticRenderFns__$5G = []; +__vue_render__$5G._withStripped = true; /* style */ - const __vue_inject_styles__$5F = undefined; + const __vue_inject_styles__$5G = undefined; /* scoped */ - const __vue_scope_id__$5F = "data-v-e037ecc2"; + const __vue_scope_id__$5G = "data-v-ab7c5c76"; /* module identifier */ - const __vue_module_identifier__$5F = undefined; + const __vue_module_identifier__$5G = undefined; /* functional template */ - const __vue_is_functional_template__$5F = false; + const __vue_is_functional_template__$5G = false; /* style inject */ /* style inject SSR */ @@ -54628,20 +55307,20 @@ __vue_render__$5F._withStripped = true; - const __vue_component__$5F = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5F, staticRenderFns: __vue_staticRenderFns__$5F }, - __vue_inject_styles__$5F, - __vue_script__$5F, - __vue_scope_id__$5F, - __vue_is_functional_template__$5F, - __vue_module_identifier__$5F, + const __vue_component__$5G = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5G, staticRenderFns: __vue_staticRenderFns__$5G }, + __vue_inject_styles__$5G, + __vue_script__$5G, + __vue_scope_id__$5G, + __vue_is_functional_template__$5G, + __vue_module_identifier__$5G, false, undefined, undefined, undefined ); -const TextComponents = [__vue_component__$5F, __vue_component__$5I]; +const TextComponents = [__vue_component__$5G, __vue_component__$5J]; var XmlText = { ...TextComponents }; @@ -54658,7 +55337,7 @@ var XmlText = { // // -var script$5E = { +var script$5F = { name: 'XmlGroupRender', props: { //模式:preview 预览 (默认),editor 编辑 @@ -54743,9 +55422,9 @@ var script$5E = { }; /* script */ -const __vue_script__$5E = script$5E; +const __vue_script__$5F = script$5F; /* template */ -var __vue_render__$5E = function () { +var __vue_render__$5F = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -54782,17 +55461,17 @@ var __vue_render__$5E = function () { 2 ) }; -var __vue_staticRenderFns__$5E = []; -__vue_render__$5E._withStripped = true; +var __vue_staticRenderFns__$5F = []; +__vue_render__$5F._withStripped = true; /* style */ - const __vue_inject_styles__$5E = undefined; + const __vue_inject_styles__$5F = undefined; /* scoped */ - const __vue_scope_id__$5E = "data-v-66bda01b"; + const __vue_scope_id__$5F = "data-v-66bda01b"; /* module identifier */ - const __vue_module_identifier__$5E = undefined; + const __vue_module_identifier__$5F = undefined; /* functional template */ - const __vue_is_functional_template__$5E = false; + const __vue_is_functional_template__$5F = false; /* style inject */ /* style inject SSR */ @@ -54801,23 +55480,23 @@ __vue_render__$5E._withStripped = true; - const __vue_component__$5E = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5E, staticRenderFns: __vue_staticRenderFns__$5E }, - __vue_inject_styles__$5E, - __vue_script__$5E, - __vue_scope_id__$5E, - __vue_is_functional_template__$5E, - __vue_module_identifier__$5E, + const __vue_component__$5F = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5F, staticRenderFns: __vue_staticRenderFns__$5F }, + __vue_inject_styles__$5F, + __vue_script__$5F, + __vue_scope_id__$5F, + __vue_is_functional_template__$5F, + __vue_module_identifier__$5F, false, undefined, undefined, undefined ); -__vue_component__$5E.install = (Vue, options = {}) => { +__vue_component__$5F.install = (Vue, options = {}) => { Vue.component(createNamespace$1('group-render', { prefix: options.prefix - }), __vue_component__$5E); + }), __vue_component__$5F); }; var playIcon$5 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABxBJREFUeF7dW2tsFFUU/s5sCygo7W4JwfggkZAYNNYnqBB31iI2jYnERwyiRuILFcJuwZQEAgYfDbSzii8CYqDlYRQhUQNIS3cFkRbERxXTYMCCgGI7U0ssXbbbOWa2bu1ruzOzM8suN9lfe+53vvPdc2fu4wwhBc1ddjYPjnA+VM4XBMdogHPAyGFoP2onQgsxt6is/g1QI1RuRFZWY9Cb22g3PbLLgcevFLKqFjKRm4AbTPth3gjQtmHZqNox13XWNE6cjpYK4C5TJhOpj4BQCNA4i8kqALZAVVcH5o86ZBW2JQKIkjID4BkAiqwilgBntVVCJCWA6FeKAC4BY3KKAu/lhsGlWWGhtLrE2WrWvykBCt5Uru5ktQRMs806tqofAT8xqDTgc24yg2lYgHvKW0SV1FUAxptxaFsfxocRYdiivd7hfxjxYUgAj7/5cWaqMOIgxbYNTFgc9Lq26PWrWwBRkr9I4UNOL/8B7ZhoUdDrfE0PiC4BREmuAlCgBzBdbJjopaDX+W4iPgkFEP3yWjBmJQJKy/+ZnwwU5w06ZQcVwF3etJRIWJKWwekkRcC0Gp9rVzzzuAJ4pObpDNqq0086m9ULwtB7d88bcWYgkgMK4Fl+5lrOzv4SzNemc2T6uVFlwOd8QrcAbkneSsB0/Q7S35KI59Z4897uy7RfBrjLlZlEXJn+IRlkyDjtECJTqr2jj/Xs2UuAwpU8NBRp+Qbgmw3CZ4r5moDP9WxcATySUsLgNzIlGlM8mYoCxc7tsb7dGVBQqozsHML1AK42BZwhnYiwrsbreqqfAJ5yZTYTv5chcSRDs41JuD523NadAaJf3mv3vn786CxMGJOF+lMdONrUmUwQSfallwM+5woNJCqAWCZPg4CdSaIO2n1J0QjcPX5It82+o2FU1oVw5EzETrfxsA8EfK6J3QLYveTtG3yMVaiDUVnXjs0HQykXgRl3BItdtV0ZICkBgN12sfj8xVwMHxJ/2/Hd7x3YUBvCDyc77KLQD5dApTU+50IqXClfHorA9JlaIsbavF814/JEZtH/Nx5oj06LcIR12Sdp1BDwua4jtyTfR8COJMHids+/MhvSw5fphm/4MxKdFvuP2Z8NHecdTnJLTc8ThPd1MzRoaFSAGPy2H0KorA3h73bVoEcD5qp6K3kk5Q3WjrZtamYF0OicUDqj2bC7IWwLO2I8ogmwmcGP2uIBQDICxDjtPHwey3e1WU6RmUpI9Ct7wWzbxYYVAmiRf3wohFV7zlkqAhGVkSjJPwOYYClyDzCrBNAgZ1W0olG2bgVJhA9I9MunwLgiEwQoq2rD9p/PW0aVgC1aBmh5dYllqH2ArMyA13f8g2prH4jVmgAtAHIyQYAn1rXiZIt1U4BBn5MoKd8DnJ/uAqyvbcf6/e3W0iSqII9f2cbMD1iL/D9aslNAWxRX2BF811b4LfL4ZT8z5qWjANomSQu+/qQ9W2Zm9RVNgKeZsSadBIioXaO+oc7ilO8bpMNRQGJZ0y0QhG/TRYCDx7tG/fBpe0a9R5yhYVnOHOo6Cle0N4Etr8JxoxxYPXNkQn3PRxjag+6j1B2OVAd8rqn/HYjI+wDcmZClSYPPXsjFiKHxD0Rqf+sadW0rnKqmzf9g8ailUVYX6kisLczRwD85lPojMXTypMCCvLquDFjRPBEOqrVT/YEORbXgf/3LuoWNbv6EuoDXNUmz73ksXgtG9KTUrqatCW68KgtfHQlbuqkxyjeW/r0EsHsaGCVppz3DcVvQlxN983VnwDSp1RlGR50NJa52xmIG+9OAz/VQrGOvR7PH3zKHWV1pBjVj+pDwYMCb21350u/dJPpl258FF0osIhys8bpu7+m/f4GEX3mMmDdcKJJ2+mWB7g/Oc2r1jt1twNWJW5K3E7SS94unaYXVQV/ewr4RDSiA6FfuAngXGJdeFBIQ9nBr/T3BpWK/pWbc9alban6JQP2KijJQEAUseALFuT8OxH3QQkmxXF4LytAq0f+iJVW4u2Z+7p54A5ewVNYtNX9HoJsycOTBRDODXufGwbgnFEDrLEpySq5rrRSZGWXBYteCRJi6BNBAMunNQKB3anzOOYmC77UU1mMsSspygBOqqgfLLhsCXq3xuRbrxdedATFAUZK9AJYBGK7XSYrsDH8tYjgDukVY0TyRBVpGhKkpCm5wNya/FzItQIxNdAstCM/Yebc4WOTazQ4ErO67vDUyKIanQF/wKf62MQ713HOpFMKKwGNxJC1ADEgTIhvhh1RWC23aR7SCeBN3CpuC851fGxnlpNcBRp25pdZxAqmFAHuYo+V3Zi9fTwHYycD+LIGqquc5TxjlksjesgwYzJF7RZMbAtyCIFzDTGMBHgtgLAgtYGh3EtqviUCNKtTjADc6OtVfdi8YrRVv29r+BTKBrQtOiFe6AAAAAElFTkSuQmCC"; @@ -54863,7 +55542,7 @@ function parseLrc(lrc_s) { } // -var script$5D = { +var script$5E = { props: { currentMusic: { type: Object, @@ -54942,9 +55621,9 @@ var script$5D = { }; /* script */ -const __vue_script__$5D = script$5D; +const __vue_script__$5E = script$5E; /* template */ -var __vue_render__$5D = function () { +var __vue_render__$5E = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -54966,17 +55645,17 @@ var __vue_render__$5D = function () { ), ]) }; -var __vue_staticRenderFns__$5D = []; -__vue_render__$5D._withStripped = true; +var __vue_staticRenderFns__$5E = []; +__vue_render__$5E._withStripped = true; /* style */ - const __vue_inject_styles__$5D = undefined; + const __vue_inject_styles__$5E = undefined; /* scoped */ - const __vue_scope_id__$5D = undefined; + const __vue_scope_id__$5E = undefined; /* module identifier */ - const __vue_module_identifier__$5D = undefined; + const __vue_module_identifier__$5E = undefined; /* functional template */ - const __vue_is_functional_template__$5D = false; + const __vue_is_functional_template__$5E = false; /* style inject */ /* style inject SSR */ @@ -54985,13 +55664,13 @@ __vue_render__$5D._withStripped = true; - const __vue_component__$5D = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5D, staticRenderFns: __vue_staticRenderFns__$5D }, - __vue_inject_styles__$5D, - __vue_script__$5D, - __vue_scope_id__$5D, - __vue_is_functional_template__$5D, - __vue_module_identifier__$5D, + const __vue_component__$5E = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5E, staticRenderFns: __vue_staticRenderFns__$5E }, + __vue_inject_styles__$5E, + __vue_script__$5E, + __vue_scope_id__$5E, + __vue_is_functional_template__$5E, + __vue_module_identifier__$5E, false, undefined, undefined, @@ -54999,10 +55678,10 @@ __vue_render__$5D._withStripped = true; ); // -var script$5C = { +var script$5D = { name: 'XmlAudioModalPlayer', components: { - lyrics: __vue_component__$5D + lyrics: __vue_component__$5E }, props: { //模式:preview 预览 (默认),editor 编辑 @@ -55267,10 +55946,10 @@ var script$5C = { }; /* script */ -const __vue_script__$5C = script$5C; +const __vue_script__$5D = script$5D; /* template */ -var __vue_render__$5C = function () { +var __vue_render__$5D = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -55414,7 +56093,7 @@ var __vue_render__$5C = function () { }), ]) }; -var __vue_staticRenderFns__$5C = [ +var __vue_staticRenderFns__$5D = [ function () { var _vm = this; var _h = _vm.$createElement; @@ -55422,16 +56101,16 @@ var __vue_staticRenderFns__$5C = [ return _c("div", { staticClass: "label" }, [_c("span", [_vm._v("简介")])]) }, ]; -__vue_render__$5C._withStripped = true; +__vue_render__$5D._withStripped = true; /* style */ - const __vue_inject_styles__$5C = undefined; + const __vue_inject_styles__$5D = undefined; /* scoped */ - const __vue_scope_id__$5C = undefined; + const __vue_scope_id__$5D = undefined; /* module identifier */ - const __vue_module_identifier__$5C = undefined; + const __vue_module_identifier__$5D = undefined; /* functional template */ - const __vue_is_functional_template__$5C = false; + const __vue_is_functional_template__$5D = false; /* style inject */ /* style inject SSR */ @@ -55440,13 +56119,13 @@ __vue_render__$5C._withStripped = true; - const __vue_component__$5C = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5C, staticRenderFns: __vue_staticRenderFns__$5C }, - __vue_inject_styles__$5C, - __vue_script__$5C, - __vue_scope_id__$5C, - __vue_is_functional_template__$5C, - __vue_module_identifier__$5C, + const __vue_component__$5D = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5D, staticRenderFns: __vue_staticRenderFns__$5D }, + __vue_inject_styles__$5D, + __vue_script__$5D, + __vue_scope_id__$5D, + __vue_is_functional_template__$5D, + __vue_module_identifier__$5D, false, undefined, undefined, @@ -55454,10 +56133,10 @@ __vue_render__$5C._withStripped = true; ); // -var script$5B = { +var script$5C = { name: 'XmlMusicRender', components: { - XmlAudioModalPlayer: __vue_component__$5C + XmlAudioModalPlayer: __vue_component__$5D }, props: { //模式:preview 预览 (默认),editor 编辑 @@ -55585,10 +56264,10 @@ var script$5B = { }; /* script */ -const __vue_script__$5B = script$5B; +const __vue_script__$5C = script$5C; /* template */ -var __vue_render__$5B = function () { +var __vue_render__$5C = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -55766,17 +56445,17 @@ var __vue_render__$5B = function () { 2 ) }; -var __vue_staticRenderFns__$5B = []; -__vue_render__$5B._withStripped = true; +var __vue_staticRenderFns__$5C = []; +__vue_render__$5C._withStripped = true; /* style */ - const __vue_inject_styles__$5B = undefined; + const __vue_inject_styles__$5C = undefined; /* scoped */ - const __vue_scope_id__$5B = undefined; + const __vue_scope_id__$5C = undefined; /* module identifier */ - const __vue_module_identifier__$5B = undefined; + const __vue_module_identifier__$5C = undefined; /* functional template */ - const __vue_is_functional_template__$5B = false; + const __vue_is_functional_template__$5C = false; /* style inject */ /* style inject SSR */ @@ -55785,13 +56464,13 @@ __vue_render__$5B._withStripped = true; - const __vue_component__$5B = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5B, staticRenderFns: __vue_staticRenderFns__$5B }, - __vue_inject_styles__$5B, - __vue_script__$5B, - __vue_scope_id__$5B, - __vue_is_functional_template__$5B, - __vue_module_identifier__$5B, + const __vue_component__$5C = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5C, staticRenderFns: __vue_staticRenderFns__$5C }, + __vue_inject_styles__$5C, + __vue_script__$5C, + __vue_scope_id__$5C, + __vue_is_functional_template__$5C, + __vue_module_identifier__$5C, false, undefined, undefined, @@ -55805,10 +56484,10 @@ var pauseIcon2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAABxCAYAAADi var recordIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAACMCAYAAACuwEE+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFzmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4wLWMwMDAgNzkuMTcxYzI3ZiwgMjAyMi8wOC8xNi0xODowMjo0MyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YTY1YzRhZmItNWM4My00MzVmLTg1YTQtNzM1YWQyY2VmN2E0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjM3MEVFMDBCMUFFMzExRUVBRjgwRTVDQUJDMzE4RDMzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmQ0OGZiYTA3LWZhMjktZDE0OS05YzM3LTk1ZjBlODBiZjY5MCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoTWFjaW50b3NoKSIg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"; // -var script$5A = { +var script$5B = { name: 'AudioPlay', components: { - lyrics: __vue_component__$5D + lyrics: __vue_component__$5E }, props: { //模式:preview 预览 (默认),editor 编辑 @@ -56110,10 +56789,10 @@ var script$5A = { }; /* script */ -const __vue_script__$5A = script$5A; +const __vue_script__$5B = script$5B; /* template */ -var __vue_render__$5A = function () { +var __vue_render__$5B = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -56724,17 +57403,17 @@ var __vue_render__$5A = function () { 2 ) }; -var __vue_staticRenderFns__$5A = []; -__vue_render__$5A._withStripped = true; +var __vue_staticRenderFns__$5B = []; +__vue_render__$5B._withStripped = true; /* style */ - const __vue_inject_styles__$5A = undefined; + const __vue_inject_styles__$5B = undefined; /* scoped */ - const __vue_scope_id__$5A = undefined; + const __vue_scope_id__$5B = undefined; /* module identifier */ - const __vue_module_identifier__$5A = undefined; + const __vue_module_identifier__$5B = undefined; /* functional template */ - const __vue_is_functional_template__$5A = false; + const __vue_is_functional_template__$5B = false; /* style inject */ /* style inject SSR */ @@ -56743,20 +57422,20 @@ __vue_render__$5A._withStripped = true; - const __vue_component__$5A = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5A, staticRenderFns: __vue_staticRenderFns__$5A }, - __vue_inject_styles__$5A, - __vue_script__$5A, - __vue_scope_id__$5A, - __vue_is_functional_template__$5A, - __vue_module_identifier__$5A, + const __vue_component__$5B = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5B, staticRenderFns: __vue_staticRenderFns__$5B }, + __vue_inject_styles__$5B, + __vue_script__$5B, + __vue_scope_id__$5B, + __vue_is_functional_template__$5B, + __vue_module_identifier__$5B, false, undefined, undefined, undefined ); -const MusicComponents = [__vue_component__$5B, __vue_component__$5A]; +const MusicComponents = [__vue_component__$5C, __vue_component__$5B]; var XmlMusic = { ...MusicComponents }; @@ -56785,7 +57464,7 @@ var pauseIcon$3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAAD var audioIcon$2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAzxJREFUWEftmE1rU1EQhp+5N2msQVCogtWCC0EwG4OCG3+ClGpxobhQ8GMjKFjbFBfWVBQpght3LvzoxoVYwT8gLkQQNyKKigEXpXXhB9LEmOSMTK7R1sTkRpOmggMhJ+TcmefOmXPeuVeYZzo6uhPnDgIJRLrn/9eG8WfgCdHoFRkff1TxLzbQoaE4kchNYFcbAtd36XmObDYtly+ftYkBUCp1F+hfdJhKQFXw/SE5f/6S6PDwAJ53p2MwP6FyqG4UHRm5jcjujgOVl0pPiKZSL4BNSwIIbhjQW6BviQDdaj2QFahZqQSFghUrdHWFvd8WADkXBDZbtgxWrYLeXujrC77fvYOpqQCssf0BUD4PkQgsXw5r1sC6dUFwG69eDbFYVVg9dw6Zm2uMA00C2V3u2RMArFwJnhcmCDo+jmSzYeY2AeQcum0bYkBN2pIAcrlcWQaku3txM6SquOlp3OwsxUwGMhl0ZgZvdpaukyfxtmxpP1Dh6VOKjx/jMhm8Dx/w8nk8Efx4HM92mghYER8+DIlE+4Hc1avIy5dINGrHffD51ayIjxxZHCAmJ+HZs/ql/R/on8mQSUmlrg4c6HANmaAmEtDfH2ia/fb9Nuyy7/qlySSydy81i9qyEo/DyEiVurf2pDYRHRiADRvQfB7p6akNVEdaNJ1GcrkwgtNAy6ytOHasDLPAam17VUpr1+IfP75gqrMDMp3GCyfEdYBsCVasQE+fDh5N5plOTiI1dpn78oXi4CBdO3aUZ2upRP76dWLPnyPWsjS2+hlyIsjYGDKv47MzWScm8N6/r3YvQuHjRwq9veWl1TdviBUK+CYn4aw+kBaLfE0mie3b98Pd1/v3iUxNBZr1OxMpZ0esf6olK7+/snE/VJqbI9/Tg5dM4l69Ivr6NVFrzpoLFC4/zXSMznZYLFZVT2EjhZzXOEMhHbVqWhnIZHtzqzz+lR/VawZkbz32/5WjVl3s3CHR0dHtOPcQsTavg6Y6Qza7qfI6ZgzVM+XWszNWpFTaJRMT934QaCp1CjgDxBeNyY4OkWlEjsqFC/cs7oKU6PDwekQGEdmKc9WPoK0i9X1FJIdzD1C9LRcvfqq4/gYOF90Ot1xnCQAAAABJRU5ErkJggg=="; // -var script$5z = { +var script$5A = { name: 'audio-play', props: { url: { @@ -56867,9 +57546,9 @@ var script$5z = { }; /* script */ -const __vue_script__$5z = script$5z; +const __vue_script__$5A = script$5A; /* template */ -var __vue_render__$5z = function () { +var __vue_render__$5A = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; @@ -57063,17 +57742,17 @@ var __vue_render__$5z = function () { }), ]) }; -var __vue_staticRenderFns__$5z = []; -__vue_render__$5z._withStripped = true; +var __vue_staticRenderFns__$5A = []; +__vue_render__$5A._withStripped = true; /* style */ - const __vue_inject_styles__$5z = undefined; + const __vue_inject_styles__$5A = undefined; /* scoped */ - const __vue_scope_id__$5z = "data-v-43ef9f54"; + const __vue_scope_id__$5A = "data-v-43ef9f54"; /* module identifier */ - const __vue_module_identifier__$5z = undefined; + const __vue_module_identifier__$5A = undefined; /* functional template */ - const __vue_is_functional_template__$5z = false; + const __vue_is_functional_template__$5A = false; /* style inject */ /* style inject SSR */ @@ -57082,13 +57761,13 @@ __vue_render__$5z._withStripped = true; - const __vue_component__$5z = /*#__PURE__*/normalizeComponent( - { render: __vue_render__$5z, staticRenderFns: __vue_staticRenderFns__$5z }, - __vue_inject_styles__$5z, - __vue_script__$5z, - __vue_scope_id__$5z, - __vue_is_functional_template__$5z, - __vue_module_identifier__$5z, + const __vue_component__$5A = /*#__PURE__*/normalizeComponent( + { render: __vue_render__$5A, staticRenderFns: __vue_staticRenderFns__$5A }, + __vue_inject_styles__$5A, + __vue_script__$5A, + __vue_scope_id__$5A, + __vue_is_functional_template__$5A, + __vue_module_identifier__$5A, false, undefined, undefined, @@ -59578,7 +60257,7 @@ var IS_OLD_ANDROID=IS_ANDROID&&/webkit/i.test(USER_AGENT)&&ANDROID_VERSION<2.3;v version=11.0;}return version;}();var IS_SAFARI=/Safari/i.test(USER_AGENT)&&!IS_CHROME&&!IS_ANDROID&&!IS_EDGE;var IS_ANY_SAFARI=(IS_SAFARI||IS_IOS)&&!IS_CHROME;var TOUCH_ENABLED=isReal()&&('ontouchstart'in window$1||window$1.navigator.maxTouchPoints||window$1.DocumentTouch&&window$1.document instanceof window$1.DocumentTouch);var BACKGROUND_SIZE_SUPPORTED=isReal()&&'backgroundSize'in window$1.document.createElement('video').style;var browser=(Object.freeze||Object)({IS_IPAD:IS_IPAD,IS_IPHONE:IS_IPHONE,IS_IPOD:IS_IPOD,IS_IOS:IS_IOS,IOS_VERSION:IOS_VERSION,IS_ANDROID:IS_ANDROID,ANDROID_VERSION:ANDROID_VERSION,IS_OLD_ANDROID:IS_OLD_ANDROID,IS_NATIVE_ANDROID:IS_NATIVE_ANDROID,IS_FIREFOX:IS_FIREFOX,IS_EDGE:IS_EDGE,IS_CHROME:IS_CHROME,CHROME_VERSION:CHROME_VERSION,IS_IE8:IS_IE8,IE_VERSION:IE_VERSION,IS_SAFARI:IS_SAFARI,IS_ANY_SAFARI:IS_ANY_SAFARI,TOUCH_ENABLED:TOUCH_ENABLED,BACKGROUND_SIZE_SUPPORTED:BACKGROUND_SIZE_SUPPORTED});var _typeof$2=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};var classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}};var inherits$1=function(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;};var possibleConstructorReturn=function(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;};var taggedTemplateLiteralLoose=function(strings,raw){strings.raw=raw;return strings;};/** * @file obj.js * @module obj - */ /** + *//** * @callback obj:EachCallback * * @param {Mixed} value @@ -59586,7 +60265,7 @@ version=11.0;}return version;}();var IS_SAFARI=/Safari/i.test(USER_AGENT)&&!IS_C * * @param {string} key * The current key-value for object that is being iterated over - */ /** + *//** * @callback obj:ReduceCallback * * @param {Mixed} accum @@ -59659,7 +60338,7 @@ version=11.0;}return version;}();var IS_SAFARI=/Safari/i.test(USER_AGENT)&&!IS_C */function isPlain(value){return isObject$4(value)&&toString.call(value)==='[object Object]'&&value.constructor===Object;}/** * @file create-logger.js * @module create-logger - */ // This is the private tracking variable for the logging history. + */// This is the private tracking variable for the logging history. var history=[];/** * Log messages to the console and history based on the type of message * @@ -59797,7 +60476,7 @@ return new RegExp('.*'+fname+'.*').test(historyItem[0]);});};/** */var log$2=createLogger$1('VIDEOJS');var createLogger=log$2.createLogger;/** * @file computed-style.js * @module computed-style - */ /** + *//** * A safe getComputedStyle with an IE8 fallback. * * This is needed because in Firefox, if the player is loaded in an iframe with @@ -59817,7 +60496,7 @@ return new RegExp('.*'+fname+'.*').test(historyItem[0]);});};/** */function computedStyle(el,prop){if(!el||!prop){return '';}if(typeof window$1.getComputedStyle==='function'){var cs=window$1.getComputedStyle(el);return cs?cs[prop]:'';}return el.currentStyle[prop]||'';}var _templateObject=taggedTemplateLiteralLoose(['Setting attributes in the second argument of createEl()\n has been deprecated. Use the third argument instead.\n createEl(type, properties, attributes). Attempting to set ',' to ','.'],['Setting attributes in the second argument of createEl()\n has been deprecated. Use the third argument instead.\n createEl(type, properties, attributes). Attempting to set ',' to ','.']);/** * @file dom.js * @module dom - */ /** + *//** * Detect if a value is a string with any non-whitespace characters. * * @param {string} str @@ -59971,7 +60650,7 @@ if(propName.indexOf('aria-')!==-1||propName==='role'||propName==='type'){log$2.w * - If true the `classToToggle` will get added to `element`. * - If false the `classToToggle` will get removed from `element`. * - If undefined this callback will be ignored - */ /** + *//** * Adds or removes a CSS class name on an element depending on an optional * condition or the presence/absence of the class name. * @@ -60080,7 +60759,7 @@ attrVal=attrVal!==null?true:false;}obj[attrName]=attrVal;}}return obj;}/** * * @property {number} top * Pixels on top - */ /** + *//** * Offset Left. * getBoundingClientRect technique from * John Resig @@ -60103,7 +60782,7 @@ return {left:Math.round(left),top:Math.round(top)};}/** * * @property {number} y * y coordinate in pixels - */ /** + *//** * Get pointer position in element * Returns an object with x and y coordinates. * The base on the coordinates are the bottom left of the element. @@ -60248,7 +60927,7 @@ return false;}return true;}/** */var $$=createQuerier('querySelectorAll');var Dom=(Object.freeze||Object)({isReal:isReal,isEl:isEl,isInFrame:isInFrame,createEl:createEl$2,textContent:textContent,prependTo:prependTo,hasClass:hasClass,addClass:addClass,removeClass:removeClass,toggleClass:toggleClass,setAttributes:setAttributes,getAttributes:getAttributes,getAttribute:getAttribute$1,setAttribute:setAttribute$1,removeAttribute:removeAttribute,blockTextSelection:blockTextSelection,unblockTextSelection:unblockTextSelection,getBoundingClientRect:getBoundingClientRect,findPosition:findPosition,getPointerPosition:getPointerPosition,isTextNode:isTextNode$1,emptyEl:emptyEl,normalizeContent:normalizeContent,appendContent:appendContent,insertContent:insertContent,isSingleLeftClick:isSingleLeftClick,$:$$1,$$:$$});/** * @file guid.js * @module guid - */ /** + *//** * Unique ID for an element or function * @type {Number} */var _guid=1;/** @@ -60259,7 +60938,7 @@ return false;}return true;}/** */function newGUID(){return _guid++;}/** * @file dom-data.js * @module dom-data - */ /** + *//** * Element Data Store. * * Allows for binding data to an element without putting it directly on the @@ -60306,7 +60985,7 @@ el[elIdAttr]=null;}}}/** * robust as jquery's, so there's probably some differences. * * @module events - */ /** + *//** * Clean up the listener cache and dispatchers * * @param {Element|Object} elem @@ -60493,7 +61172,7 @@ videojs$2(mediaEl);}}// If getAttribute isn't defined, we need to wait for the D */one(window$1,'load',function(){_windowLoaded=true;});}/** * @file stylesheet.js * @module stylesheet - */ /** + *//** * Create a DOM syle element given a className for it. * * @param {string} className @@ -60512,7 +61191,7 @@ videojs$2(mediaEl);}}// If getAttribute isn't defined, we need to wait for the D */var setTextContent$1=function setTextContent(el,content){if(el.styleSheet){el.styleSheet.cssText=content;}else {el.textContent=content;}};/** * @file fn.js * @module fn - */ /** + *//** * Bind (a.k.a proxy or Context). A simple method for changing the context of a function * It also stores a unique id on the function so it can be easily removed from events. * @@ -60572,7 +61251,7 @@ bound.guid=uid?uid+'_'+fn.guid:fn.guid;return bound;};/** * A debounced function. */var debounce=function debounce(func,wait,immediate){var context=arguments.length>3&&arguments[3]!==undefined?arguments[3]:window$1;var timeout=void 0;var cancel=function cancel(){context.clearTimeout(timeout);timeout=null;};/* eslint-disable consistent-this */var debounced=function debounced(){var self=this;var args=arguments;var _later=function later(){timeout=null;_later=null;if(!immediate){func.apply(self,args);}};if(!timeout&&immediate){func.apply(self,args);}context.clearTimeout(timeout);timeout=context.setTimeout(_later,wait);};/* eslint-enable consistent-this */debounced.cancel=cancel;return debounced;};/** * @file src/js/event-target.js - */ /** + *//** * `EventTarget` is a class that can have the same API as the DOM `EventTarget`. It * adds shorthand functions that wrap around lengthy functions. For example: * the `on` function is a wrapper around `addEventListener`. @@ -60584,7 +61263,7 @@ bound.guid=uid?uid+'_'+fn.guid:fn.guid;return bound;};/** * * @typedef {Object} EventTarget~Event * @see [Properties]{@link https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent} - */ /** + *//** * All event listeners should follow the following format. * * @callback EventTarget~EventListener @@ -60595,7 +61274,7 @@ bound.guid=uid?uid+'_'+fn.guid:fn.guid;return bound;};/** * * @param {Object} [hash] * hash of data sent during the event - */ /** + *//** * An object containing event names as keys and booleans as values. * * > NOTE: If an event name is set to a true value here {@link EventTarget#trigger} @@ -60672,7 +61351,7 @@ var ael=this.addEventListener;this.addEventListener=function(){};one(this,type,f */EventTarget.prototype.dispatchEvent=EventTarget.prototype.trigger;/** * @file mixins/evented.js * @module evented - */ /** + *//** * Returns whether or not an object has had the evented mixin applied. * * @param {Object} object @@ -60870,7 +61549,7 @@ if(eventBusKey){if(!target[eventBusKey].nodeName){throw new Error('The eventBusK target.on('dispose',function(){target.off();window$1.setTimeout(function(){target.eventBusEl_=null;},0);});return target;}/** * @file mixins/stateful.js * @module stateful - */ /** + *//** * Contains methods that provide statefulness to an object which is passed * to {@link module:stateful}. * @@ -60931,7 +61610,7 @@ target.state=assign$1({},target.state,defaultState);// Auto-bind the `handleStat if(typeof target.handleStateChanged==='function'&&isEvented(target)){target.on('statechanged',target.handleStateChanged);}return target;}/** * @file to-title-case.js * @module to-title-case - */ /** + *//** * Uppercase the first letter of a string. * * @param {string} string @@ -60953,7 +61632,7 @@ if(typeof target.handleStateChanged==='function'&&isEvented(target)){target.on(' */function titleCaseEquals(str1,str2){return toTitleCase(str1)===toTitleCase(str2);}/** * @file merge-options.js * @module merge-options - */ /** + *//** * Deep-merge one or more options objects, recursively merging **only** plain * object properties. * @@ -60966,7 +61645,7 @@ if(typeof target.handleStateChanged==='function'&&isEvented(target)){target.on(' * Player Component - Base class for all UI objects * * @file component.js - */ /** + *//** * Base class for all UI Components. * Components are UI objects which represent both a javascript object and an element * in the DOM. They can be children of other components, and can have @@ -60979,7 +61658,7 @@ if(typeof target.handleStateChanged==='function'&&isEvented(target)){target.on(' * * @callback Component~ReadyCallback * @this Component - */ /** + *//** * Creates an instance of this class. * * @param {Player} player @@ -61438,7 +62117,7 @@ if(computedWidthOrHeight===0){var rule='offset'+toTitleCase(widthOrHeight);compu * * @property {number} height * The height of the `Component`s computed style. - */ /** + *//** * Get an object that contains computed width and height values of the * component's element. * @@ -61537,7 +62216,7 @@ this.clearInterval(touchHolding);};this.on('touchmove',report);this.on('touchend * * @callback Component~GenericCallback * @this Component - */ /** + *//** * Creates a function that runs after an `x` millisecond timeout. This function is a * wrapper around `window.setTimeout`. There are a few reasons to use this one * instead though: @@ -61700,7 +62379,7 @@ if(players&&playerNames.length>0&&playerNames.map(function(pname){return players */Component.prototype.supportsRaf_=typeof window$1.requestAnimationFrame==='function'&&typeof window$1.cancelAnimationFrame==='function';Component.registerComponent('Component',Component);/** * @file time-ranges.js * @module time-ranges - */ /** + *//** * Returns the time for the specified index at the start or end * of a TimeRange object. * @@ -61713,7 +62392,7 @@ if(players&&playerNames.length>0&&playerNames.map(function(pname){return players * The time that offset at the specified index. * * @depricated index must be set to a value, in the future this will throw an error. - */ /** + *//** * An object that contains ranges of time for various reasons. * * @typedef {Object} TimeRange @@ -61728,7 +62407,7 @@ if(players&&playerNames.length>0&&playerNames.map(function(pname){return players * Returns the time offset at which a specified time range ends. * * @see https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges - */ /** + *//** * Check if any of the time ranges are over the maximum index. * * @param {string} fnName @@ -61781,7 +62460,7 @@ if(players&&playerNames.length>0&&playerNames.map(function(pname){return players */function createTimeRanges(start,end){if(Array.isArray(start)){return createTimeRangesObj(start);}else if(start===undefined||end===undefined){return createTimeRangesObj();}return createTimeRangesObj([[start,end]]);}/** * @file buffer.js * @module buffer - */ /** + *//** * Compute the percentage of the media that has been buffered. * * @param {TimeRange} buffered @@ -61797,7 +62476,7 @@ if(end>duration){end=duration;}bufferedDuration+=end-start;}return bufferedDurat * @file fullscreen-api.js * @module fullscreen-api * @private - */ /** + *//** * Store the browser-specific methods for the fullscreen API. * * @type {Object} @@ -61813,7 +62492,7 @@ for(var i$5=0;i$51&&arguments[1]!==undefined?arguments[1]:seconds;return implementation(seconds,guide);};/** * @file time-display.js - */ /** + *//** * Displays the time left in the video * * @extends Component @@ -64083,7 +64762,7 @@ s=s<10?'0'+s:s;return h+m+s;};var implementation=defaultImplementation;/** * @deprecated in v7; controlText_ is not used in non-active display Components */TimeDisplay.prototype.controlText_='Time';Component.registerComponent('TimeDisplay',TimeDisplay);/** * @file current-time-display.js - */ /** + *//** * Displays the current time * * @extends Component @@ -64131,7 +64810,7 @@ var time=this.player_.scrubbing()?this.player_.getCache().currentTime:this.playe * @deprecated in v7; controlText_ is not used in non-active display Components */CurrentTimeDisplay.prototype.controlText_='Current Time';Component.registerComponent('CurrentTimeDisplay',CurrentTimeDisplay);/** * @file duration-display.js - */ /** + *//** * Displays the duration * * @extends Component @@ -64178,7 +64857,7 @@ _this.on(player,'loadedmetadata',_this.throttledUpdateContent);return _this;}/** * @deprecated in v7; controlText_ is not used in non-active display Components */DurationDisplay.prototype.controlText_='Duration';Component.registerComponent('DurationDisplay',DurationDisplay);/** * @file time-divider.js - */ /** + *//** * The separator between the current time and duration. * Can be hidden if it's not needed in the design. * @@ -64190,7 +64869,7 @@ _this.on(player,'loadedmetadata',_this.throttledUpdateContent);return _this;}/** * The element that was created. */TimeDivider.prototype.createEl=function createEl(){return _Component.prototype.createEl.call(this,'div',{className:'vjs-time-control vjs-time-divider',innerHTML:'
/
'});};return TimeDivider;}(Component);Component.registerComponent('TimeDivider',TimeDivider);/** * @file remaining-time-display.js - */ /** + *//** * Displays the time left in the video * * @extends Component @@ -64251,7 +64930,7 @@ if(this.player_.remainingTimeDisplay){this.updateFormattedTime_(this.player_.rem * @deprecated in v7; controlText_ is not used in non-active display Components */RemainingTimeDisplay.prototype.controlText_='Remaining Time';Component.registerComponent('RemainingTimeDisplay',RemainingTimeDisplay);/** * @file live-display.js - */ // TODO - Future make it click to snap to live + */// TODO - Future make it click to snap to live /** * Displays the live indicator when duration is Infinity. * @@ -64279,7 +64958,7 @@ if(this.player_.remainingTimeDisplay){this.updateFormattedTime_(this.player_.rem * @listens Player#durationchange */LiveDisplay.prototype.updateShowing=function updateShowing(event){if(this.player().duration()===Infinity){this.show();}else {this.hide();}};return LiveDisplay;}(Component);Component.registerComponent('LiveDisplay',LiveDisplay);/** * @file slider.js - */ /** + *//** * The base functionality for a slider. Can be vertical or horizontal. * For instance the volume bar or the seek bar on a video is a slider. * @@ -64432,7 +65111,7 @@ if(event.which===37||event.which===40){event.preventDefault();this.stepBack();// * - false if the slider is horizontal, and getting */Slider.prototype.vertical=function vertical(bool){if(bool===undefined){return this.vertical_||false;}this.vertical_=!!bool;if(this.vertical_){this.addClass('vjs-slider-vertical');}else {this.addClass('vjs-slider-horizontal');}};return Slider;}(Component);Component.registerComponent('Slider',Slider);/** * @file load-progress-bar.js - */ /** + *//** * Shows loading progress * * @extends Component @@ -64464,7 +65143,7 @@ for(var i=0;ibuffered.length;_i--){this.el_.removeChild(children[_i-1]);}children.length=buffered.length;};return LoadProgressBar;}(Component);Component.registerComponent('LoadProgressBar',LoadProgressBar);/** * @file time-tooltip.js - */ /** + *//** * Time tooltips display a time above the progress bar. * * @extends Component @@ -64501,7 +65180,7 @@ if(spaceLeftOfPointtooltipRect.width){pullTooltipBy=tooltipRect.width;}this.el_.style.right='-'+pullTooltipBy+'px';textContent(this.el_,content);};return TimeTooltip;}(Component);Component.registerComponent('TimeTooltip',TimeTooltip);/** * @file play-progress-bar.js - */ /** + *//** * Used by {@link SeekBar} to display media playback progress as part of the * {@link ProgressControl}. * @@ -64530,7 +65209,7 @@ if(this.rafId_){this.cancelAnimationFrame(this.rafId_);}this.rafId_=this.request */PlayProgressBar.prototype.options_={children:[]};// Time tooltips should not be added to a player on mobile devices or IE8 if((!IE_VERSION||IE_VERSION>8)&&!IS_IOS&&!IS_ANDROID){PlayProgressBar.prototype.options_.children.push('timeTooltip');}Component.registerComponent('PlayProgressBar',PlayProgressBar);/** * @file mouse-time-display.js - */ /** + *//** * The {@link MouseTimeDisplay} component tracks mouse movement over the * {@link ProgressControl}. It displays an indicator and a {@link TimeTooltip} * indicating the time which is represented by a given point in the @@ -64568,7 +65247,7 @@ if(this.rafId_){this.cancelAnimationFrame(this.rafId_);}this.rafId_=this.request * @private */MouseTimeDisplay.prototype.options_={children:['timeTooltip']};Component.registerComponent('MouseTimeDisplay',MouseTimeDisplay);/** * @file seek-bar.js - */ // The number of seconds the `step*` functions move the timeline. + */// The number of seconds the `step*` functions move the timeline. var STEP_SECONDS=5;// The interval at which the bar should update as it progresses. var UPDATE_REFRESH_INTERVAL=30;/** * Seek bar and container for the progress bars. Uses {@link PlayProgressBar} @@ -64703,7 +65382,7 @@ if((!IE_VERSION||IE_VERSION>8)&&!IS_IOS&&!IS_ANDROID){SeekBar.prototype.options_ * @type {string} */SeekBar.prototype.playerEvent='timeupdate';Component.registerComponent('SeekBar',SeekBar);/** * @file progress-control.js - */ /** + *//** * The Progress Control component contains the seek bar, load progress, * and play progress. * @@ -64741,7 +65420,7 @@ if(seekBarPoint>1){seekBarPoint=1;}else if(seekBarPoint<0){seekBarPoint=0;}if(mo * * @listen mousemove * @listen touchmove - */ /** + *//** * Handle `mousemove` or `touchmove` events on the `ProgressControl`. * * @param {EventTarget~Event} event @@ -64781,7 +65460,7 @@ if(seekBarPoint>1){seekBarPoint=1;}else if(seekBarPoint<0){seekBarPoint=0;}if(mo * @private */ProgressControl.prototype.options_={children:['seekBar']};Component.registerComponent('ProgressControl',ProgressControl);/** * @file fullscreen-toggle.js - */ /** + *//** * Toggle fullscreen video * * @extends Button @@ -64835,7 +65514,7 @@ if(seekBarPoint>1){seekBarPoint=1;}else if(seekBarPoint<0){seekBarPoint=0;}if(mo */var checkVolumeSupport=function checkVolumeSupport(self,player){// hide volume controls when they're not supported by the current tech if(player.tech_&&!player.tech_.featuresVolumeControl){self.addClass('vjs-hidden');}self.on(player,'loadstart',function(){if(!player.tech_.featuresVolumeControl){self.addClass('vjs-hidden');}else {self.removeClass('vjs-hidden');}});};/** * @file volume-level.js - */ /** + *//** * Shows volume level * * @extends Component @@ -64846,7 +65525,7 @@ if(player.tech_&&!player.tech_.featuresVolumeControl){self.addClass('vjs-hidden' * The element that was created. */VolumeLevel.prototype.createEl=function createEl(){return _Component.prototype.createEl.call(this,'div',{className:'vjs-volume-level',innerHTML:''});};return VolumeLevel;}(Component);Component.registerComponent('VolumeLevel',VolumeLevel);/** * @file volume-bar.js - */ // Required children + */// Required children /** * The bar that contains the volume level and can be clicked on to adjust the level * @@ -64918,7 +65597,7 @@ if(player.tech_&&!player.tech_.featuresVolumeControl){self.addClass('vjs-hidden' * @type {string} */VolumeBar.prototype.playerEvent='volumechange';Component.registerComponent('VolumeBar',VolumeBar);/** * @file volume-control.js - */ // Required children + */// Required children /** * The component for controlling the volume level * @@ -64984,7 +65663,7 @@ _this.on(_this.volumeBar,['focus','slideractive'],function(){_this.volumeBar.add */var checkMuteSupport=function checkMuteSupport(self,player){// hide mute toggle button if it's not supported by the current tech if(player.tech_&&!player.tech_.featuresMuteControl){self.addClass('vjs-hidden');}self.on(player,'loadstart',function(){if(!player.tech_.featuresMuteControl){self.addClass('vjs-hidden');}else {self.removeClass('vjs-hidden');}});};/** * @file mute-toggle.js - */ /** + *//** * A button component for muting the audio. * * @extends Button @@ -65049,7 +65728,7 @@ for(var i=0;i<4;i++){removeClass(this.el_,'vjs-vol-'+i);}addClass(this.el_,'vjs- * @private */MuteToggle.prototype.controlText_='Mute';Component.registerComponent('MuteToggle',MuteToggle);/** * @file volume-control.js - */ // Required children + */// Required children /** * A Component to contain the MuteToggle and VolumeControl so that * they can work together. @@ -65099,7 +65778,7 @@ if(this.volumeControl.hasClass('vjs-hidden')&&!this.muteToggle.hasClass('vjs-hid * @private */VolumePanel.prototype.options_={children:['muteToggle','volumeControl']};Component.registerComponent('VolumePanel',VolumePanel);/** * @file menu.js - */ /** + *//** * The Menu component is used to build popup menus, including subtitle and * captions selection menus. * @@ -65149,7 +65828,7 @@ if(event.which===37||event.which===40){event.preventDefault();this.stepForward() * Index of child item set focus on. */Menu.prototype.focus=function focus(){var item=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var children=this.children().slice();var haveTitle=children.length&&children[0].className&&/vjs-menu-title/.test(children[0].className);if(haveTitle){children.shift();}if(children.length>0){if(item<0){item=0;}else if(item>=children.length){item=children.length-1;}this.focusedChild_=item;children[item].el_.focus();}};return Menu;}(Component);Component.registerComponent('Menu',Menu);/** * @file menu-button.js - */ /** + *//** * A `MenuButton` class for any popup {@link Menu}. * * @extends Component @@ -65288,7 +65967,7 @@ return;}this.menu.focus();}};/** * Enable the `MenuButton`. Allow it to be clicked. */MenuButton.prototype.enable=function enable(){this.enabled_=true;this.removeClass('vjs-disabled');this.menuButton_.enable();};return MenuButton;}(Component);Component.registerComponent('MenuButton',MenuButton);/** * @file track-button.js - */ /** + *//** * The base class for buttons that toggle specific track types (e.g. subtitles). * * @extends MenuButton @@ -65302,7 +65981,7 @@ return;}this.menu.focus();}};/** * The key/value store of player options. */function TrackButton(player,options){classCallCheck(this,TrackButton);var tracks=options.tracks;var _this=possibleConstructorReturn(this,_MenuButton.call(this,player,options));if(_this.items.length<=1){_this.hide();}if(!tracks){return possibleConstructorReturn(_this);}var updateHandler=bind$2(_this,_this.update);tracks.addEventListener('removetrack',updateHandler);tracks.addEventListener('addtrack',updateHandler);_this.player_.on('ready',updateHandler);_this.player_.on('dispose',function(){tracks.removeEventListener('removetrack',updateHandler);tracks.removeEventListener('addtrack',updateHandler);});return _this;}return TrackButton;}(MenuButton);Component.registerComponent('TrackButton',TrackButton);/** * @file menu-item.js - */ /** + *//** * The component for a menu item. `
  • ` * * @extends ClickableComponent @@ -65350,7 +66029,7 @@ this.nonIconControl=true;return _ClickableComponent.prototype.createEl.call(this this.controlText(', selected');this.isSelected_=true;}else {this.removeClass('vjs-selected');this.el_.setAttribute('aria-checked','false');// Indicate un-selected state to screen reader this.controlText('');this.isSelected_=false;}}};return MenuItem;}(ClickableComponent);Component.registerComponent('MenuItem',MenuItem);/** * @file text-track-menu-item.js - */ /** + *//** * The specific menu item type for selecting a language within a text track kind * * @extends MenuItem @@ -65395,7 +66074,7 @@ if(shouldBeSelected!==this.isSelected_){this.selected(shouldBeSelected);}};TextT if(selectedLanguage&&selectedLanguage.enabled&&selectedLanguage.language===this.track.language&&selectedLanguage.kind!==this.track.kind){return;}this.player_.cache_.selectedLanguage={enabled:true,language:this.track.language,kind:this.track.kind};}};TextTrackMenuItem.prototype.dispose=function dispose(){// remove reference to track object on dispose this.track=null;_MenuItem.prototype.dispose.call(this);};return TextTrackMenuItem;}(MenuItem);Component.registerComponent('TextTrackMenuItem',TextTrackMenuItem);/** * @file off-text-track-menu-item.js - */ /** + *//** * A special menu item for turning of a specific type of text track * * @extends TextTrackMenuItem @@ -65420,7 +66099,7 @@ options.multiSelectable=false;return possibleConstructorReturn(this,_TextTrackMe // screen readers to read the appended control text unnecessarily if(shouldBeSelected!==this.isSelected_){this.selected(shouldBeSelected);}};OffTextTrackMenuItem.prototype.handleSelectedLanguageChange=function handleSelectedLanguageChange(event){var tracks=this.player().textTracks();var allHidden=true;for(var i=0,l=tracks.length;i-1&&track.mode==='showing'){allHidden=false;break;}}if(allHidden){this.player_.cache_.selectedLanguage={enabled:false};}};return OffTextTrackMenuItem;}(TextTrackMenuItem);Component.registerComponent('OffTextTrackMenuItem',OffTextTrackMenuItem);/** * @file text-track-button.js - */ /** + *//** * The base class for buttons that toggle specific text track types (e.g. subtitles) * * @extends MenuButton @@ -65448,7 +66127,7 @@ if(this.kinds_.indexOf(track.kind)>-1){var item=new TrackMenuItem(this.player_,{ selectable:true,// MenuItem is NOT multiSelectable (i.e. only one can be marked "selected" at a time) multiSelectable:false});item.addClass('vjs-'+track.kind+'-menu-item');items.push(item);}}return items;};return TextTrackButton;}(TrackButton);Component.registerComponent('TextTrackButton',TextTrackButton);/** * @file chapters-track-menu-item.js - */ /** + *//** * The chapter track menu item * * @extends MenuItem @@ -65481,7 +66160,7 @@ options.selectable=true;options.multiSelectable=false;options.label=cue.text;opt */ChaptersTrackMenuItem.prototype.update=function update(event){var cue=this.cue;var currentTime=this.player_.currentTime();// vjs.log(currentTime, cue.startTime); this.selected(cue.startTime<=currentTime&¤tTime