trtc-sdk-v5 5.8.3-ktv.2 → 5.8.3-ktv.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trtc-sdk-v5",
3
- "version": "5.8.3-ktv.2",
3
+ "version": "5.8.3-ktv.3",
4
4
  "description": "Tencent Cloud RTC SDK for Web",
5
5
  "main": "trtc.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/cdn-streaming",
3
- "version": "5.8.3-ktv.2",
3
+ "version": "5.8.3-ktv.3",
4
4
  "description": "TRTC Web SDK 5.x CDN streaming plugin",
5
5
  "main": "./cdn-streaming.esm.js",
6
6
  "author": "longyuqi <longyuqi@tencent.com>",
@@ -20,4 +20,4 @@ return ret;
20
20
  `),t+=`};
21
21
  `,D.push(t);var N=EC(Function,D).apply(null,E);return i=mQ(N),KI[B]=i,i}function bQ(I){I>4&&(W.get(I).refcount+=1)}function xQ(I,A){I=ig(I,"_emval_take_value");var g=I.readValueFromPointer(A);return wA.toHandle(g)}function WQ(){YA("")}function OQ(){return Date.now()}function VQ(I,A,g){u.copyWithin(I,A,A+g)}function PQ(I){YA("OOM")}function jQ(I){u.length,PQ()}var Mg={};function ZQ(){return dg||"./this.program"}function dA(){if(!dA.strings){var I=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",A={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:I,_:ZQ()};for(var g in Mg)Mg[g]===void 0?delete A[g]:A[g]=Mg[g];var C=[];for(var g in A)C.push(g+"="+A[g]);dA.strings=C}return dA.strings}function XQ(I,A){for(var g=0;g<I.length;++g)O[A++>>0]=I.charCodeAt(g);O[A>>0]=0}function zQ(I,A){var g=0;return dA().forEach(function(C,B){var i=A+g;n[I+B*4>>2]=i,XQ(C,i),g+=C.length+1}),0}function vQ(I,A){var g=dA();n[I>>2]=g.length;var C=0;return g.forEach(function(B){C+=B.length+1}),n[A>>2]=C,0}function _Q(I){return 52}function $Q(I,A,g,C,B){return 70}var AE=[null,[],[]];function gE(I,A){var g=AE[I];A===0||A===10?((I===1?BB:LA)(sC(g,0)),g.length=0):g.push(A)}function IE(I,A,g,C){for(var B=0,i=0;i<g;i++){var D=n[A>>2],E=n[A+4>>2];A+=8;for(var Q=0;Q<E;Q++)gE(I,u[D+Q]);B+=E}return n[C>>2]=B,0}function ZA(I){return I%4===0&&(I%100!==0||I%400===0)}function CE(I,A){for(var g=0,C=0;C<=A;g+=I[C++]);return g}var aC=[31,29,31,30,31,30,31,31,30,31,30,31],tC=[31,28,31,30,31,30,31,31,30,31,30,31];function BE(I,A){for(var g=new Date(I.getTime());A>0;){var C=ZA(g.getFullYear()),B=g.getMonth(),i=(C?aC:tC)[B];if(A>i-g.getDate())A-=i-g.getDate()+1,g.setDate(1),B<11?g.setMonth(B+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1));else return g.setDate(g.getDate()+A),g}return g}function QE(I,A,g){var C=Wg(I)+1,B=new Array(C);return oC(I,B,0,B.length),B}function EE(I,A){O.set(I,A)}function iE(I,A,g,C){var B=L[C+40>>2],i={tm_sec:L[C>>2],tm_min:L[C+4>>2],tm_hour:L[C+8>>2],tm_mday:L[C+12>>2],tm_mon:L[C+16>>2],tm_year:L[C+20>>2],tm_wday:L[C+24>>2],tm_yday:L[C+28>>2],tm_isdst:L[C+32>>2],tm_gmtoff:L[C+36>>2],tm_zone:B?Jg(B):""},D=Jg(g),E={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var Q in E)D=D.replace(new RegExp(Q,"g"),E[Q]);var o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],s=["January","February","March","April","May","June","July","August","September","October","November","December"];function t(w,e,m){for(var J=typeof w=="number"?w.toString():w||"";J.length<e;)J=m[0]+J;return J}function y(w,e){return t(w,e,"0")}function N(w,e){function m(EA){return EA<0?-1:EA>0?1:0}var J;return(J=m(w.getFullYear()-e.getFullYear()))===0&&(J=m(w.getMonth()-e.getMonth()))===0&&(J=m(w.getDate()-e.getDate())),J}function R(w){switch(w.getDay()){case 0:return new Date(w.getFullYear()-1,11,29);case 1:return w;case 2:return new Date(w.getFullYear(),0,3);case 3:return new Date(w.getFullYear(),0,2);case 4:return new Date(w.getFullYear(),0,1);case 5:return new Date(w.getFullYear()-1,11,31);case 6:return new Date(w.getFullYear()-1,11,30)}}function h(w){var e=BE(new Date(w.tm_year+1900,0,1),w.tm_yday),m=new Date(e.getFullYear(),0,4),J=new Date(e.getFullYear()+1,0,4),EA=R(m),bA=R(J);return N(EA,e)<=0?N(bA,e)<=0?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var S={"%a":function(w){return o[w.tm_wday].substring(0,3)},"%A":function(w){return o[w.tm_wday]},"%b":function(w){return s[w.tm_mon].substring(0,3)},"%B":function(w){return s[w.tm_mon]},"%C":function(w){var e=w.tm_year+1900;return y(e/100|0,2)},"%d":function(w){return y(w.tm_mday,2)},"%e":function(w){return t(w.tm_mday,2," ")},"%g":function(w){return h(w).toString().substring(2)},"%G":function(w){return h(w)},"%H":function(w){return y(w.tm_hour,2)},"%I":function(w){var e=w.tm_hour;return e==0?e=12:e>12&&(e-=12),y(e,2)},"%j":function(w){return y(w.tm_mday+CE(ZA(w.tm_year+1900)?aC:tC,w.tm_mon-1),3)},"%m":function(w){return y(w.tm_mon+1,2)},"%M":function(w){return y(w.tm_min,2)},"%n":function(){return`
22
22
  `},"%p":function(w){return w.tm_hour>=0&&w.tm_hour<12?"AM":"PM"},"%S":function(w){return y(w.tm_sec,2)},"%t":function(){return" "},"%u":function(w){return w.tm_wday||7},"%U":function(w){var e=w.tm_yday+7-w.tm_wday;return y(Math.floor(e/7),2)},"%V":function(w){var e=Math.floor((w.tm_yday+7-(w.tm_wday+6)%7)/7);if((w.tm_wday+371-w.tm_yday-2)%7<=2&&e++,e){if(e==53){var m=(w.tm_wday+371-w.tm_yday)%7;m!=4&&(m!=3||!ZA(w.tm_year))&&(e=1)}}else{e=52;var J=(w.tm_wday+7-w.tm_yday-1)%7;(J==4||J==5&&ZA(w.tm_year%400-1))&&e++}return y(e,2)},"%w":function(w){return w.tm_wday},"%W":function(w){var e=w.tm_yday+7-(w.tm_wday+6)%7;return y(Math.floor(e/7),2)},"%y":function(w){return(w.tm_year+1900).toString().substring(2)},"%Y":function(w){return w.tm_year+1900},"%z":function(w){var e=w.tm_gmtoff,m=e>=0;return e=Math.abs(e)/60,e=e/60*100+e%60,(m?"+":"-")+("0000"+e).slice(-4)},"%Z":function(w){return w.tm_zone},"%%":function(){return"%"}};D=D.replace(/%%/g,"\0\0");for(var Q in S)D.includes(Q)&&(D=D.replace(new RegExp(Q,"g"),S[Q](i)));D=D.replace(/\0\0/g,"%");var U=QE(D);return U.length>A?0:(EE(U,I),U.length-1)}function oE(I,A,g,C,B){return iE(I,A,g,C)}function DE(I){Cg=I,sB()||(a.onExit&&a.onExit(I),fg=!0),lg(I,new XI(I))}function sE(I,A){Cg=I,DE(I)}function aE(I){if(I instanceof XI||I=="unwind")return Cg;lg(1,I)}function tE(I){var A=Wg(I)+1,g=Vg(A);return DC(I,g,A),g}MA=a.BindingError=Eg(Error,"BindingError");kB();zI=a.PureVirtualError=Eg(Error,"PureVirtualError");KB();fB();IC=a.InternalError=Eg(Error,"InternalError");vB();QQ();QC=a.UnboundTypeError=Eg(Error,"UnboundTypeError");var wE={d:nB,p:bB,r:xB,y:WB,H:OB,h:DQ,j:sQ,m:aQ,a:tQ,J:wQ,G:yQ,k:NQ,b:cQ,v:FQ,K:RQ,i:hQ,c:MQ,u:SQ,o:KQ,s:HQ,l:dQ,I:lQ,f:pQ,e:iC,g:TQ,q:bQ,w:xQ,n:WQ,D:OQ,E:VQ,C:jQ,A:zQ,B:vQ,F:_Q,x:$Q,t:IE,z:oE};MB();var wC=a._main=function(){return(wC=a._main=a.asm.N).apply(null,arguments)},Og=function(){return(Og=a.asm.O).apply(null,arguments)},v=function(){return(v=a.asm.Q).apply(null,arguments)},yC=function(){return(yC=a.asm.R).apply(null,arguments)};a.__embind_initialize_bindings=function(){return(a.__embind_initialize_bindings=a.asm.S).apply(null,arguments)};var Vg=function(){return(Vg=a.asm.T).apply(null,arguments)},eC=function(){return(eC=a.asm.U).apply(null,arguments)};a.dynCall_jiji=function(){return(a.dynCall_jiji=a.asm.V).apply(null,arguments)};a.dynCall_iiiiij=function(){return(a.dynCall_iiiiij=a.asm.W).apply(null,arguments)};a.dynCall_iiiiijj=function(){return(a.dynCall_iiiiijj=a.asm.X).apply(null,arguments)};a.dynCall_iiiiiijj=function(){return(a.dynCall_iiiiiijj=a.asm.Y).apply(null,arguments)};var gg;KA=function I(){gg||NC(),gg||(KA=I)};function yE(I=[]){var A=wC;I.unshift(dg);var g=I.length,C=Vg((g+1)*4),B=C>>2;I.forEach(D=>{L[B++]=tE(D)}),L[B]=0;try{var i=A(g,C);return sE(i,!0),i}catch(D){return aE(D)}}function NC(I=pI){if(sA>0||(aB(),sA>0))return;function A(){gg||(gg=!0,a.calledRun=!0,!fg&&(tB(),wB(),a.onRuntimeInitialized&&a.onRuntimeInitialized(),cC&&yE(I),yB()))}a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1),A()},1)):A()}if(a.preInit)for(typeof a.preInit=="function"&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();var cC=!0;a.noInitialRun&&(cC=!1);NC();var HI=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",1,2,3,4,5,6,7,8,9,0];function eE(I){let A="";for(let g=0;g<I;g++){let C=Math.floor(Math.random()*HI.length);A+=HI[C]}return A}var lA=null,Kg={},NE=async(I,A,g)=>(I.postMessage({action:"translate",url:g,data:A,seq:1},[A]),await new Promise(C=>{Kg[1]=B=>{C(B)}})),cE=I=>{lA=new Worker(I),lA.postMessage({action:"load"}),lA.onmessage=A=>{let{seq:g,cmd:C}=(A==null?void 0:A.data)||{};if(C==="convert"&&!isNaN(g)){let B=Kg[g];B&&(B(A.data),delete Kg[g])}}},Sg=async I=>{if(lA){let A=lA;return fetch(I).then(g=>g.arrayBuffer()).then(async g=>NE(A,g,"id"))}else return Promise.resolve({error:1,msg:"no decode worker"})},JA="9gp0ag5qeuhy1ig8gmqxu2hwxex9j1iz",f={ERR_PUB_UNKOWN:2e5,ERR_PUB_PARAMS:200001,ERR_PUB_BUSY:200002,ERR_PUB_AUTH:200003,ERR_PUB_UNREG:200004,ERR_PUB_UNIMPL:200005,ERR_PUB_SYSTEM:200006,ERR_PUB_RIGHT:200007,ERR_NO_DATA:200008,ERR_PUB_FREQUENCY:200009,ERR_PUB_QPSLIMITED:200010,ERR_PUB_COPYRIGHT:200011,ERR_AUTO:200300,ERR_NOT_INIT_CODEC:3e5},rE="anonymous",FE="password";function BA(I,A){var g=(I&65535)+(A&65535),C=(I>>16)+(A>>16)+(g>>16);return C<<16|g&65535}function RE(I,A){return I<<A|I>>>32-A}function tg(I,A,g,C,B,i){return BA(RE(BA(BA(A,I),BA(C,i)),B),g)}function k(I,A,g,C,B,i,D){return tg(A&g|~A&C,I,A,B,i,D)}function K(I,A,g,C,B,i,D){return tg(A&C|g&~C,I,A,B,i,D)}function H(I,A,g,C,B,i,D){return tg(A^g^C,I,A,B,i,D)}function d(I,A,g,C,B,i,D){return tg(g^(A|~C),I,A,B,i,D)}function GE(I,A){I[A>>5]|=128<<A%32,I[(A+64>>>9<<4)+14]=A;var g,C,B,i,D,E=1732584193,Q=-271733879,o=-1732584194,s=271733878;for(g=0;g<I.length;g+=16)C=E,B=Q,i=o,D=s,E=k(E,Q,o,s,I[g],7,-680876936),s=k(s,E,Q,o,I[g+1],12,-389564586),o=k(o,s,E,Q,I[g+2],17,606105819),Q=k(Q,o,s,E,I[g+3],22,-1044525330),E=k(E,Q,o,s,I[g+4],7,-176418897),s=k(s,E,Q,o,I[g+5],12,1200080426),o=k(o,s,E,Q,I[g+6],17,-1473231341),Q=k(Q,o,s,E,I[g+7],22,-45705983),E=k(E,Q,o,s,I[g+8],7,1770035416),s=k(s,E,Q,o,I[g+9],12,-1958414417),o=k(o,s,E,Q,I[g+10],17,-42063),Q=k(Q,o,s,E,I[g+11],22,-1990404162),E=k(E,Q,o,s,I[g+12],7,1804603682),s=k(s,E,Q,o,I[g+13],12,-40341101),o=k(o,s,E,Q,I[g+14],17,-1502002290),Q=k(Q,o,s,E,I[g+15],22,1236535329),E=K(E,Q,o,s,I[g+1],5,-165796510),s=K(s,E,Q,o,I[g+6],9,-1069501632),o=K(o,s,E,Q,I[g+11],14,643717713),Q=K(Q,o,s,E,I[g],20,-373897302),E=K(E,Q,o,s,I[g+5],5,-701558691),s=K(s,E,Q,o,I[g+10],9,38016083),o=K(o,s,E,Q,I[g+15],14,-660478335),Q=K(Q,o,s,E,I[g+4],20,-405537848),E=K(E,Q,o,s,I[g+9],5,568446438),s=K(s,E,Q,o,I[g+14],9,-1019803690),o=K(o,s,E,Q,I[g+3],14,-187363961),Q=K(Q,o,s,E,I[g+8],20,1163531501),E=K(E,Q,o,s,I[g+13],5,-1444681467),s=K(s,E,Q,o,I[g+2],9,-51403784),o=K(o,s,E,Q,I[g+7],14,1735328473),Q=K(Q,o,s,E,I[g+12],20,-1926607734),E=H(E,Q,o,s,I[g+5],4,-378558),s=H(s,E,Q,o,I[g+8],11,-2022574463),o=H(o,s,E,Q,I[g+11],16,1839030562),Q=H(Q,o,s,E,I[g+14],23,-35309556),E=H(E,Q,o,s,I[g+1],4,-1530992060),s=H(s,E,Q,o,I[g+4],11,1272893353),o=H(o,s,E,Q,I[g+7],16,-155497632),Q=H(Q,o,s,E,I[g+10],23,-1094730640),E=H(E,Q,o,s,I[g+13],4,681279174),s=H(s,E,Q,o,I[g],11,-358537222),o=H(o,s,E,Q,I[g+3],16,-722521979),Q=H(Q,o,s,E,I[g+6],23,76029189),E=H(E,Q,o,s,I[g+9],4,-640364487),s=H(s,E,Q,o,I[g+12],11,-421815835),o=H(o,s,E,Q,I[g+15],16,530742520),Q=H(Q,o,s,E,I[g+2],23,-995338651),E=d(E,Q,o,s,I[g],6,-198630844),s=d(s,E,Q,o,I[g+7],10,1126891415),o=d(o,s,E,Q,I[g+14],15,-1416354905),Q=d(Q,o,s,E,I[g+5],21,-57434055),E=d(E,Q,o,s,I[g+12],6,1700485571),s=d(s,E,Q,o,I[g+3],10,-1894986606),o=d(o,s,E,Q,I[g+10],15,-1051523),Q=d(Q,o,s,E,I[g+1],21,-2054922799),E=d(E,Q,o,s,I[g+8],6,1873313359),s=d(s,E,Q,o,I[g+15],10,-30611744),o=d(o,s,E,Q,I[g+6],15,-1560198380),Q=d(Q,o,s,E,I[g+13],21,1309151649),E=d(E,Q,o,s,I[g+4],6,-145523070),s=d(s,E,Q,o,I[g+11],10,-1120210379),o=d(o,s,E,Q,I[g+2],15,718787259),Q=d(Q,o,s,E,I[g+9],21,-343485551),E=BA(E,C),Q=BA(Q,B),o=BA(o,i),s=BA(s,D);return[E,Q,o,s]}function hE(I){var A,g="",C=I.length*32;for(A=0;A<C;A+=8)g+=String.fromCharCode(I[A>>5]>>>A%32&255);return g}function ME(I){var A,g=[];for(g[(I.length>>2)-1]=void 0,A=0;A<g.length;A+=1)g[A]=0;var C=I.length*8;for(A=0;A<C;A+=8)g[A>>5]|=(I.charCodeAt(A/8)&255)<<A%32;return g}function SE(I){return hE(GE(ME(I),I.length*8))}function nE(I){var A="0123456789abcdef",g="",C,B;for(B=0;B<I.length;B+=1)C=I.charCodeAt(B),g+=A.charAt(C>>>4&15)+A.charAt(C&15);return g}function LE(I){return unescape(encodeURIComponent(I))}function YE(I){return SE(LE(I))}function UE(I){return nE(YE(I))}function JE(I,A,g){return UE(I)}var QA,rA,AA=window,kA=AA.document,kE=/^(?:text|application)\/javascript/i,KE=/^(?:text|application)\/xml/i,rC="application/json",FC="text/html",HE=/^\s*$/,dE="jsonpcallback=?",lE=Object.prototype.toString,dI=encodeURIComponent,_=function(){},V=function(I){return lE.call(I).toLowerCase().slice(8,-1)},XA=[];function Pg(I){let A={index:100,name:"anonymity",fn:_},g=V(I);if(g==="function")XA.push(Ig(A,{fn:I}));else if(g==="object"){if(XA.find(C=>C.name===I.name&&C.index===I.index))return;XA.push(Ig(A,I))}else g==="array"&&I.forEach(Pg)}function wg(I,A,g,C){return V(A)==="function"&&(C=g,g=A,A=void 0),V(g)!=="function"&&(C=g,g=void 0),{url:I,data:A,success:g,dataType:C}}function fE(I){let A="text";return I&&(I=I.split(";",2)[0]),I==FC?A="html":I==rC?A="json":kE.test(I)?A="script":KE.test(I)&&(A="xml"),A}function Hg(I,A){return A===""?I:(I+"&"+A).replace(/[&?]{1,2}/,"?")}function uE(I){I.data&&V(I.data)==="object"&&(I.data=pE(I.data)),I.data&&(!I.type||I.type.toUpperCase()==="GET"||I.dataType==="jsonp")&&(I.url=Hg(I.url,I.data))}function RC(I,A,g,C){let B,i=V(A)==="array";for(let D in A)B=A[D],C&&(D=C+"["+(i?"":D)+"]"),!C&&i?I.add(B.name,B.value):V(B)==="array"||V(B)==="object"?RC(I,B,g,D):I.add(D,B)}function pE(I,A){let g=[];return g.add=function(C,B){V(B)==="function"&&(B=B()),B==null&&(B=""),this.push(dI(C)+"="+dI(B))},RC(g,I,A),g.join("&").replace(/%20/g,"+")}function Ig(I){return Array.prototype.slice.call(arguments,1).forEach(function(A){for(QA in A)A[QA]!==void 0&&(I[QA]=A[QA])}),I}function mE(I,A,g){let C=M.settings[A];return V(C)==="function"&&C.call(I,g),!0}function eA(I,A,g,C){if(I.global)return mE(A||kA,g,C)}function qE(I){I.global&&M.active++===0&&eA(I,null,"ajaxStart")}function TE(I){I.global&&!--M.active&&eA(I,null,"ajaxStop")}function GC(I,A){let g=A.context;if(A.beforeSend.call(g,I,A)===!1||eA(A,g,"ajaxBeforeSend",[I,A])===!1)return!1;eA(A,g,"ajaxSend",[I,A])}function hC(I,A,g){let C=g.context,B="success";typeof g.success=="function"&&g.success.call(C,I,B,A),eA(g,C,"ajaxSuccess",[A,g,I]),MC(B,A,g)}function GA(I,A,g,C){let B=C.context;typeof C.error=="function"&&C.error.call(B,g,A,I),eA(C,B,"ajaxError",[g,C,I]),MC(A,g,C)}function MC(I,A,g){let C=g.context;typeof g.complete=="function"&&g.complete.call(C,A,I),eA(g,C,"ajaxComplete",[A,g]),TE(g)}function bE(I){let A,g=I.jsonpCallback||"jsonp"+I.url.replace(/[^a-zA-Z0-9]+/g,""),C=kA.createElement("script"),B=kA.head||kA.getElementsByTagName("head")[0]||kA.documentElement,i=AA[g],D=function(o){C&&C.onload&&C.onload({type:"error"},o||"abort")},E={abort:D},Q;return C.onload=C.onerror=function(o,s){clearTimeout(Q),C.onload=C.onerror=_,B&&C.parentNode&&B.removeChild(C),C=void 0,o&&o.type=="error"||!A&&I.dataType==="jsonp"?GA(null,s||"error",E,I):hC(A,E,I),AA[g]=i||_,A&&V(i)==="function"&&i(A),i=A=void 0},GC(E,I)===!1?(D("abort"),E):(AA[g]=function(o){A=o},C.src=I.url.replace(/\?(.+)=\?/,"?$1="+g),B.insertBefore(C,B.firstChild),I.timeout>0&&(Q=setTimeout(function(){D("timeout")},I.timeout)),E)}var M=function(I){let A,g,C,B;B=XA.sort(function(t,y){return y.index-t.index}),B.forEach(function(t){let y;if(t&&V(t.fn)==="function")try{y=t.fn(I)}catch(N){}y&&(I=y)}),A=Ig({},I||{});for(QA in M.settings)A[QA]===void 0&&(A[QA]=M.settings[QA]);if(qE(A),A.crossDomain||(A.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(A.url)&&RegExp.$2!==AA.location.host),A.url||(A.url=AA.location.toString()),uE(A),g=A.dataType,C=/\?.+=\?/.test(A.url),C&&(g="jsonp"),A.cache===!1&&(A.url=Hg(A.url,"_="+new Date().getTime())),g==="jsonp"||g==="script")return g==="jsonp"&&!C&&(A.url=Hg(A.url,A.jsonp?A.jsonp+"=?":A.jsonp===!1?"":dE)),bE(A);let i=A.accepts[g],D={},E=/^([\w-]+:)\/\//.test(A.url)?RegExp.$1:AA.location.protocol,Q=A.xhr(),o;if(A.crossDomain||(D["X-Requested-With"]="XMLHttpRequest"),D.Accept=i||"*/*",i&&(i.indexOf(",")>-1&&(i=i.split(",",2)[0]),Q.overrideMimeType&&Q.overrideMimeType(i)),(A.contentType||A.contentType!==!1&&A.data&&A.type.toUpperCase()!="GET")&&(D["Content-Type"]=A.contentType||"application/x-www-form-urlencoded"),A.headers=Ig(D,A.headers||{}),Q.onreadystatechange=function(){if(Q.readyState==4){Q.onreadystatechange=_,clearTimeout(o);let t,y=!1;if(Q.status>=200&&Q.status<300||Q.status==304||Q.status==0&&E=="file:"){if(g=g||fE(Q.getResponseHeader("content-type")),Q.responseType=="arraybuffer"||Q.responseType=="blob")t=Q.response;else{t=Q.responseText;try{g=="script"?(0,eval)(t):g=="xml"?t=Q.responseXML:g=="json"&&(t=HE.test(t)?null:JSON.parse(t))}catch(N){y=N}if(y)return GA(y,"parsererror",Q,A)}hC(t,Q,A)}else GA(Q.statusText||null,Q.status?"error":"abort",Q,A)}},GC(Q,A)===!1)return Q.abort(),A.customAbort||GA(null,"abort",Q,A),Q;let s="async"in A?A.async:!0;if(Q.open(A.type,A.url,s,A.username,A.password),A.xhrFields)for(rA in A.xhrFields)Q[rA]=A.xhrFields[rA];for(rA in A.headers)Q.setRequestHeader(rA,A.headers[rA]);A.timeout>0&&(o=setTimeout(function(){Q.onreadystatechange=_,Q.abort(),GA(null,"timeout",Q,A)},A.timeout));try{Q.send(A.data?A.data:null)}catch(t){if(A.async||clearTimeout(o),A.catchSendError)GA(t,"error",Q,A);else throw t}return Q};M.active=0;M.settings={type:"GET",dataType:"json",beforeSend:_,success:_,error:_,complete:_,context:null,global:!0,xhr:function(){return new AA.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:rC,xml:"application/xml, text/xml",html:FC,text:"text/plain"},crossDomain:!1,timeout:0,cache:!0};M.get=function(){return M(wg.apply(null,arguments))};M.post=function(){let I=wg.apply(null,arguments);return I.type="POST",M(I)};M.jsonp=function(){let I=wg.apply(null,arguments);return I.dataType="jsonp",M(I)};M.script=function(){let I=wg.apply(null,arguments);return I.dataType="script",M(I)};M.fetch=I=>new Promise((A,g)=>{M(WA(gA({},I),{success:A,error:g}))});M.pushInterceptors=Pg;M.version="<%= version %>";Pg(AA.FxAjaxInterceptors);var yg=(I={})=>{let A=gA({pid:"",sp:"KG",device_id:JA,client_ip:"127.0.0.1",timestamp:Math.floor(Date.now()/1e3),nonce:eE(64),token:FE,userid:rE,ssl:1},I),g=I.appkey,C=[],B=JSON.stringify(A);return C.push(B),C.push(g),{signature:JE(C.join("")),body:B}};async function xE(I){let{url:A,header:g}=I;return await M.fetch({url:A,headers:JSON.parse(g),contentType:"application/json",crossDomain:!0})}async function WE(I){let{url:A,header:g,body:C}=I;return await M.fetch({url:A,type:"POST",headers:JSON.parse(g),contentType:"application/json",data:C,crossDomain:!0})}function OE(I){let{signature:A,body:g}=yg(I);return M.fetch({url:"https://commercial.kugou.com/v2/commercial/vip/info",type:"POST",headers:{signature:A},contentType:"application/json",data:g,crossDomain:!0})}function VE(I){let{signature:A,body:g}=yg(I);return M.fetch({url:"https://commercial.kugou.com/v2/commercial/sdk/song/krc/base64",type:"POST",headers:{signature:A},contentType:"application/json",data:g,crossDomain:!0})}function PE(I){let{signature:A,body:g}=yg(I);return M.fetch({url:"https://commercial.kugou.com/v2/commercial/sdk/accompany/krc/base64",type:"POST",headers:{signature:A},contentType:"application/json",data:g,crossDomain:!0})}function jE(I){let{signature:A,body:g}=yg(I);return M.fetch({url:"https://commercial.kugou.com/v2/commercial/sdk/accompany/songpitch",type:"POST",headers:{signature:A},contentType:"application/json",data:g,crossDomain:!0})}var zA=class{constructor(){this.userid="",this.token="",this.clientPid="",this.appkey="",this.commonParams={},this.isVip=1,this.songId="",this.accompanySongId="",this.lyricSongId="",this.accompanyLyricSongId="",this.pitchSongId="",this.scoreSongId="",this.urlToken="",this.encryptLyricData="",this.lyricOffset=0,this.encryptAccompanyLyricData="",this.accompanyLyricOffset=0,this.encryptPitchData="",this.pitchOffset=0,this.pitchStartTime=0,this.ktvScoreClient={},this.songPcmData=[],this.accompanyPcmData=[],this.accompanySegmentSongId="",this.accompanySegmentBegin=0,this.accompanySegmentEnd=0,this.accompanySegmentPcmData=[],this.ffmpegLoaded=!1,this.ffmpeg=new Lg}async _getLyric({song_id:A,isAccompany:g=0}){try{let C;return g===1?A===this.accompanyLyricSongId&&this.encryptAccompanyLyricData?Promise.resolve({error_code:0,data:{lyric_base64:this.encryptAccompanyLyricData,offset:this.accompanyLyricOffset}}):(C=await PE(Object.assign({song_id:A},this.commonParams)),C.error_code===0?(this.accompanyLyricSongId=A,this.encryptAccompanyLyricData=C.data.lyric_base64,this.accompanyLyricOffset=C.data.offset,Promise.resolve({error_code:0,data:{lyric_base64:this.encryptAccompanyLyricData,offset:this.accompanyLyricOffset}})):Promise.resolve({error_code:C.error_code,error_msg:C.error_msg,data:{}})):A===this.lyricSongId&&this.encryptLyricData?Promise.resolve({error_code:0,data:{lyric_base64:this.encryptLyricData,offset:this.lyricOffset}}):(C=await VE(Object.assign({song_id:A,quality:"standard"},this.commonParams)),C.error_code===0?(this.lyricSongId=A,this.encryptLyricData=C.data.lyric_base64,this.lyricOffset=C.data.offset,Promise.resolve({error_code:0,data:{lyric_base64:this.encryptLyricData,offset:this.lyricOffset}})):Promise.resolve({error_code:C.error_code,error_msg:C.error_msg,data:{}}))}catch(C){return Promise.resolve({error_code:f.ERR_PUB_SYSTEM,data:{}})}}async _getPitch({song_id:A}){try{if(A===this.pitchSongId&&this.encryptPitchData)return Promise.resolve({error_code:0,data:{lyric:this.encryptPitchData,offset:this.pitchOffset}});{let g=await jE(Object.assign({song_id:A},this.commonParams));return g.error_code===0?(this.encryptPitchData=g.data.pitch,this.pitchOffset=g.data.offset,this.pitchStartTime=g.data.vtime,this.pitchSongId=A,Promise.resolve({error_code:0,data:{pitch:this.encryptPitchData,offset:this.pitchOffset,vtime:this.pitchStartTime}})):Promise.resolve({error_code:g.error_code,error_msg:g.error_msg,data:{}})}}catch(g){return Promise.resolve({error_code:f.ERR_PUB_SYSTEM,data:{}})}}async setUser(A){var B;if(!(A!=null&&A.userid)||!(A!=null&&A.token)||!(A!=null&&A.clientPid)||!(A!=null&&A.appkey))return Promise.resolve({status:f.ERR_PUB_PARAMS,data:{}});this.userid=A.userid,this.token=A.token,this.clientPid=A.clientPid,this.appkey=A.appkey,this.isVip=(B=A.isVip)!=null?B:1,this.commonParams={userid:this.userid,token:this.token,pid:this.clientPid,appkey:this.appkey};let g={status:0,data:{}},C=await OE(this.commonParams);return C.error_code!==0&&(g.status=C.error_code),Promise.resolve(g)}async setDecodeWorker(A){let{url:g}=A;return cE(g),Promise.resolve({status:0,data:{}})}fetchAccompanyUrl(A){let{song_id:g}=A,C={error_code:0,data:{}};return new Promise(B=>{let i=a.VoidFunctorWithIntString.implement({invoke:async function(D,E){if(D===a.KtvScore$ErrCode.ERR_CODE_OK.value){let Q={};try{Q=JSON.parse(E)}catch(o){}this.accompanySongId=g,this.urlToken=Q.url_token,C.data={status:Q.status,accompany_url:Q.accompany_url,url_token:Q.url_token}}else C.error_code=D||f.ERR_NO_DATA;B(C),i.delete()}});this.ktvScoreClient.getMediaResource(JA,this.clientPid,this.userid,this.token,g,!0,this.isVip?a.KtvScore$ChargeMode.CHARGE_MODE_MONTHLY:a.KtvScore$ChargeMode.CHARGE_MODE_ONCE,a.KtvScore$MediaType.MEDIA_TYPE_ACCOMPANY,i)})}async initKtvScoreClient({song_id:A}){var g;let C={error_code:0};if(A!==this.scoreSongId){let[B,i,D]=await Promise.all([this.fetchAccompanyUrl({song_id:A,isAccompany:1}),this._getLyric({song_id:A,isAccompany:1}),this._getPitch({song_id:A})]);if((B==null?void 0:B.error_code)!==0||i.error_code!==0||D.error_code!==0)C.error_code=f.ERR_PUB_BUSY;else if(((g=B==null?void 0:B.data)==null?void 0:g.status)!==0)C.error_code=f.ERR_PUB_COPYRIGHT;else return new Promise(E=>{this.urlToken=B.data.url_token;let Q=a.VoidFunctorWithInt.implement({invoke:function(o){o===a.KtvScore$ErrCode.ERR_CODE_OK.value?(DA.scoreSongId=A,E(C)):(C.error_code=o||f.ERR_PUB_SYSTEM,E(C)),Q.delete()}});DA.ktvScoreClient.init(this.encryptPitchData,this.encryptAccompanyLyricData,this.accompanyLyricOffset,this.urlToken,Q,a.KtvScore$Version.VERSION_OLD)})}return Promise.resolve(C)}async _fetchSongUrl(A){let{song_id:g,isAccompany:C}=A,B={status:a.KtvScore$ErrCode.ERR_CODE_OK.value};return C?new Promise(i=>{let D=a.VoidFunctorWithIntString.implement({invoke:async function(E,Q){if(E===a.KtvScore$ErrCode.ERR_CODE_OK.value){let o={};try{o=JSON.parse(Q)}catch(s){}this.accompanySongId=g,this.urlToken=o.url_token,B=WA(gA({},B),{data:o})}else B={status:E||f.ERR_NO_DATA};i(B),D.delete()}});this.ktvScoreClient.getMediaResource(JA,this.clientPid,this.userid,this.token,g,!0,this.isVip?a.KtvScore$ChargeMode.CHARGE_MODE_MONTHLY:a.KtvScore$ChargeMode.CHARGE_MODE_ONCE,a.KtvScore$MediaType.MEDIA_TYPE_ACCOMPANY,D)}):new Promise(i=>{let D=a.VoidFunctorWithIntString.implement({invoke:async function(E,Q){if(E===a.KtvScore$ErrCode.ERR_CODE_OK.value){let o={};try{o=JSON.parse(Q)}catch(s){}this.songId=g,this.urlToken=o.url_token,B=WA(gA({},B),{data:o})}else B={status:E||f.ERR_NO_DATA};i(B),D.delete()}});this.ktvScoreClient.getMediaResource(JA,this.clientPid,this.userid,this.token,g,!0,this.isVip?a.KtvScore$ChargeMode.CHARGE_MODE_MONTHLY:a.KtvScore$ChargeMode.CHARGE_MODE_ONCE,a.KtvScore$MediaType.MEDIA_TYPE_SONG,D)})}async initCodec(A,g){return this.ffmpegLoaded?this.ffmpegLoaded:(await this.ffmpeg.load({coreURL:await SI(`${A}/ffmpeg-core.js`,"text/javascript"),wasmURL:await SI(`${A}/ffmpeg-core.wasm`,"application/wasm"),classWorkerURL:g}),this.ffmpegLoaded=!0,this.ffmpegLoaded)}async downloadSongById(A){let{song_id:g,isAccompany:C}=A,B={status:0,data:{}};if(!this.ffmpegLoaded)return B.status=f.ERR_NOT_INIT_CODEC,B;if(C){let i=await this._fetchSongUrl(A),D="song.mkv";await this.ffmpeg.writeFile(D,await AB(i.data.accompany_url)),console.time("exec"),await this.ffmpeg.exec(["-i",D,"-map","0:0","-c","copy","output0.mp3","-map","0:1","-c","copy","output1.mp3"]),console.timeEnd("exec");let E=await this.ffmpeg.readFile("output0.mp3"),Q=await this.ffmpeg.readFile("output1.mp3");B.data={song_id:g,isAccompany:C,numberOfChannels:2,mp3Data:[E,Q]}}return B}async downloadSong(A){var g,C;let{song_id:B,isAccompany:i}=A,D={status:0,data:{}};if(i)if(this.accompanySongId===B&&((g=this.accompanyPcmData)==null?void 0:g.length)>0)D.data={song_id:B,isAccompany:i,numberOfChannels:this.accompanyPcmData.length,accompanyPcmData:this.accompanyPcmData};else return this._fetchSongUrl(A).then(async E=>{var Q;if(E.status!==a.KtvScore$ErrCode.ERR_CODE_OK.value)D.status=E.status;else{let o=await Sg(E.data.accompany_url);if(o.error===0){let s=(Q=o==null?void 0:o.streams)==null?void 0:Q.map(t=>t.stream);this.accompanySongId=B,this.accompanyPcmData=s,D.data={song_id:B,isAccompany:i,numberOfChannels:this.accompanyPcmData.length,accompanyPcmData:this.accompanyPcmData}}else D.status=f.ERR_PUB_SYSTEM}return D});else if(this.songId===B&&((C=this.songPcmData)==null?void 0:C.length)>0)D.data={song_id:B,isAccompany:i,numberOfChannels:this.songPcmData.length,pcmData:this.songPcmData};else return this._fetchSongUrl(A).then(async E=>{var Q;if(E.status!==a.KtvScore$ErrCode.ERR_CODE_OK.value)D.status=E.status;else{let o=await Sg(E.data.song_url);if(o.error===0){let s=(Q=o==null?void 0:o.streams)==null?void 0:Q.map(t=>t.stream);this.songPcmData=s,D.data={song_id:B,isAccompany:i,numberOfChannels:this.songPcmData.length,pcmData:this.songPcmData}}else D.status=f.ERR_PUB_SYSTEM}return D});return Promise.resolve(D)}async downloadAccompanySegment(A){var g;let{song_id:C}=A,B={status:0,data:{}};if(this.accompanySegmentSongId===C&&((g=this.accompanySegmentPcmData)==null?void 0:g.length)>0)B.data={song_id:C,begin:this.accompanySegmentBegin,end:this.accompanySegmentEnd,numberOfChannels:this.accompanySegmentPcmData.length,pcmData:this.accompanySegmentPcmData};else return new Promise(i=>{let D=a.VoidFunctorWithIntString.implement({invoke:async function(E,Q){var o;if(E===a.KtvScore$ErrCode.ERR_CODE_OK.value){let s={};try{s=JSON.parse(Q)}catch(y){}this.accompanySegmentSongId=C,this.accompanySegmentBegin=s.segment_begin,this.accompanySegmentEnd=s.segment_end;let t=await Sg(s.url);t.error===0?(this.accompanySegmentPcmData=(o=t==null?void 0:t.streams)==null?void 0:o.map(y=>y.stream),B.data={begin:this.accompanySegmentBegin,end:this.accompanySegmentEnd,numberOfChannels:this.accompanySegmentPcmData.length,pcmData:this.accompanySegmentPcmData}):B.status=f.ERR_PUB_SYSTEM}else B.status=E||f.ERR_NO_DATA;i(B),D.delete()}});this.ktvScoreClient.getMediaResource(JA,this.clientPid,this.userid,this.token,C,!0,this.isVip?a.KtvScore$ChargeMode.CHARGE_MODE_MONTHLY:a.KtvScore$ChargeMode.CHARGE_MODE_ONCE,a.KtvScore$MediaType.MEDIA_TYPE_ACCOMPANY_SEGMENT,D)});return Promise.resolve(B)}async getLyric(A){let{song_id:g,isAccompany:C=0}=A,B={status:0,data:{}},i=await this.initKtvScoreClient({song_id:g});if(i.error_code===0){let D=await this.ktvScoreClient.getLyric();B.data={song_id:g,isAccompany:C,lyric:D.replace(/\0/g,"")}}else B.status=i.error_code;return Promise.resolve(B)}async getPitchData({song_id:A}){let g={status:0,data:{}},C=await this.initKtvScoreClient({song_id:A});if(C.error_code===0){let B=this.ktvScoreClient.getPitchData(),i=[],D=B.size();for(let E=0;E<D;E++)i.push(B.get(E));g.data={pitch:i},B.delete()}else g.status=C.error_code;return Promise.resolve(g)}setAudioParams(A){let{sampleRate:g,channels:C}=A;return this.ktvScoreClient.setAudioParams(g,C),this.ktvScoreClient.enableScore(!0),Promise.resolve({status:0,data:{}})}setScoreHardLevel({level:A=5}){let g={status:0,data:{}};return/^[1-5]{1}$/.test(A)?this.ktvScoreClient.setScoreHardLevel(a.KtvScore$ScoreHardLevel[`SCORE_HARD_LEVEL${A}`]):g.status=f.ERR_PUB_PARAMS,Promise.resolve(g)}processScore(A){let{buffer:g,pts:C}=A,B=new a.Int16Array(g.length);return B.data.set(g),this.ktvScoreClient.process(B,C),B.delete(),Promise.resolve({status:0,data:{}})}getRealTimePitch(){let A=this.ktvScoreClient.immediatelyDisplay();return Promise.resolve({status:0,data:{pitch:A}})}getScore(A){let{pts:g}=A,C={status:0,data:{}},B=this.ktvScoreClient.updateScoreToScoreInfo(g);return C.data={song_id:this.scoreSongId,score:B.score,index:B.index},Promise.resolve(C)}getAverageScore(A){let{pts:g}=A,C={status:0,data:{}},B=this.ktvScoreClient.updateAverageScore(g);return C.data={song_id:this.scoreSongId,averageScore:B},Promise.resolve(C)}getTotalScore(A){let{pts:g}=A,C={status:0,data:{}},B=this.ktvScoreClient.updateTotalScore(g),i=this.ktvScoreClient.calculateTotalScore();return C.data={song_id:this.scoreSongId,totalScore:B,wholeScore:i},Promise.resolve(C)}reset(){let A={status:0,data:{}};return this.ktvScoreClient.reset(),Promise.resolve(A)}};zA.packageName="__PKG_NAME__",zA.version="__PKG_VERSION__",zA.updateTime="__UPDATE_TIME__";var ZE=zA,DA=window.yinsudaClient;DA||(DA=new ZE,a.onRuntimeInitialized=function(){let I=a.IHttp.implement({get:async function(A,g,C){let B=C.clone(),i=await xE({url:A,header:g});B.opCall(JSON.stringify(i)),B.delete()},post:async function(A,g,C,B){let i=B.clone(),D=await WE({url:A,header:g,body:C});i.opCall(JSON.stringify(D)),i.delete()}});DA.ktvScoreClient=new a.KtvScore(I)},window.yinsudaClient=DA);var Z=DA;var nC=_g(Zg(),1);var LC=(Q=>(Q.PLAYING="playing",Q.PAUSED="paused",Q.STOPPED="stopped",Q.PROGRESS_UPDATED="progress_updated",Q.CURRENT_TIME_INDEX_UPDATED="current_time_index_updated",Q.PITCH_UPDATED="pitch_updated",Q.SCHORE_UPDATED="schore_updated",Q.MUSIC_LOADED="music_loaded",Q))(LC||{});function vE(I,A){if(I<A[0])return-1;if(I>A[A.length-1])return A.length-1;for(let g=0;g<A.length;g++)if(A[g]>=I)return g;return-1}var Ng=class extends nC.EventEmitter{constructor(g){super();this.core=g;F(this,"EVENT",LC);F(this,"log");F(this,"yinsudaClient");F(this,"assetsPath","");F(this,"workerURL","");F(this,"currentTimeIndex",0);F(this,"pitchList");F(this,"lyricStartTimeList");F(this,"musicId");F(this,"originalPlayer");F(this,"accompanyPlayer");F(this,"originalURL");F(this,"accompanyURL");F(this,"useOriginalSong",!0);F(this,"volume",100);F(this,"bgmAudioTrack");F(this,"audioSourceNodes",[]);F(this,"downloadMusicPromise");this.log=g.log.createChild({id:"mp"}),this.downloadMusicPromise={},this.downloadMusicPromise.promise=new Promise((C,B)=>{this.downloadMusicPromise.resolve=C,this.downloadMusicPromise.reject=B}),this.yinsudaClient=Z,["setUser","initCodec","downloadSongById","getLyric","getPitchData"].forEach(C=>{let B=Z[C];Z[C]=function(...i){let D=B.call(Z,...i);return g.utils.isPromise(D)?new Promise((E,Q)=>{D.then(o=>{if(typeof o.status=="undefined")return E(o);o.status===0?E(o.data):Q(new Error(`${C} failed: ${o.status}`))}).catch(Q)}):D}})}get player(){return this.useOriginalSong?this.originalPlayer:this.accompanyPlayer}get currentTime(){var g;return((g=this.player)==null?void 0:g.currentTime)||0}set currentTime(g){this.originalPlayer&&(this.originalPlayer.currentTime=g),this.accompanyPlayer&&(this.accompanyPlayer.currentTime=g),this.log.info(`set currentTime: ${g}`)}get duration(){var g;return((g=this.player)==null?void 0:g.duration)||0}get isPlaying(){var g;return((g=this.player)==null?void 0:g.isPlaying)||!1}get isPaused(){var g;return((g=this.player)==null?void 0:g.isPaused)||!1}get isStopped(){return this.player?this.player.isStopped:!0}async initialize(g){this.log.info("initialize with config: ",g),g.assetsPath&&(this.assetsPath=g.assetsPath),g.workerURL&&(this.workerURL=g.workerURL),await Z.setUser(g)}async loadMusic(g){let{musicId:C,isNeedDownloadMusic:B=!0,isNeedLyric:i=!0,isNeedPitch:D=!0}=g;if(!B&&!i&&!D)throw new Error("(isNeedDownloadMusic, isNeedLyric, isNeedPitch) cannot all be false");this.log.info("loadMusic with option: ",g);let E={};if(i&&(E.lyric=await this.getLyric(C)),D&&(E.pitchList=await this.getPitch(C)),B)try{await this.downloadMusic(g),this.downloadMusicPromise.resolve()}catch(Q){this.downloadMusicPromise.reject(Q)}return this.musicId=C,this.emit(this.EVENT.MUSIC_LOADED),E}async downloadMusic({musicId:g}){this.log.info("downloadMusic initCodec");let C=await Z.initCodec(this.assetsPath,this.workerURL||this.assetsPath);this.log.info(`downloadMusic initCodec ${C}`),this.log.info(`downloadMusic downloadSongById ${g}`);let B=await Z.downloadSongById({song_id:g,isAccompany:1});B!=null&&B.mp3Data&&(B.mp3Data[0]&&(this.accompanyURL&&URL.revokeObjectURL(this.accompanyURL),this.accompanyURL=URL.createObjectURL(new Blob([B.mp3Data[0]],{type:"audio/mpeg"})),this.accompanyPlayer=new this.core.AudioPlayer({id:"ktv-p0",url:this.accompanyURL,track:null,muted:!1,container:null,log:this.log.createChild({id:"ktv-p0"})})),B.mp3Data[1]&&(this.originalURL&&URL.revokeObjectURL(this.originalURL),this.originalURL=URL.createObjectURL(new Blob([B.mp3Data[1]],{type:"audio/mpeg"})),this.originalPlayer=new this.core.AudioPlayer({id:"ktv-p1",url:this.originalURL,track:null,muted:!1,container:null,log:this.log.createChild({id:"ktv-p1"})}))),this.log.info("downloadMusic success")}async getLyricAndPitch(g){let C=await this.getLyric(g),B=await this.getPitch(g);return{lyric:C,pitchList:B}}async getLyric(g){let{lyric:C}=await Z.getLyric({song_id:g,isAccompany:1});return this.log.info("getLyric success"),this.lyricStartTimeList=C.split(`\r
23
- `).map(B=>{let i=B.match(/\[(\d+),/);if(i)return+i[1]}).filter(B=>typeof B=="number"),C}async getPitch(g){let{pitch:C}=await Z.getPitchData({song_id:g});return this.log.info("getPitchData success"),this.pitchList=C,C}async play(){if(!this.originalPlayer||!this.accompanyPlayer)return;let g=this.originalPlayer.play();this.originalPlayer.setMuted(!this.useOriginalSong),this.accompanyPlayer.setMuted(this.useOriginalSong),this.originalPlayer.on("time-updated",C=>this.onTimeUpdated(this.originalPlayer,C)),this.originalPlayer.on("player-state-changed",C=>this.onPlayerStateChange(this.originalPlayer,C.state)),this.accompanyPlayer.on("time-updated",C=>this.onTimeUpdated(this.accompanyPlayer,C)),this.accompanyPlayer.on("player-state-changed",C=>this.onPlayerStateChange(this.accompanyPlayer,C.state));try{await g}catch(C){if(C.message.includes("NotAllowedError"))this.handleAutoPlayFailed();else throw C}}async pause(){var B,i;let g=(B=this.originalPlayer)==null?void 0:B.pause(),C=(i=this.accompanyPlayer)==null?void 0:i.pause();await Promise.all([g,C])}async resume(){var B,i;let g=(B=this.originalPlayer)==null?void 0:B.resume(),C=(i=this.accompanyPlayer)==null?void 0:i.resume();await Promise.all([g,C])}stop(){var g,C,B,i;(g=this.originalPlayer)==null||g.stop(),(C=this.accompanyPlayer)==null||C.stop(),(B=this.originalPlayer)==null||B.removeAllListeners(),(i=this.accompanyPlayer)==null||i.removeAllListeners(),delete this.bgmAudioTrack,this.audioSourceNodes.forEach(D=>D.disconnect())}switchMusicTrack(g){var C,B;this.useOriginalSong=g,(C=this.originalPlayer)==null||C.setMuted(!g),(B=this.accompanyPlayer)==null||B.setMuted(g)}onTimeUpdated(g,C){if(g===this.player&&(this.emit("progress_updated",{currentTime:C,duration:this.player.duration}),this.lyricStartTimeList)){let B=vE(C,this.lyricStartTimeList);B!==this.currentTimeIndex&&(this.currentTimeIndex=B,this.emit("current_time_index_updated",{currentTime:C,currentTimeIndex:B}))}}onPlayerStateChange(g,C){g===this.player&&(C==="PLAYING"?this.emit(this.EVENT.PLAYING):C==="PAUSED"?this.emit(this.EVENT.PAUSED):C==="STOPPED"&&(this.stop(),this.emit(this.EVENT.STOPPED)))}handleAutoPlayFailed(){if(this.core.room.enableAutoPlayDialog)new this.core.AutoPlayDialog;else{let g=()=>{var C;(C=this.player)==null||C.resume().then(()=>{document.removeEventListener("click",g,!0)})};document.addEventListener("click",g,!0)}}initBGMAudioTrack(){var D,E;if(this.bgmAudioTrack)return this.bgmAudioTrack;if(!((D=this.originalPlayer)!=null&&D.element)||!((E=this.accompanyPlayer)!=null&&E.element))return;let{audioContext:g}=this.core,C=g.createMediaElementSource(this.originalPlayer.element),B=g.createMediaElementSource(this.accompanyPlayer.element),i=g.createMediaStreamDestination();return C.connect(i),B.connect(i),C.connect(g.destination),B.connect(g.destination),this.bgmAudioTrack=i.stream.getAudioTracks()[0],this.audioSourceNodes=[C,B],this.bgmAudioTrack}setVolume(g){var C,B;g<0||g>100||(this.volume=g,(C=this.originalPlayer)==null||C.setVolume(this.volume/100),(B=this.accompanyPlayer)==null||B.setVolume(this.volume/100))}};var YC=_g(Zg(),1);function _E(I){let A=new Int16Array(I.length);for(let g=0;g<I.length;g++){let C=Math.round(I[g]*32767),B=Math.max(-32768,Math.min(32767,C));A[g]=B}return A}var $E="publish-mix-stream-to-room",UC=(D=>(D.STARTED="started",D.STOPPED="stopped",D.REQUIRE_LOAD_MUSIC="require-load-music",D.SCORE_UPDATED="score-updated",D.PITCH_UPDATED="pitch-updated",D.PROGRESS_UPDATED="progress_updated",D))(UC||{}),NA=class NA extends YC.EventEmitter{constructor(g){super();this.core=g;F(this,"trtcBGM");F(this,"log");F(this,"player");F(this,"role");F(this,"bgmStartNTP",0);F(this,"sendSEIIntervalId",-1);F(this,"updateProgressAndPitchIntervalId",-1);F(this,"clearBlackVideoTrack");F(this,"BGM_AND_PITCH_UPDATE_INTERVAL",100);F(this,"isOnStartedEmitted",!1);F(this,"isBackSingerAutoStarted",!1);this.log=g.log.createChild({id:NA.Name}),this.player=new Ng(this.core),this.player.on(this.player.EVENT.MUSIC_LOADED,this.onMusicLoaded,this),this.player.on(this.player.EVENT.PLAYING,this.onPlaying,this),this.player.on(this.player.EVENT.STOPPED,this.onStopped,this),this.core.room.audioManager.enableEncodeNTPToAudioFrame()}get isLeadSinger(){return this.role==="LeadSinger"||this.trtcBGM}get isBackSinger(){return this.role==="BackSinger"}get isAudience(){return this.role==="audience"}onMusicLoaded(){if(this.isLeadSinger&&this.startSendSEI(),this.isLeadSinger||this.isBackSinger)try{this.player.yinsudaClient.initKtvScoreClient({song_id:this.player.musicId}),this.core.trtc.on(this.core.TRTC.EVENT.TRACK,g=>{if(g.track.kind==="audio"){let C=g.track.getSettings();this.player.yinsudaClient.setAudioParams({sampleRate:C.sampleRate||48e3,channels:C.channelCount||1})}}),this.core.trtc.on(this.core.TRTC.EVENT.AUDIO_FRAME,g=>{this.player.yinsudaClient.processScore({buffer:_E(g.data),pts:this.player.currentTime})}),this.player.on(this.player.EVENT.CURRENT_TIME_INDEX_UPDATED,({currentTime:g})=>{Promise.all([this.player.yinsudaClient.getScore({pts:g}).then(C=>Math.max(0,C.data.score)),this.player.yinsudaClient.getAverageScore({pts:g}).then(C=>C.data.averageScore),this.player.yinsudaClient.getTotalScore({pts:g}).then(C=>({totalScore:C.data.totalScore,maxScore:C.data.wholeScore}))]).then(([C,B,{totalScore:i,maxScore:D}])=>{this.emit("score-updated",{score:C,averageScore:B,totalScore:i,maxScore:D})})})}catch(g){this.log.error(g)}}onPlaying(){var g;this.isLeadSinger&&!this.bgmStartNTP&&(this.bgmStartNTP=this.core.trtc.getNetworkTime(),(g=this.trtcBGM)==null||g.startLocalAudio({option:{audioTrack:this.player.initBGMAudioTrack(),echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1,profile:"high"}}))}isNeedToEmitStreamEvent(g,C){let B=g.split("_").pop()==="bgm",i=g.split("_").pop()==="robot";return!((this.isLeadSinger||this.isBackSinger)&&(B||i)||this.isAudience&&i)}async initialize(g){this.log.info(`initialize ${JSON.stringify(g)}`),g.role&&(this.role=g.role),g.updateInterval&&(this.BGM_AND_PITCH_UPDATE_INTERVAL=g.updateInterval),await this.player.initialize(g),g.sdkAppId&&(this.trtcBGM=this.core.TRTC.create({enableSEI:!0}),this.trtcBGM.room.enableChorus=!0,await this.trtcBGM.enterRoom({sdkAppId:g.sdkAppId,userId:g.userId,userSig:g.userSig,roomId:g.roomId,strRoomId:g.strRoomId,role:this.core.TRTC.TYPE.ROLE_ANCHOR,autoReceiveAudio:!1}),this.trtcBGM.room.audioManager.enableEncodeNTPToAudioFrame()),this.role&&!this.isLeadSinger&&(this.core.innerEmitter.on("254",C=>{let B=C.userId.split("_").pop()==="bgm",i=C.userId.split("_").pop()==="robot";B&&!this.isLeadSinger&&this.core.trtc.startRemoteVideo({userId:C.userId,streamType:C.streamType})}),this.core.trtc.on(this.core.TRTC.EVENT.SEI_MESSAGE,async C=>{let B=JSON.parse(new TextDecoder().decode(C.data));B.params.music_id=Gg(B.params.music_id),this.log.debug(`on SEI message: ${JSON.stringify(B)}`);let i=C.userId.split("_").pop()==="bgm";this.player.musicId!==B.params.music_id&&i&&!this.isLeadSinger&&(this.player.musicId=B.params.music_id,this.emit("require-load-music",B.params.music_id)),this.onLeadSingerPlayerState(B.params.play_state);let D=this.core.trtc.getNetworkTime()-+B.params.bgm_progress_update_ntp,E=B.params.progress===0?0:B.params.progress+D;this.log.debug(`e2e delay: ${D}`),this.fixBGMProgress(E),this.isAudience&&this.player.emit(this.player.EVENT.PROGRESS_UPDATED,{currentTime:E,duration:B.params.duration})}))}fixBGMProgress(g){if(!this.isBackSinger||!this.player.isPlaying)return;Math.abs(g-this.player.currentTime)>100&&(this.log.warn(`fix bgm progress: ${g-this.player.currentTime}`),this.player.currentTime=g)}startCDN(){if(!this.isLeadSinger)return;let g={roomId:this.core.room.useStringRoomId?void 0:+this.core.room.roomId,strRoomId:this.core.room.useStringRoomId?this.core.room.roomId:void 0};this.core.trtc.startPlugin("CDNStreaming",{target:{publishMode:$E,robotUser:gA({userId:`${this.core.room.roomId}_robot`},g)},encoding:{audioBitrate:128,audioChannels:2},mix:{videoLayoutList:[{fixedVideoUser:gA({userId:`${this.core.room.roomId}_bgm`},g),width:64,height:64,locationX:0,locationY:0,fixedVideoStreamType:"main",zOrder:1}]}})}startSendSEI(){this.trtcBGM&&(this.trtcBGM.startLocalVideo({option:{videoTrack:$g(this.core.Timer,g=>{this.clearBlackVideoTrack=g}),profile:{bitrate:50}}}),this.trtcBGM.on(this.core.TRTC.EVENT.PUBLISH_STATE_CHANGED,g=>{g.state==="started"&&this.sendSEIIntervalId<0&&(this.log.debug("start send sei"),this.sendSEIIntervalId=this.core.Timer.run("intervalInWorker",()=>{var B;if(!this.core.room.isJoined)return this.core.Timer.clearTask(this.sendSEIIntervalId);let C={api:"info",params:{music_id:RI(this.player.musicId)?this.player.musicId:FI(this.player.musicId),duration:this.player.duration,progress:this.player.currentTime,bgm_progress_update_ntp:String((this.trtcBGM||this.core.trtc).getNetworkTime()),bgm_start_ntp:String(this.bgmStartNTP),play_state:this.player.isPlaying?2:this.player.isStopped?1:3}};(B=this.trtcBGM)==null||B.sendSEIMessage(new TextEncoder().encode(JSON.stringify(C)).buffer)},{fps:5}))}))}async onStarted(){this.isOnStartedEmitted||(this.emit("started"),this.isOnStartedEmitted=!0,this.isAudience||(this.updateProgressAndPitchIntervalId=this.core.Timer.run("intervalInWorker",()=>{this.player.yinsudaClient.getRealTimePitch().then(g=>{this.emit("pitch-updated",{pitch:g.data.pitch})}),this.emit("progress_updated",{currentTime:this.player.currentTime,duration:this.player.duration})},{delay:this.BGM_AND_PITCH_UPDATE_INTERVAL})),this.isBackSinger&&(await this.player.downloadMusicPromise.promise,this.isBackSingerAutoStarted||(this.core.trtc.startPlugin("Chorus",{}),this.isBackSingerAutoStarted=!0)))}onStopped(){this.core.clearStarted(this,this.getGroup()),this.reset(),this.emit("stopped")}onLeadSingerPlayerState(g){switch(g){case 2:this.player.isPaused&&this.player.resume(),this.onStarted();break;case 3:this.player.pause();break;case 1:this.player&&!this.player.isStopped&&this.core.trtc.stopPlugin("Chorus");break;default:break}}getName(){return NA.Name}getAlias(){return"ktv"}getGroup(){return"ktv"}getValidateRule(g){switch(g){case"start":return GI;case"update":return hI;case"stop":return MI}}async start(g){typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),await this.player.play(),this.isLeadSinger&&this.onStarted()}async update(g){typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),g.bgmAction&&await this.player[g.bgmAction]()}async stop(){this.player.isStopped||(this.player.stop(),this.reset(),this.emit("stopped"))}reset(){var g;this.bgmStartNTP=0,this.isOnStartedEmitted=!1,this.isLeadSinger&&((g=this.clearBlackVideoTrack)==null||g.call(this),this.core.Timer.clearTask(this.sendSEIIntervalId),this.sendSEIIntervalId=-1),this.trtcBGM&&(this.trtcBGM.stopLocalAudio(),this.trtcBGM.stopLocalVideo()),this.isAudience||(this.player.yinsudaClient.reset(),this.core.Timer.clearTask(this.updateProgressAndPitchIntervalId),this.updateProgressAndPitchIntervalId=-1)}destroy(){this.stop(),this.trtcBGM&&(this.trtcBGM.room.audioManager.disableEncodeNTPToAudioFrame(),this.trtcBGM.exitRoom().then(()=>{var g;(g=this.trtcBGM)==null||g.destroy(),delete this.trtcBGM})),this.core.room.audioManager.disableEncodeNTPToAudioFrame(),delete this.core,this.player.off(this.player.EVENT.MUSIC_LOADED,this.onMusicLoaded,this),this.player.off(this.player.EVENT.PLAYING,this.onPlaying,this),this.player.off(this.player.EVENT.STOPPED,this.onStopped,this),delete this.player}};F(NA,"EVENT",UC),F(NA,"decodeIdWithPrefix",Gg),F(NA,"Name","Chorus");var Xg=NA;var di=Xg;export{Xg as Chorus,di as default};
23
+ `).map(B=>{let i=B.match(/\[(\d+),/);if(i)return+i[1]}).filter(B=>typeof B=="number"),C}async getPitch(g){let{pitch:C}=await Z.getPitchData({song_id:g});return this.log.info("getPitchData success"),this.pitchList=C,C}async play(){if(!this.originalPlayer||!this.accompanyPlayer)return;let g=this.originalPlayer.play(),C=this.accompanyPlayer.play();this.originalPlayer.setMuted(!this.useOriginalSong),this.accompanyPlayer.setMuted(this.useOriginalSong),this.originalPlayer.on("time-updated",B=>this.onTimeUpdated(this.originalPlayer,B)),this.originalPlayer.on("player-state-changed",B=>this.onPlayerStateChange(this.originalPlayer,B.state)),this.accompanyPlayer.on("time-updated",B=>this.onTimeUpdated(this.accompanyPlayer,B)),this.accompanyPlayer.on("player-state-changed",B=>this.onPlayerStateChange(this.accompanyPlayer,B.state));try{await(this.useOriginalSong?g:C)}catch(B){if(B.message.includes("NotAllowedError"))this.handleAutoPlayFailed();else throw B}}async pause(){var B,i;let g=(B=this.originalPlayer)==null?void 0:B.pause(),C=(i=this.accompanyPlayer)==null?void 0:i.pause();await Promise.all([g,C])}async resume(){var B,i;let g=(B=this.originalPlayer)==null?void 0:B.resume(),C=(i=this.accompanyPlayer)==null?void 0:i.resume();await Promise.all([g,C])}stop(){var g,C,B,i;(g=this.originalPlayer)==null||g.stop(),(C=this.accompanyPlayer)==null||C.stop(),(B=this.originalPlayer)==null||B.removeAllListeners(),(i=this.accompanyPlayer)==null||i.removeAllListeners(),delete this.bgmAudioTrack,this.audioSourceNodes.forEach(D=>D.disconnect())}switchMusicTrack(g){var C,B;this.useOriginalSong=g,(C=this.originalPlayer)==null||C.setMuted(!g),(B=this.accompanyPlayer)==null||B.setMuted(g)}onTimeUpdated(g,C){if(g===this.player&&(this.emit("progress_updated",{currentTime:C,duration:this.player.duration}),this.lyricStartTimeList)){let B=vE(C,this.lyricStartTimeList);B!==this.currentTimeIndex&&(this.currentTimeIndex=B,this.emit("current_time_index_updated",{currentTime:C,currentTimeIndex:B}))}}onPlayerStateChange(g,C){g===this.player&&(C==="PLAYING"?this.emit(this.EVENT.PLAYING):C==="PAUSED"?this.emit(this.EVENT.PAUSED):C==="STOPPED"&&(this.stop(),this.emit(this.EVENT.STOPPED)))}handleAutoPlayFailed(){if(this.core.room.enableAutoPlayDialog)new this.core.AutoPlayDialog;else{let g=()=>{var C;(C=this.player)==null||C.resume().then(()=>{document.removeEventListener("click",g,!0)})};document.addEventListener("click",g,!0)}}initBGMAudioTrack(){var D,E;if(this.bgmAudioTrack)return this.bgmAudioTrack;if(!((D=this.originalPlayer)!=null&&D.element)||!((E=this.accompanyPlayer)!=null&&E.element))return;let{audioContext:g}=this.core,C=g.createMediaElementSource(this.originalPlayer.element),B=g.createMediaElementSource(this.accompanyPlayer.element),i=g.createMediaStreamDestination();return C.connect(i),B.connect(i),C.connect(g.destination),B.connect(g.destination),this.bgmAudioTrack=i.stream.getAudioTracks()[0],this.audioSourceNodes=[C,B],this.bgmAudioTrack}setVolume(g){var C,B;g<0||g>100||(this.volume=g,(C=this.originalPlayer)==null||C.setVolume(this.volume/100),(B=this.accompanyPlayer)==null||B.setVolume(this.volume/100))}};var YC=_g(Zg(),1);function _E(I){let A=new Int16Array(I.length);for(let g=0;g<I.length;g++){let C=Math.round(I[g]*32767),B=Math.max(-32768,Math.min(32767,C));A[g]=B}return A}var $E="publish-mix-stream-to-room",UC=(D=>(D.STARTED="started",D.STOPPED="stopped",D.REQUIRE_LOAD_MUSIC="require-load-music",D.SCORE_UPDATED="score-updated",D.PITCH_UPDATED="pitch-updated",D.PROGRESS_UPDATED="progress_updated",D))(UC||{}),NA=class NA extends YC.EventEmitter{constructor(g){super();this.core=g;F(this,"trtcBGM");F(this,"log");F(this,"player");F(this,"role");F(this,"bgmStartNTP",0);F(this,"sendSEIIntervalId",-1);F(this,"updateProgressAndPitchIntervalId",-1);F(this,"clearBlackVideoTrack");F(this,"BGM_AND_PITCH_UPDATE_INTERVAL",100);F(this,"isOnStartedEmitted",!1);F(this,"isBackSingerAutoStarted",!1);this.log=g.log.createChild({id:NA.Name}),this.player=new Ng(this.core),this.player.on(this.player.EVENT.MUSIC_LOADED,this.onMusicLoaded,this),this.player.on(this.player.EVENT.PLAYING,this.onPlaying,this),this.player.on(this.player.EVENT.STOPPED,this.onStopped,this),this.core.room.audioManager.enableEncodeNTPToAudioFrame()}get isLeadSinger(){return this.role==="LeadSinger"||this.trtcBGM}get isBackSinger(){return this.role==="BackSinger"}get isAudience(){return this.role==="audience"}onMusicLoaded(){if(this.isLeadSinger&&this.startSendSEI(),this.isLeadSinger||this.isBackSinger)try{this.player.yinsudaClient.initKtvScoreClient({song_id:this.player.musicId}),this.core.trtc.on(this.core.TRTC.EVENT.TRACK,g=>{if(g.track.kind==="audio"){let C=g.track.getSettings();this.player.yinsudaClient.setAudioParams({sampleRate:C.sampleRate||48e3,channels:C.channelCount||1})}}),this.core.trtc.on(this.core.TRTC.EVENT.AUDIO_FRAME,g=>{this.player.yinsudaClient.processScore({buffer:_E(g.data),pts:this.player.currentTime})}),this.player.on(this.player.EVENT.CURRENT_TIME_INDEX_UPDATED,({currentTime:g})=>{Promise.all([this.player.yinsudaClient.getScore({pts:g}).then(C=>Math.max(0,C.data.score)),this.player.yinsudaClient.getAverageScore({pts:g}).then(C=>C.data.averageScore),this.player.yinsudaClient.getTotalScore({pts:g}).then(C=>({totalScore:C.data.totalScore,maxScore:C.data.wholeScore}))]).then(([C,B,{totalScore:i,maxScore:D}])=>{this.emit("score-updated",{score:C,averageScore:B,totalScore:i,maxScore:D})})})}catch(g){this.log.error(g)}}onPlaying(){var g;this.isLeadSinger&&!this.bgmStartNTP&&(this.bgmStartNTP=this.core.trtc.getNetworkTime(),(g=this.trtcBGM)==null||g.startLocalAudio({option:{audioTrack:this.player.initBGMAudioTrack(),echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1,profile:"high"}}))}isNeedToEmitStreamEvent(g,C){let B=g.split("_").pop()==="bgm",i=g.split("_").pop()==="robot";return!((this.isLeadSinger||this.isBackSinger)&&(B||i)||this.isAudience&&i)}async initialize(g){this.log.info(`initialize ${JSON.stringify(g)}`),g.role&&(this.role=g.role),g.updateInterval&&(this.BGM_AND_PITCH_UPDATE_INTERVAL=g.updateInterval),await this.player.initialize(g),g.sdkAppId&&(this.trtcBGM=this.core.TRTC.create({enableSEI:!0}),this.trtcBGM.room.enableChorus=!0,await this.trtcBGM.enterRoom({sdkAppId:g.sdkAppId,userId:g.userId,userSig:g.userSig,roomId:g.roomId,strRoomId:g.strRoomId,role:this.core.TRTC.TYPE.ROLE_ANCHOR,autoReceiveAudio:!1}),this.trtcBGM.room.audioManager.enableEncodeNTPToAudioFrame()),this.role&&!this.isLeadSinger&&(this.core.innerEmitter.on("254",C=>{let B=C.userId.split("_").pop()==="bgm",i=C.userId.split("_").pop()==="robot";B&&!this.isLeadSinger&&this.core.trtc.startRemoteVideo({userId:C.userId,streamType:C.streamType})}),this.core.trtc.on(this.core.TRTC.EVENT.SEI_MESSAGE,async C=>{let B=JSON.parse(new TextDecoder().decode(C.data));B.params.music_id=Gg(B.params.music_id),this.log.debug(`on SEI message: ${JSON.stringify(B)}`);let i=C.userId.split("_").pop()==="bgm";this.player.musicId!==B.params.music_id&&i&&!this.isLeadSinger&&(this.player.musicId=B.params.music_id,this.emit("require-load-music",B.params.music_id)),this.onLeadSingerPlayerState(B.params.play_state);let D=this.core.trtc.getNetworkTime()-+B.params.bgm_progress_update_ntp,E=B.params.progress===0?0:B.params.progress+D;this.log.debug(`e2e delay: ${D}`),this.fixBGMProgress(E),this.isAudience&&this.player.emit(this.player.EVENT.PROGRESS_UPDATED,{currentTime:E,duration:B.params.duration})}))}fixBGMProgress(g){if(!this.isBackSinger||!this.player.isPlaying)return;Math.abs(g-this.player.currentTime)>100&&(this.log.warn(`fix bgm progress: ${g-this.player.currentTime}`),this.player.currentTime=g)}startCDN(){if(!this.isLeadSinger)return;let g={roomId:this.core.room.useStringRoomId?void 0:+this.core.room.roomId,strRoomId:this.core.room.useStringRoomId?this.core.room.roomId:void 0};this.core.trtc.startPlugin("CDNStreaming",{target:{publishMode:$E,robotUser:gA({userId:`${this.core.room.roomId}_robot`},g)},encoding:{audioBitrate:128,audioChannels:2},mix:{videoLayoutList:[{fixedVideoUser:gA({userId:`${this.core.room.roomId}_bgm`},g),width:64,height:64,locationX:0,locationY:0,fixedVideoStreamType:"main",zOrder:1}]}})}startSendSEI(){this.trtcBGM&&(this.trtcBGM.startLocalVideo({option:{videoTrack:$g(this.core.Timer,g=>{this.clearBlackVideoTrack=g}),profile:{bitrate:50}}}),this.trtcBGM.on(this.core.TRTC.EVENT.PUBLISH_STATE_CHANGED,g=>{g.state==="started"&&this.sendSEIIntervalId<0&&(this.log.debug("start send sei"),this.sendSEIIntervalId=this.core.Timer.run("intervalInWorker",()=>{var B;if(!this.core.room.isJoined)return this.core.Timer.clearTask(this.sendSEIIntervalId);let C={api:"info",params:{music_id:RI(this.player.musicId)?this.player.musicId:FI(this.player.musicId),duration:this.player.duration,progress:this.player.currentTime,bgm_progress_update_ntp:String((this.trtcBGM||this.core.trtc).getNetworkTime()),bgm_start_ntp:String(this.bgmStartNTP),play_state:this.player.isPlaying?2:this.player.isStopped?1:3}};(B=this.trtcBGM)==null||B.sendSEIMessage(new TextEncoder().encode(JSON.stringify(C)).buffer)},{fps:5}))}))}async onStarted(){this.isOnStartedEmitted||(this.emit("started"),this.isOnStartedEmitted=!0,this.isAudience||(this.updateProgressAndPitchIntervalId=this.core.Timer.run("intervalInWorker",()=>{this.player.yinsudaClient.getRealTimePitch().then(g=>{this.emit("pitch-updated",{pitch:g.data.pitch})}),this.emit("progress_updated",{currentTime:this.player.currentTime,duration:this.player.duration})},{delay:this.BGM_AND_PITCH_UPDATE_INTERVAL})),this.isBackSinger&&(await this.player.downloadMusicPromise.promise,this.isBackSingerAutoStarted||(this.core.trtc.startPlugin("Chorus",{}),this.isBackSingerAutoStarted=!0)))}onStopped(){this.core.clearStarted(this,this.getGroup()),this.reset(),this.emit("stopped")}onLeadSingerPlayerState(g){switch(g){case 2:this.player.isPaused&&this.player.resume(),this.onStarted();break;case 3:this.player.pause();break;case 1:this.player&&!this.player.isStopped&&this.core.trtc.stopPlugin("Chorus");break;default:break}}getName(){return NA.Name}getAlias(){return"ktv"}getGroup(){return"ktv"}getValidateRule(g){switch(g){case"start":return GI;case"update":return hI;case"stop":return MI}}async start(g){typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),await this.player.play(),this.isLeadSinger&&this.onStarted()}async update(g){typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),g.bgmAction&&await this.player[g.bgmAction]()}async stop(){this.player.isStopped||(this.player.stop(),this.reset(),this.emit("stopped"))}reset(){var g;this.bgmStartNTP=0,this.isOnStartedEmitted=!1,this.isLeadSinger&&((g=this.clearBlackVideoTrack)==null||g.call(this),this.core.Timer.clearTask(this.sendSEIIntervalId),this.sendSEIIntervalId=-1),this.trtcBGM&&(this.trtcBGM.stopLocalAudio(),this.trtcBGM.stopLocalVideo()),this.isAudience||(this.player.yinsudaClient.reset(),this.core.Timer.clearTask(this.updateProgressAndPitchIntervalId),this.updateProgressAndPitchIntervalId=-1)}destroy(){this.stop(),this.trtcBGM&&(this.trtcBGM.room.audioManager.disableEncodeNTPToAudioFrame(),this.trtcBGM.exitRoom().then(()=>{var g;(g=this.trtcBGM)==null||g.destroy(),delete this.trtcBGM})),this.core.room.audioManager.disableEncodeNTPToAudioFrame(),delete this.core,this.player.off(this.player.EVENT.MUSIC_LOADED,this.onMusicLoaded,this),this.player.off(this.player.EVENT.PLAYING,this.onPlaying,this),this.player.off(this.player.EVENT.STOPPED,this.onStopped,this),delete this.player}};F(NA,"EVENT",UC),F(NA,"decodeIdWithPrefix",Gg),F(NA,"Name","Chorus");var Xg=NA;var di=Xg;export{Xg as Chorus,di as default};
@@ -20,4 +20,4 @@ return ret;
20
20
  `),t+=`};
21
21
  `,D.push(t);var N=iC(Function,D).apply(null,E);return i=TQ(N),HI[B]=i,i}function WQ(I){I>4&&(W.get(I).refcount+=1)}function OQ(I,A){I=og(I,"_emval_take_value");var g=I.readValueFromPointer(A);return wA.toHandle(g)}function VQ(){YA("")}function PQ(){return Date.now()}function jQ(I,A,g){u.copyWithin(I,A,A+g)}function ZQ(I){YA("OOM")}function XQ(I){u.length,ZQ()}var Sg={};function zQ(){return lg||"./this.program"}function lA(){if(!lA.strings){var I=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",A={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:I,_:zQ()};for(var g in Sg)Sg[g]===void 0?delete A[g]:A[g]=Sg[g];var C=[];for(var g in A)C.push(g+"="+A[g]);lA.strings=C}return lA.strings}function vQ(I,A){for(var g=0;g<I.length;++g)O[A++>>0]=I.charCodeAt(g);O[A>>0]=0}function _Q(I,A){var g=0;return lA().forEach(function(C,B){var i=A+g;n[I+B*4>>2]=i,vQ(C,i),g+=C.length+1}),0}function $Q(I,A){var g=lA();n[I>>2]=g.length;var C=0;return g.forEach(function(B){C+=B.length+1}),n[A>>2]=C,0}function AE(I){return 52}function gE(I,A,g,C,B){return 70}var IE=[null,[],[]];function CE(I,A){var g=IE[I];A===0||A===10?((I===1?EB:LA)(aC(g,0)),g.length=0):g.push(A)}function BE(I,A,g,C){for(var B=0,i=0;i<g;i++){var D=n[A>>2],E=n[A+4>>2];A+=8;for(var Q=0;Q<E;Q++)CE(I,u[D+Q]);B+=E}return n[C>>2]=B,0}function XA(I){return I%4===0&&(I%100!==0||I%400===0)}function QE(I,A){for(var g=0,C=0;C<=A;g+=I[C++]);return g}var tC=[31,29,31,30,31,30,31,31,30,31,30,31],wC=[31,28,31,30,31,30,31,31,30,31,30,31];function EE(I,A){for(var g=new Date(I.getTime());A>0;){var C=XA(g.getFullYear()),B=g.getMonth(),i=(C?tC:wC)[B];if(A>i-g.getDate())A-=i-g.getDate()+1,g.setDate(1),B<11?g.setMonth(B+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1));else return g.setDate(g.getDate()+A),g}return g}function iE(I,A,g){var C=Og(I)+1,B=new Array(C);return DC(I,B,0,B.length),B}function oE(I,A){O.set(I,A)}function DE(I,A,g,C){var B=L[C+40>>2],i={tm_sec:L[C>>2],tm_min:L[C+4>>2],tm_hour:L[C+8>>2],tm_mday:L[C+12>>2],tm_mon:L[C+16>>2],tm_year:L[C+20>>2],tm_wday:L[C+24>>2],tm_yday:L[C+28>>2],tm_isdst:L[C+32>>2],tm_gmtoff:L[C+36>>2],tm_zone:B?kg(B):""},D=kg(g),E={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var Q in E)D=D.replace(new RegExp(Q,"g"),E[Q]);var o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],s=["January","February","March","April","May","June","July","August","September","October","November","December"];function t(w,e,m){for(var J=typeof w=="number"?w.toString():w||"";J.length<e;)J=m[0]+J;return J}function y(w,e){return t(w,e,"0")}function N(w,e){function m(EA){return EA<0?-1:EA>0?1:0}var J;return(J=m(w.getFullYear()-e.getFullYear()))===0&&(J=m(w.getMonth()-e.getMonth()))===0&&(J=m(w.getDate()-e.getDate())),J}function R(w){switch(w.getDay()){case 0:return new Date(w.getFullYear()-1,11,29);case 1:return w;case 2:return new Date(w.getFullYear(),0,3);case 3:return new Date(w.getFullYear(),0,2);case 4:return new Date(w.getFullYear(),0,1);case 5:return new Date(w.getFullYear()-1,11,31);case 6:return new Date(w.getFullYear()-1,11,30)}}function h(w){var e=EE(new Date(w.tm_year+1900,0,1),w.tm_yday),m=new Date(e.getFullYear(),0,4),J=new Date(e.getFullYear()+1,0,4),EA=R(m),xA=R(J);return N(EA,e)<=0?N(xA,e)<=0?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var S={"%a":function(w){return o[w.tm_wday].substring(0,3)},"%A":function(w){return o[w.tm_wday]},"%b":function(w){return s[w.tm_mon].substring(0,3)},"%B":function(w){return s[w.tm_mon]},"%C":function(w){var e=w.tm_year+1900;return y(e/100|0,2)},"%d":function(w){return y(w.tm_mday,2)},"%e":function(w){return t(w.tm_mday,2," ")},"%g":function(w){return h(w).toString().substring(2)},"%G":function(w){return h(w)},"%H":function(w){return y(w.tm_hour,2)},"%I":function(w){var e=w.tm_hour;return e==0?e=12:e>12&&(e-=12),y(e,2)},"%j":function(w){return y(w.tm_mday+QE(XA(w.tm_year+1900)?tC:wC,w.tm_mon-1),3)},"%m":function(w){return y(w.tm_mon+1,2)},"%M":function(w){return y(w.tm_min,2)},"%n":function(){return`
22
22
  `},"%p":function(w){return w.tm_hour>=0&&w.tm_hour<12?"AM":"PM"},"%S":function(w){return y(w.tm_sec,2)},"%t":function(){return" "},"%u":function(w){return w.tm_wday||7},"%U":function(w){var e=w.tm_yday+7-w.tm_wday;return y(Math.floor(e/7),2)},"%V":function(w){var e=Math.floor((w.tm_yday+7-(w.tm_wday+6)%7)/7);if((w.tm_wday+371-w.tm_yday-2)%7<=2&&e++,e){if(e==53){var m=(w.tm_wday+371-w.tm_yday)%7;m!=4&&(m!=3||!XA(w.tm_year))&&(e=1)}}else{e=52;var J=(w.tm_wday+7-w.tm_yday-1)%7;(J==4||J==5&&XA(w.tm_year%400-1))&&e++}return y(e,2)},"%w":function(w){return w.tm_wday},"%W":function(w){var e=w.tm_yday+7-(w.tm_wday+6)%7;return y(Math.floor(e/7),2)},"%y":function(w){return(w.tm_year+1900).toString().substring(2)},"%Y":function(w){return w.tm_year+1900},"%z":function(w){var e=w.tm_gmtoff,m=e>=0;return e=Math.abs(e)/60,e=e/60*100+e%60,(m?"+":"-")+("0000"+e).slice(-4)},"%Z":function(w){return w.tm_zone},"%%":function(){return"%"}};D=D.replace(/%%/g,"\0\0");for(var Q in S)D.includes(Q)&&(D=D.replace(new RegExp(Q,"g"),S[Q](i)));D=D.replace(/\0\0/g,"%");var U=iE(D);return U.length>A?0:(oE(U,I),U.length-1)}function sE(I,A,g,C,B){return DE(I,A,g,C)}function aE(I){Bg=I,tB()||(a.onExit&&a.onExit(I),ug=!0),fg(I,new zI(I))}function tE(I,A){Bg=I,aE(I)}function wE(I){if(I instanceof zI||I=="unwind")return Bg;fg(1,I)}function yE(I){var A=Og(I)+1,g=Pg(A);return sC(I,g,A),g}MA=a.BindingError=ig(Error,"BindingError");HB();vI=a.PureVirtualError=ig(Error,"PureVirtualError");dB();pB();CC=a.InternalError=ig(Error,"InternalError");$B();iQ();EC=a.UnboundTypeError=ig(Error,"UnboundTypeError");var eE={d:YB,p:WB,r:OB,y:VB,H:PB,h:aQ,j:tQ,m:wQ,a:yQ,J:eQ,G:NQ,k:rQ,b:FQ,v:GQ,K:hQ,i:SQ,c:nQ,u:LQ,o:dQ,s:lQ,l:fQ,I:uQ,f:qQ,e:oC,g:xQ,q:WQ,w:OQ,n:VQ,D:PQ,E:jQ,C:XQ,A:_Q,B:$Q,F:AE,x:gE,t:BE,z:sE};nB();var yC=a._main=function(){return(yC=a._main=a.asm.N).apply(null,arguments)},Vg=function(){return(Vg=a.asm.O).apply(null,arguments)},v=function(){return(v=a.asm.Q).apply(null,arguments)},eC=function(){return(eC=a.asm.R).apply(null,arguments)};a.__embind_initialize_bindings=function(){return(a.__embind_initialize_bindings=a.asm.S).apply(null,arguments)};var Pg=function(){return(Pg=a.asm.T).apply(null,arguments)},NC=function(){return(NC=a.asm.U).apply(null,arguments)};a.dynCall_jiji=function(){return(a.dynCall_jiji=a.asm.V).apply(null,arguments)};a.dynCall_iiiiij=function(){return(a.dynCall_iiiiij=a.asm.W).apply(null,arguments)};a.dynCall_iiiiijj=function(){return(a.dynCall_iiiiijj=a.asm.X).apply(null,arguments)};a.dynCall_iiiiiijj=function(){return(a.dynCall_iiiiiijj=a.asm.Y).apply(null,arguments)};var Ig;HA=function I(){Ig||cC(),Ig||(HA=I)};function NE(I=[]){var A=yC;I.unshift(lg);var g=I.length,C=Pg((g+1)*4),B=C>>2;I.forEach(D=>{L[B++]=yE(D)}),L[B]=0;try{var i=A(g,C);return tE(i,!0),i}catch(D){return wE(D)}}function cC(I=mI){if(sA>0||(wB(),sA>0))return;function A(){Ig||(Ig=!0,a.calledRun=!0,!ug&&(yB(),eB(),a.onRuntimeInitialized&&a.onRuntimeInitialized(),rC&&NE(I),NB()))}a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1),A()},1)):A()}if(a.preInit)for(typeof a.preInit=="function"&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();var rC=!0;a.noInitialRun&&(rC=!1);cC();var dI=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",1,2,3,4,5,6,7,8,9,0];function cE(I){let A="";for(let g=0;g<I;g++){let C=Math.floor(Math.random()*dI.length);A+=dI[C]}return A}var fA=null,Hg={},rE=async(I,A,g)=>(I.postMessage({action:"translate",url:g,data:A,seq:1},[A]),await new Promise(C=>{Hg[1]=B=>{C(B)}})),FE=I=>{fA=new Worker(I),fA.postMessage({action:"load"}),fA.onmessage=A=>{let{seq:g,cmd:C}=(A==null?void 0:A.data)||{};if(C==="convert"&&!isNaN(g)){let B=Hg[g];B&&(B(A.data),delete Hg[g])}}},ng=async I=>{if(fA){let A=fA;return fetch(I).then(g=>g.arrayBuffer()).then(async g=>rE(A,g,"id"))}else return Promise.resolve({error:1,msg:"no decode worker"})},kA="9gp0ag5qeuhy1ig8gmqxu2hwxex9j1iz",f={ERR_PUB_UNKOWN:2e5,ERR_PUB_PARAMS:200001,ERR_PUB_BUSY:200002,ERR_PUB_AUTH:200003,ERR_PUB_UNREG:200004,ERR_PUB_UNIMPL:200005,ERR_PUB_SYSTEM:200006,ERR_PUB_RIGHT:200007,ERR_NO_DATA:200008,ERR_PUB_FREQUENCY:200009,ERR_PUB_QPSLIMITED:200010,ERR_PUB_COPYRIGHT:200011,ERR_AUTO:200300,ERR_NOT_INIT_CODEC:3e5},RE="anonymous",GE="password";function BA(I,A){var g=(I&65535)+(A&65535),C=(I>>16)+(A>>16)+(g>>16);return C<<16|g&65535}function hE(I,A){return I<<A|I>>>32-A}function wg(I,A,g,C,B,i){return BA(hE(BA(BA(A,I),BA(C,i)),B),g)}function k(I,A,g,C,B,i,D){return wg(A&g|~A&C,I,A,B,i,D)}function K(I,A,g,C,B,i,D){return wg(A&C|g&~C,I,A,B,i,D)}function H(I,A,g,C,B,i,D){return wg(A^g^C,I,A,B,i,D)}function d(I,A,g,C,B,i,D){return wg(g^(A|~C),I,A,B,i,D)}function ME(I,A){I[A>>5]|=128<<A%32,I[(A+64>>>9<<4)+14]=A;var g,C,B,i,D,E=1732584193,Q=-271733879,o=-1732584194,s=271733878;for(g=0;g<I.length;g+=16)C=E,B=Q,i=o,D=s,E=k(E,Q,o,s,I[g],7,-680876936),s=k(s,E,Q,o,I[g+1],12,-389564586),o=k(o,s,E,Q,I[g+2],17,606105819),Q=k(Q,o,s,E,I[g+3],22,-1044525330),E=k(E,Q,o,s,I[g+4],7,-176418897),s=k(s,E,Q,o,I[g+5],12,1200080426),o=k(o,s,E,Q,I[g+6],17,-1473231341),Q=k(Q,o,s,E,I[g+7],22,-45705983),E=k(E,Q,o,s,I[g+8],7,1770035416),s=k(s,E,Q,o,I[g+9],12,-1958414417),o=k(o,s,E,Q,I[g+10],17,-42063),Q=k(Q,o,s,E,I[g+11],22,-1990404162),E=k(E,Q,o,s,I[g+12],7,1804603682),s=k(s,E,Q,o,I[g+13],12,-40341101),o=k(o,s,E,Q,I[g+14],17,-1502002290),Q=k(Q,o,s,E,I[g+15],22,1236535329),E=K(E,Q,o,s,I[g+1],5,-165796510),s=K(s,E,Q,o,I[g+6],9,-1069501632),o=K(o,s,E,Q,I[g+11],14,643717713),Q=K(Q,o,s,E,I[g],20,-373897302),E=K(E,Q,o,s,I[g+5],5,-701558691),s=K(s,E,Q,o,I[g+10],9,38016083),o=K(o,s,E,Q,I[g+15],14,-660478335),Q=K(Q,o,s,E,I[g+4],20,-405537848),E=K(E,Q,o,s,I[g+9],5,568446438),s=K(s,E,Q,o,I[g+14],9,-1019803690),o=K(o,s,E,Q,I[g+3],14,-187363961),Q=K(Q,o,s,E,I[g+8],20,1163531501),E=K(E,Q,o,s,I[g+13],5,-1444681467),s=K(s,E,Q,o,I[g+2],9,-51403784),o=K(o,s,E,Q,I[g+7],14,1735328473),Q=K(Q,o,s,E,I[g+12],20,-1926607734),E=H(E,Q,o,s,I[g+5],4,-378558),s=H(s,E,Q,o,I[g+8],11,-2022574463),o=H(o,s,E,Q,I[g+11],16,1839030562),Q=H(Q,o,s,E,I[g+14],23,-35309556),E=H(E,Q,o,s,I[g+1],4,-1530992060),s=H(s,E,Q,o,I[g+4],11,1272893353),o=H(o,s,E,Q,I[g+7],16,-155497632),Q=H(Q,o,s,E,I[g+10],23,-1094730640),E=H(E,Q,o,s,I[g+13],4,681279174),s=H(s,E,Q,o,I[g],11,-358537222),o=H(o,s,E,Q,I[g+3],16,-722521979),Q=H(Q,o,s,E,I[g+6],23,76029189),E=H(E,Q,o,s,I[g+9],4,-640364487),s=H(s,E,Q,o,I[g+12],11,-421815835),o=H(o,s,E,Q,I[g+15],16,530742520),Q=H(Q,o,s,E,I[g+2],23,-995338651),E=d(E,Q,o,s,I[g],6,-198630844),s=d(s,E,Q,o,I[g+7],10,1126891415),o=d(o,s,E,Q,I[g+14],15,-1416354905),Q=d(Q,o,s,E,I[g+5],21,-57434055),E=d(E,Q,o,s,I[g+12],6,1700485571),s=d(s,E,Q,o,I[g+3],10,-1894986606),o=d(o,s,E,Q,I[g+10],15,-1051523),Q=d(Q,o,s,E,I[g+1],21,-2054922799),E=d(E,Q,o,s,I[g+8],6,1873313359),s=d(s,E,Q,o,I[g+15],10,-30611744),o=d(o,s,E,Q,I[g+6],15,-1560198380),Q=d(Q,o,s,E,I[g+13],21,1309151649),E=d(E,Q,o,s,I[g+4],6,-145523070),s=d(s,E,Q,o,I[g+11],10,-1120210379),o=d(o,s,E,Q,I[g+2],15,718787259),Q=d(Q,o,s,E,I[g+9],21,-343485551),E=BA(E,C),Q=BA(Q,B),o=BA(o,i),s=BA(s,D);return[E,Q,o,s]}function SE(I){var A,g="",C=I.length*32;for(A=0;A<C;A+=8)g+=String.fromCharCode(I[A>>5]>>>A%32&255);return g}function nE(I){var A,g=[];for(g[(I.length>>2)-1]=void 0,A=0;A<g.length;A+=1)g[A]=0;var C=I.length*8;for(A=0;A<C;A+=8)g[A>>5]|=(I.charCodeAt(A/8)&255)<<A%32;return g}function LE(I){return SE(ME(nE(I),I.length*8))}function YE(I){var A="0123456789abcdef",g="",C,B;for(B=0;B<I.length;B+=1)C=I.charCodeAt(B),g+=A.charAt(C>>>4&15)+A.charAt(C&15);return g}function UE(I){return unescape(encodeURIComponent(I))}function JE(I){return LE(UE(I))}function kE(I){return YE(JE(I))}function KE(I,A,g){return kE(I)}var QA,rA,AA=window,KA=AA.document,HE=/^(?:text|application)\/javascript/i,dE=/^(?:text|application)\/xml/i,FC="application/json",RC="text/html",lE=/^\s*$/,fE="jsonpcallback=?",uE=Object.prototype.toString,lI=encodeURIComponent,_=function(){},V=function(I){return uE.call(I).toLowerCase().slice(8,-1)},zA=[];function jg(I){let A={index:100,name:"anonymity",fn:_},g=V(I);if(g==="function")zA.push(Cg(A,{fn:I}));else if(g==="object"){if(zA.find(C=>C.name===I.name&&C.index===I.index))return;zA.push(Cg(A,I))}else g==="array"&&I.forEach(jg)}function yg(I,A,g,C){return V(A)==="function"&&(C=g,g=A,A=void 0),V(g)!=="function"&&(C=g,g=void 0),{url:I,data:A,success:g,dataType:C}}function pE(I){let A="text";return I&&(I=I.split(";",2)[0]),I==RC?A="html":I==FC?A="json":HE.test(I)?A="script":dE.test(I)&&(A="xml"),A}function dg(I,A){return A===""?I:(I+"&"+A).replace(/[&?]{1,2}/,"?")}function mE(I){I.data&&V(I.data)==="object"&&(I.data=qE(I.data)),I.data&&(!I.type||I.type.toUpperCase()==="GET"||I.dataType==="jsonp")&&(I.url=dg(I.url,I.data))}function GC(I,A,g,C){let B,i=V(A)==="array";for(let D in A)B=A[D],C&&(D=C+"["+(i?"":D)+"]"),!C&&i?I.add(B.name,B.value):V(B)==="array"||V(B)==="object"?GC(I,B,g,D):I.add(D,B)}function qE(I,A){let g=[];return g.add=function(C,B){V(B)==="function"&&(B=B()),B==null&&(B=""),this.push(lI(C)+"="+lI(B))},GC(g,I,A),g.join("&").replace(/%20/g,"+")}function Cg(I){return Array.prototype.slice.call(arguments,1).forEach(function(A){for(QA in A)A[QA]!==void 0&&(I[QA]=A[QA])}),I}function TE(I,A,g){let C=M.settings[A];return V(C)==="function"&&C.call(I,g),!0}function eA(I,A,g,C){if(I.global)return TE(A||KA,g,C)}function bE(I){I.global&&M.active++===0&&eA(I,null,"ajaxStart")}function xE(I){I.global&&!--M.active&&eA(I,null,"ajaxStop")}function hC(I,A){let g=A.context;if(A.beforeSend.call(g,I,A)===!1||eA(A,g,"ajaxBeforeSend",[I,A])===!1)return!1;eA(A,g,"ajaxSend",[I,A])}function MC(I,A,g){let C=g.context,B="success";typeof g.success=="function"&&g.success.call(C,I,B,A),eA(g,C,"ajaxSuccess",[A,g,I]),SC(B,A,g)}function GA(I,A,g,C){let B=C.context;typeof C.error=="function"&&C.error.call(B,g,A,I),eA(C,B,"ajaxError",[g,C,I]),SC(A,g,C)}function SC(I,A,g){let C=g.context;typeof g.complete=="function"&&g.complete.call(C,A,I),eA(g,C,"ajaxComplete",[A,g]),xE(g)}function WE(I){let A,g=I.jsonpCallback||"jsonp"+I.url.replace(/[^a-zA-Z0-9]+/g,""),C=KA.createElement("script"),B=KA.head||KA.getElementsByTagName("head")[0]||KA.documentElement,i=AA[g],D=function(o){C&&C.onload&&C.onload({type:"error"},o||"abort")},E={abort:D},Q;return C.onload=C.onerror=function(o,s){clearTimeout(Q),C.onload=C.onerror=_,B&&C.parentNode&&B.removeChild(C),C=void 0,o&&o.type=="error"||!A&&I.dataType==="jsonp"?GA(null,s||"error",E,I):MC(A,E,I),AA[g]=i||_,A&&V(i)==="function"&&i(A),i=A=void 0},hC(E,I)===!1?(D("abort"),E):(AA[g]=function(o){A=o},C.src=I.url.replace(/\?(.+)=\?/,"?$1="+g),B.insertBefore(C,B.firstChild),I.timeout>0&&(Q=setTimeout(function(){D("timeout")},I.timeout)),E)}var M=function(I){let A,g,C,B;B=zA.sort(function(t,y){return y.index-t.index}),B.forEach(function(t){let y;if(t&&V(t.fn)==="function")try{y=t.fn(I)}catch(N){}y&&(I=y)}),A=Cg({},I||{});for(QA in M.settings)A[QA]===void 0&&(A[QA]=M.settings[QA]);if(bE(A),A.crossDomain||(A.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(A.url)&&RegExp.$2!==AA.location.host),A.url||(A.url=AA.location.toString()),mE(A),g=A.dataType,C=/\?.+=\?/.test(A.url),C&&(g="jsonp"),A.cache===!1&&(A.url=dg(A.url,"_="+new Date().getTime())),g==="jsonp"||g==="script")return g==="jsonp"&&!C&&(A.url=dg(A.url,A.jsonp?A.jsonp+"=?":A.jsonp===!1?"":fE)),WE(A);let i=A.accepts[g],D={},E=/^([\w-]+:)\/\//.test(A.url)?RegExp.$1:AA.location.protocol,Q=A.xhr(),o;if(A.crossDomain||(D["X-Requested-With"]="XMLHttpRequest"),D.Accept=i||"*/*",i&&(i.indexOf(",")>-1&&(i=i.split(",",2)[0]),Q.overrideMimeType&&Q.overrideMimeType(i)),(A.contentType||A.contentType!==!1&&A.data&&A.type.toUpperCase()!="GET")&&(D["Content-Type"]=A.contentType||"application/x-www-form-urlencoded"),A.headers=Cg(D,A.headers||{}),Q.onreadystatechange=function(){if(Q.readyState==4){Q.onreadystatechange=_,clearTimeout(o);let t,y=!1;if(Q.status>=200&&Q.status<300||Q.status==304||Q.status==0&&E=="file:"){if(g=g||pE(Q.getResponseHeader("content-type")),Q.responseType=="arraybuffer"||Q.responseType=="blob")t=Q.response;else{t=Q.responseText;try{g=="script"?(0,eval)(t):g=="xml"?t=Q.responseXML:g=="json"&&(t=lE.test(t)?null:JSON.parse(t))}catch(N){y=N}if(y)return GA(y,"parsererror",Q,A)}MC(t,Q,A)}else GA(Q.statusText||null,Q.status?"error":"abort",Q,A)}},hC(Q,A)===!1)return Q.abort(),A.customAbort||GA(null,"abort",Q,A),Q;let s="async"in A?A.async:!0;if(Q.open(A.type,A.url,s,A.username,A.password),A.xhrFields)for(rA in A.xhrFields)Q[rA]=A.xhrFields[rA];for(rA in A.headers)Q.setRequestHeader(rA,A.headers[rA]);A.timeout>0&&(o=setTimeout(function(){Q.onreadystatechange=_,Q.abort(),GA(null,"timeout",Q,A)},A.timeout));try{Q.send(A.data?A.data:null)}catch(t){if(A.async||clearTimeout(o),A.catchSendError)GA(t,"error",Q,A);else throw t}return Q};M.active=0;M.settings={type:"GET",dataType:"json",beforeSend:_,success:_,error:_,complete:_,context:null,global:!0,xhr:function(){return new AA.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:FC,xml:"application/xml, text/xml",html:RC,text:"text/plain"},crossDomain:!1,timeout:0,cache:!0};M.get=function(){return M(yg.apply(null,arguments))};M.post=function(){let I=yg.apply(null,arguments);return I.type="POST",M(I)};M.jsonp=function(){let I=yg.apply(null,arguments);return I.dataType="jsonp",M(I)};M.script=function(){let I=yg.apply(null,arguments);return I.dataType="script",M(I)};M.fetch=I=>new Promise((A,g)=>{M(OA(gA({},I),{success:A,error:g}))});M.pushInterceptors=jg;M.version="<%= version %>";jg(AA.FxAjaxInterceptors);var eg=(I={})=>{let A=gA({pid:"",sp:"KG",device_id:kA,client_ip:"127.0.0.1",timestamp:Math.floor(Date.now()/1e3),nonce:cE(64),token:GE,userid:RE,ssl:1},I),g=I.appkey,C=[],B=JSON.stringify(A);return C.push(B),C.push(g),{signature:KE(C.join("")),body:B}};async function OE(I){let{url:A,header:g}=I;return await M.fetch({url:A,headers:JSON.parse(g),contentType:"application/json",crossDomain:!0})}async function VE(I){let{url:A,header:g,body:C}=I;return await M.fetch({url:A,type:"POST",headers:JSON.parse(g),contentType:"application/json",data:C,crossDomain:!0})}function PE(I){let{signature:A,body:g}=eg(I);return M.fetch({url:"https://commercial.kugou.com/v2/commercial/vip/info",type:"POST",headers:{signature:A},contentType:"application/json",data:g,crossDomain:!0})}function jE(I){let{signature:A,body:g}=eg(I);return M.fetch({url:"https://commercial.kugou.com/v2/commercial/sdk/song/krc/base64",type:"POST",headers:{signature:A},contentType:"application/json",data:g,crossDomain:!0})}function ZE(I){let{signature:A,body:g}=eg(I);return M.fetch({url:"https://commercial.kugou.com/v2/commercial/sdk/accompany/krc/base64",type:"POST",headers:{signature:A},contentType:"application/json",data:g,crossDomain:!0})}function XE(I){let{signature:A,body:g}=eg(I);return M.fetch({url:"https://commercial.kugou.com/v2/commercial/sdk/accompany/songpitch",type:"POST",headers:{signature:A},contentType:"application/json",data:g,crossDomain:!0})}var vA=class{constructor(){this.userid="",this.token="",this.clientPid="",this.appkey="",this.commonParams={},this.isVip=1,this.songId="",this.accompanySongId="",this.lyricSongId="",this.accompanyLyricSongId="",this.pitchSongId="",this.scoreSongId="",this.urlToken="",this.encryptLyricData="",this.lyricOffset=0,this.encryptAccompanyLyricData="",this.accompanyLyricOffset=0,this.encryptPitchData="",this.pitchOffset=0,this.pitchStartTime=0,this.ktvScoreClient={},this.songPcmData=[],this.accompanyPcmData=[],this.accompanySegmentSongId="",this.accompanySegmentBegin=0,this.accompanySegmentEnd=0,this.accompanySegmentPcmData=[],this.ffmpegLoaded=!1,this.ffmpeg=new Yg}async _getLyric({song_id:A,isAccompany:g=0}){try{let C;return g===1?A===this.accompanyLyricSongId&&this.encryptAccompanyLyricData?Promise.resolve({error_code:0,data:{lyric_base64:this.encryptAccompanyLyricData,offset:this.accompanyLyricOffset}}):(C=await ZE(Object.assign({song_id:A},this.commonParams)),C.error_code===0?(this.accompanyLyricSongId=A,this.encryptAccompanyLyricData=C.data.lyric_base64,this.accompanyLyricOffset=C.data.offset,Promise.resolve({error_code:0,data:{lyric_base64:this.encryptAccompanyLyricData,offset:this.accompanyLyricOffset}})):Promise.resolve({error_code:C.error_code,error_msg:C.error_msg,data:{}})):A===this.lyricSongId&&this.encryptLyricData?Promise.resolve({error_code:0,data:{lyric_base64:this.encryptLyricData,offset:this.lyricOffset}}):(C=await jE(Object.assign({song_id:A,quality:"standard"},this.commonParams)),C.error_code===0?(this.lyricSongId=A,this.encryptLyricData=C.data.lyric_base64,this.lyricOffset=C.data.offset,Promise.resolve({error_code:0,data:{lyric_base64:this.encryptLyricData,offset:this.lyricOffset}})):Promise.resolve({error_code:C.error_code,error_msg:C.error_msg,data:{}}))}catch(C){return Promise.resolve({error_code:f.ERR_PUB_SYSTEM,data:{}})}}async _getPitch({song_id:A}){try{if(A===this.pitchSongId&&this.encryptPitchData)return Promise.resolve({error_code:0,data:{lyric:this.encryptPitchData,offset:this.pitchOffset}});{let g=await XE(Object.assign({song_id:A},this.commonParams));return g.error_code===0?(this.encryptPitchData=g.data.pitch,this.pitchOffset=g.data.offset,this.pitchStartTime=g.data.vtime,this.pitchSongId=A,Promise.resolve({error_code:0,data:{pitch:this.encryptPitchData,offset:this.pitchOffset,vtime:this.pitchStartTime}})):Promise.resolve({error_code:g.error_code,error_msg:g.error_msg,data:{}})}}catch(g){return Promise.resolve({error_code:f.ERR_PUB_SYSTEM,data:{}})}}async setUser(A){var B;if(!(A!=null&&A.userid)||!(A!=null&&A.token)||!(A!=null&&A.clientPid)||!(A!=null&&A.appkey))return Promise.resolve({status:f.ERR_PUB_PARAMS,data:{}});this.userid=A.userid,this.token=A.token,this.clientPid=A.clientPid,this.appkey=A.appkey,this.isVip=(B=A.isVip)!=null?B:1,this.commonParams={userid:this.userid,token:this.token,pid:this.clientPid,appkey:this.appkey};let g={status:0,data:{}},C=await PE(this.commonParams);return C.error_code!==0&&(g.status=C.error_code),Promise.resolve(g)}async setDecodeWorker(A){let{url:g}=A;return FE(g),Promise.resolve({status:0,data:{}})}fetchAccompanyUrl(A){let{song_id:g}=A,C={error_code:0,data:{}};return new Promise(B=>{let i=a.VoidFunctorWithIntString.implement({invoke:async function(D,E){if(D===a.KtvScore$ErrCode.ERR_CODE_OK.value){let Q={};try{Q=JSON.parse(E)}catch(o){}this.accompanySongId=g,this.urlToken=Q.url_token,C.data={status:Q.status,accompany_url:Q.accompany_url,url_token:Q.url_token}}else C.error_code=D||f.ERR_NO_DATA;B(C),i.delete()}});this.ktvScoreClient.getMediaResource(kA,this.clientPid,this.userid,this.token,g,!0,this.isVip?a.KtvScore$ChargeMode.CHARGE_MODE_MONTHLY:a.KtvScore$ChargeMode.CHARGE_MODE_ONCE,a.KtvScore$MediaType.MEDIA_TYPE_ACCOMPANY,i)})}async initKtvScoreClient({song_id:A}){var g;let C={error_code:0};if(A!==this.scoreSongId){let[B,i,D]=await Promise.all([this.fetchAccompanyUrl({song_id:A,isAccompany:1}),this._getLyric({song_id:A,isAccompany:1}),this._getPitch({song_id:A})]);if((B==null?void 0:B.error_code)!==0||i.error_code!==0||D.error_code!==0)C.error_code=f.ERR_PUB_BUSY;else if(((g=B==null?void 0:B.data)==null?void 0:g.status)!==0)C.error_code=f.ERR_PUB_COPYRIGHT;else return new Promise(E=>{this.urlToken=B.data.url_token;let Q=a.VoidFunctorWithInt.implement({invoke:function(o){o===a.KtvScore$ErrCode.ERR_CODE_OK.value?(DA.scoreSongId=A,E(C)):(C.error_code=o||f.ERR_PUB_SYSTEM,E(C)),Q.delete()}});DA.ktvScoreClient.init(this.encryptPitchData,this.encryptAccompanyLyricData,this.accompanyLyricOffset,this.urlToken,Q,a.KtvScore$Version.VERSION_OLD)})}return Promise.resolve(C)}async _fetchSongUrl(A){let{song_id:g,isAccompany:C}=A,B={status:a.KtvScore$ErrCode.ERR_CODE_OK.value};return C?new Promise(i=>{let D=a.VoidFunctorWithIntString.implement({invoke:async function(E,Q){if(E===a.KtvScore$ErrCode.ERR_CODE_OK.value){let o={};try{o=JSON.parse(Q)}catch(s){}this.accompanySongId=g,this.urlToken=o.url_token,B=OA(gA({},B),{data:o})}else B={status:E||f.ERR_NO_DATA};i(B),D.delete()}});this.ktvScoreClient.getMediaResource(kA,this.clientPid,this.userid,this.token,g,!0,this.isVip?a.KtvScore$ChargeMode.CHARGE_MODE_MONTHLY:a.KtvScore$ChargeMode.CHARGE_MODE_ONCE,a.KtvScore$MediaType.MEDIA_TYPE_ACCOMPANY,D)}):new Promise(i=>{let D=a.VoidFunctorWithIntString.implement({invoke:async function(E,Q){if(E===a.KtvScore$ErrCode.ERR_CODE_OK.value){let o={};try{o=JSON.parse(Q)}catch(s){}this.songId=g,this.urlToken=o.url_token,B=OA(gA({},B),{data:o})}else B={status:E||f.ERR_NO_DATA};i(B),D.delete()}});this.ktvScoreClient.getMediaResource(kA,this.clientPid,this.userid,this.token,g,!0,this.isVip?a.KtvScore$ChargeMode.CHARGE_MODE_MONTHLY:a.KtvScore$ChargeMode.CHARGE_MODE_ONCE,a.KtvScore$MediaType.MEDIA_TYPE_SONG,D)})}async initCodec(A,g){return this.ffmpegLoaded?this.ffmpegLoaded:(await this.ffmpeg.load({coreURL:await nI(`${A}/ffmpeg-core.js`,"text/javascript"),wasmURL:await nI(`${A}/ffmpeg-core.wasm`,"application/wasm"),classWorkerURL:g}),this.ffmpegLoaded=!0,this.ffmpegLoaded)}async downloadSongById(A){let{song_id:g,isAccompany:C}=A,B={status:0,data:{}};if(!this.ffmpegLoaded)return B.status=f.ERR_NOT_INIT_CODEC,B;if(C){let i=await this._fetchSongUrl(A),D="song.mkv";await this.ffmpeg.writeFile(D,await IB(i.data.accompany_url)),console.time("exec"),await this.ffmpeg.exec(["-i",D,"-map","0:0","-c","copy","output0.mp3","-map","0:1","-c","copy","output1.mp3"]),console.timeEnd("exec");let E=await this.ffmpeg.readFile("output0.mp3"),Q=await this.ffmpeg.readFile("output1.mp3");B.data={song_id:g,isAccompany:C,numberOfChannels:2,mp3Data:[E,Q]}}return B}async downloadSong(A){var g,C;let{song_id:B,isAccompany:i}=A,D={status:0,data:{}};if(i)if(this.accompanySongId===B&&((g=this.accompanyPcmData)==null?void 0:g.length)>0)D.data={song_id:B,isAccompany:i,numberOfChannels:this.accompanyPcmData.length,accompanyPcmData:this.accompanyPcmData};else return this._fetchSongUrl(A).then(async E=>{var Q;if(E.status!==a.KtvScore$ErrCode.ERR_CODE_OK.value)D.status=E.status;else{let o=await ng(E.data.accompany_url);if(o.error===0){let s=(Q=o==null?void 0:o.streams)==null?void 0:Q.map(t=>t.stream);this.accompanySongId=B,this.accompanyPcmData=s,D.data={song_id:B,isAccompany:i,numberOfChannels:this.accompanyPcmData.length,accompanyPcmData:this.accompanyPcmData}}else D.status=f.ERR_PUB_SYSTEM}return D});else if(this.songId===B&&((C=this.songPcmData)==null?void 0:C.length)>0)D.data={song_id:B,isAccompany:i,numberOfChannels:this.songPcmData.length,pcmData:this.songPcmData};else return this._fetchSongUrl(A).then(async E=>{var Q;if(E.status!==a.KtvScore$ErrCode.ERR_CODE_OK.value)D.status=E.status;else{let o=await ng(E.data.song_url);if(o.error===0){let s=(Q=o==null?void 0:o.streams)==null?void 0:Q.map(t=>t.stream);this.songPcmData=s,D.data={song_id:B,isAccompany:i,numberOfChannels:this.songPcmData.length,pcmData:this.songPcmData}}else D.status=f.ERR_PUB_SYSTEM}return D});return Promise.resolve(D)}async downloadAccompanySegment(A){var g;let{song_id:C}=A,B={status:0,data:{}};if(this.accompanySegmentSongId===C&&((g=this.accompanySegmentPcmData)==null?void 0:g.length)>0)B.data={song_id:C,begin:this.accompanySegmentBegin,end:this.accompanySegmentEnd,numberOfChannels:this.accompanySegmentPcmData.length,pcmData:this.accompanySegmentPcmData};else return new Promise(i=>{let D=a.VoidFunctorWithIntString.implement({invoke:async function(E,Q){var o;if(E===a.KtvScore$ErrCode.ERR_CODE_OK.value){let s={};try{s=JSON.parse(Q)}catch(y){}this.accompanySegmentSongId=C,this.accompanySegmentBegin=s.segment_begin,this.accompanySegmentEnd=s.segment_end;let t=await ng(s.url);t.error===0?(this.accompanySegmentPcmData=(o=t==null?void 0:t.streams)==null?void 0:o.map(y=>y.stream),B.data={begin:this.accompanySegmentBegin,end:this.accompanySegmentEnd,numberOfChannels:this.accompanySegmentPcmData.length,pcmData:this.accompanySegmentPcmData}):B.status=f.ERR_PUB_SYSTEM}else B.status=E||f.ERR_NO_DATA;i(B),D.delete()}});this.ktvScoreClient.getMediaResource(kA,this.clientPid,this.userid,this.token,C,!0,this.isVip?a.KtvScore$ChargeMode.CHARGE_MODE_MONTHLY:a.KtvScore$ChargeMode.CHARGE_MODE_ONCE,a.KtvScore$MediaType.MEDIA_TYPE_ACCOMPANY_SEGMENT,D)});return Promise.resolve(B)}async getLyric(A){let{song_id:g,isAccompany:C=0}=A,B={status:0,data:{}},i=await this.initKtvScoreClient({song_id:g});if(i.error_code===0){let D=await this.ktvScoreClient.getLyric();B.data={song_id:g,isAccompany:C,lyric:D.replace(/\0/g,"")}}else B.status=i.error_code;return Promise.resolve(B)}async getPitchData({song_id:A}){let g={status:0,data:{}},C=await this.initKtvScoreClient({song_id:A});if(C.error_code===0){let B=this.ktvScoreClient.getPitchData(),i=[],D=B.size();for(let E=0;E<D;E++)i.push(B.get(E));g.data={pitch:i},B.delete()}else g.status=C.error_code;return Promise.resolve(g)}setAudioParams(A){let{sampleRate:g,channels:C}=A;return this.ktvScoreClient.setAudioParams(g,C),this.ktvScoreClient.enableScore(!0),Promise.resolve({status:0,data:{}})}setScoreHardLevel({level:A=5}){let g={status:0,data:{}};return/^[1-5]{1}$/.test(A)?this.ktvScoreClient.setScoreHardLevel(a.KtvScore$ScoreHardLevel[`SCORE_HARD_LEVEL${A}`]):g.status=f.ERR_PUB_PARAMS,Promise.resolve(g)}processScore(A){let{buffer:g,pts:C}=A,B=new a.Int16Array(g.length);return B.data.set(g),this.ktvScoreClient.process(B,C),B.delete(),Promise.resolve({status:0,data:{}})}getRealTimePitch(){let A=this.ktvScoreClient.immediatelyDisplay();return Promise.resolve({status:0,data:{pitch:A}})}getScore(A){let{pts:g}=A,C={status:0,data:{}},B=this.ktvScoreClient.updateScoreToScoreInfo(g);return C.data={song_id:this.scoreSongId,score:B.score,index:B.index},Promise.resolve(C)}getAverageScore(A){let{pts:g}=A,C={status:0,data:{}},B=this.ktvScoreClient.updateAverageScore(g);return C.data={song_id:this.scoreSongId,averageScore:B},Promise.resolve(C)}getTotalScore(A){let{pts:g}=A,C={status:0,data:{}},B=this.ktvScoreClient.updateTotalScore(g),i=this.ktvScoreClient.calculateTotalScore();return C.data={song_id:this.scoreSongId,totalScore:B,wholeScore:i},Promise.resolve(C)}reset(){let A={status:0,data:{}};return this.ktvScoreClient.reset(),Promise.resolve(A)}};vA.packageName="__PKG_NAME__",vA.version="__PKG_VERSION__",vA.updateTime="__UPDATE_TIME__";var zE=vA,DA=window.yinsudaClient;DA||(DA=new zE,a.onRuntimeInitialized=function(){let I=a.IHttp.implement({get:async function(A,g,C){let B=C.clone(),i=await OE({url:A,header:g});B.opCall(JSON.stringify(i)),B.delete()},post:async function(A,g,C,B){let i=B.clone(),D=await VE({url:A,header:g,body:C});i.opCall(JSON.stringify(D)),i.delete()}});DA.ktvScoreClient=new a.KtvScore(I)},window.yinsudaClient=DA);var Z=DA;var LC=$g(Xg(),1);var YC=(Q=>(Q.PLAYING="playing",Q.PAUSED="paused",Q.STOPPED="stopped",Q.PROGRESS_UPDATED="progress_updated",Q.CURRENT_TIME_INDEX_UPDATED="current_time_index_updated",Q.PITCH_UPDATED="pitch_updated",Q.SCHORE_UPDATED="schore_updated",Q.MUSIC_LOADED="music_loaded",Q))(YC||{});function $E(I,A){if(I<A[0])return-1;if(I>A[A.length-1])return A.length-1;for(let g=0;g<A.length;g++)if(A[g]>=I)return g;return-1}var cg=class extends LC.EventEmitter{constructor(g){super();this.core=g;F(this,"EVENT",YC);F(this,"log");F(this,"yinsudaClient");F(this,"assetsPath","");F(this,"workerURL","");F(this,"currentTimeIndex",0);F(this,"pitchList");F(this,"lyricStartTimeList");F(this,"musicId");F(this,"originalPlayer");F(this,"accompanyPlayer");F(this,"originalURL");F(this,"accompanyURL");F(this,"useOriginalSong",!0);F(this,"volume",100);F(this,"bgmAudioTrack");F(this,"audioSourceNodes",[]);F(this,"downloadMusicPromise");this.log=g.log.createChild({id:"mp"}),this.downloadMusicPromise={},this.downloadMusicPromise.promise=new Promise((C,B)=>{this.downloadMusicPromise.resolve=C,this.downloadMusicPromise.reject=B}),this.yinsudaClient=Z,["setUser","initCodec","downloadSongById","getLyric","getPitchData"].forEach(C=>{let B=Z[C];Z[C]=function(...i){let D=B.call(Z,...i);return g.utils.isPromise(D)?new Promise((E,Q)=>{D.then(o=>{if(typeof o.status=="undefined")return E(o);o.status===0?E(o.data):Q(new Error(`${C} failed: ${o.status}`))}).catch(Q)}):D}})}get player(){return this.useOriginalSong?this.originalPlayer:this.accompanyPlayer}get currentTime(){var g;return((g=this.player)==null?void 0:g.currentTime)||0}set currentTime(g){this.originalPlayer&&(this.originalPlayer.currentTime=g),this.accompanyPlayer&&(this.accompanyPlayer.currentTime=g),this.log.info(`set currentTime: ${g}`)}get duration(){var g;return((g=this.player)==null?void 0:g.duration)||0}get isPlaying(){var g;return((g=this.player)==null?void 0:g.isPlaying)||!1}get isPaused(){var g;return((g=this.player)==null?void 0:g.isPaused)||!1}get isStopped(){return this.player?this.player.isStopped:!0}async initialize(g){this.log.info("initialize with config: ",g),g.assetsPath&&(this.assetsPath=g.assetsPath),g.workerURL&&(this.workerURL=g.workerURL),await Z.setUser(g)}async loadMusic(g){let{musicId:C,isNeedDownloadMusic:B=!0,isNeedLyric:i=!0,isNeedPitch:D=!0}=g;if(!B&&!i&&!D)throw new Error("(isNeedDownloadMusic, isNeedLyric, isNeedPitch) cannot all be false");this.log.info("loadMusic with option: ",g);let E={};if(i&&(E.lyric=await this.getLyric(C)),D&&(E.pitchList=await this.getPitch(C)),B)try{await this.downloadMusic(g),this.downloadMusicPromise.resolve()}catch(Q){this.downloadMusicPromise.reject(Q)}return this.musicId=C,this.emit(this.EVENT.MUSIC_LOADED),E}async downloadMusic({musicId:g}){this.log.info("downloadMusic initCodec");let C=await Z.initCodec(this.assetsPath,this.workerURL||this.assetsPath);this.log.info(`downloadMusic initCodec ${C}`),this.log.info(`downloadMusic downloadSongById ${g}`);let B=await Z.downloadSongById({song_id:g,isAccompany:1});B!=null&&B.mp3Data&&(B.mp3Data[0]&&(this.accompanyURL&&URL.revokeObjectURL(this.accompanyURL),this.accompanyURL=URL.createObjectURL(new Blob([B.mp3Data[0]],{type:"audio/mpeg"})),this.accompanyPlayer=new this.core.AudioPlayer({id:"ktv-p0",url:this.accompanyURL,track:null,muted:!1,container:null,log:this.log.createChild({id:"ktv-p0"})})),B.mp3Data[1]&&(this.originalURL&&URL.revokeObjectURL(this.originalURL),this.originalURL=URL.createObjectURL(new Blob([B.mp3Data[1]],{type:"audio/mpeg"})),this.originalPlayer=new this.core.AudioPlayer({id:"ktv-p1",url:this.originalURL,track:null,muted:!1,container:null,log:this.log.createChild({id:"ktv-p1"})}))),this.log.info("downloadMusic success")}async getLyricAndPitch(g){let C=await this.getLyric(g),B=await this.getPitch(g);return{lyric:C,pitchList:B}}async getLyric(g){let{lyric:C}=await Z.getLyric({song_id:g,isAccompany:1});return this.log.info("getLyric success"),this.lyricStartTimeList=C.split(`\r
23
- `).map(B=>{let i=B.match(/\[(\d+),/);if(i)return+i[1]}).filter(B=>typeof B=="number"),C}async getPitch(g){let{pitch:C}=await Z.getPitchData({song_id:g});return this.log.info("getPitchData success"),this.pitchList=C,C}async play(){if(!this.originalPlayer||!this.accompanyPlayer)return;let g=this.originalPlayer.play();this.originalPlayer.setMuted(!this.useOriginalSong),this.accompanyPlayer.setMuted(this.useOriginalSong),this.originalPlayer.on("time-updated",C=>this.onTimeUpdated(this.originalPlayer,C)),this.originalPlayer.on("player-state-changed",C=>this.onPlayerStateChange(this.originalPlayer,C.state)),this.accompanyPlayer.on("time-updated",C=>this.onTimeUpdated(this.accompanyPlayer,C)),this.accompanyPlayer.on("player-state-changed",C=>this.onPlayerStateChange(this.accompanyPlayer,C.state));try{await g}catch(C){if(C.message.includes("NotAllowedError"))this.handleAutoPlayFailed();else throw C}}async pause(){var B,i;let g=(B=this.originalPlayer)==null?void 0:B.pause(),C=(i=this.accompanyPlayer)==null?void 0:i.pause();await Promise.all([g,C])}async resume(){var B,i;let g=(B=this.originalPlayer)==null?void 0:B.resume(),C=(i=this.accompanyPlayer)==null?void 0:i.resume();await Promise.all([g,C])}stop(){var g,C,B,i;(g=this.originalPlayer)==null||g.stop(),(C=this.accompanyPlayer)==null||C.stop(),(B=this.originalPlayer)==null||B.removeAllListeners(),(i=this.accompanyPlayer)==null||i.removeAllListeners(),delete this.bgmAudioTrack,this.audioSourceNodes.forEach(D=>D.disconnect())}switchMusicTrack(g){var C,B;this.useOriginalSong=g,(C=this.originalPlayer)==null||C.setMuted(!g),(B=this.accompanyPlayer)==null||B.setMuted(g)}onTimeUpdated(g,C){if(g===this.player&&(this.emit("progress_updated",{currentTime:C,duration:this.player.duration}),this.lyricStartTimeList)){let B=$E(C,this.lyricStartTimeList);B!==this.currentTimeIndex&&(this.currentTimeIndex=B,this.emit("current_time_index_updated",{currentTime:C,currentTimeIndex:B}))}}onPlayerStateChange(g,C){g===this.player&&(C==="PLAYING"?this.emit(this.EVENT.PLAYING):C==="PAUSED"?this.emit(this.EVENT.PAUSED):C==="STOPPED"&&(this.stop(),this.emit(this.EVENT.STOPPED)))}handleAutoPlayFailed(){if(this.core.room.enableAutoPlayDialog)new this.core.AutoPlayDialog;else{let g=()=>{var C;(C=this.player)==null||C.resume().then(()=>{document.removeEventListener("click",g,!0)})};document.addEventListener("click",g,!0)}}initBGMAudioTrack(){var D,E;if(this.bgmAudioTrack)return this.bgmAudioTrack;if(!((D=this.originalPlayer)!=null&&D.element)||!((E=this.accompanyPlayer)!=null&&E.element))return;let{audioContext:g}=this.core,C=g.createMediaElementSource(this.originalPlayer.element),B=g.createMediaElementSource(this.accompanyPlayer.element),i=g.createMediaStreamDestination();return C.connect(i),B.connect(i),C.connect(g.destination),B.connect(g.destination),this.bgmAudioTrack=i.stream.getAudioTracks()[0],this.audioSourceNodes=[C,B],this.bgmAudioTrack}setVolume(g){var C,B;g<0||g>100||(this.volume=g,(C=this.originalPlayer)==null||C.setVolume(this.volume/100),(B=this.accompanyPlayer)==null||B.setVolume(this.volume/100))}};var UC=$g(Xg(),1);function Ai(I){let A=new Int16Array(I.length);for(let g=0;g<I.length;g++){let C=Math.round(I[g]*32767),B=Math.max(-32768,Math.min(32767,C));A[g]=B}return A}var gi="publish-mix-stream-to-room",JC=(D=>(D.STARTED="started",D.STOPPED="stopped",D.REQUIRE_LOAD_MUSIC="require-load-music",D.SCORE_UPDATED="score-updated",D.PITCH_UPDATED="pitch-updated",D.PROGRESS_UPDATED="progress_updated",D))(JC||{}),NA=class NA extends UC.EventEmitter{constructor(g){super();this.core=g;F(this,"trtcBGM");F(this,"log");F(this,"player");F(this,"role");F(this,"bgmStartNTP",0);F(this,"sendSEIIntervalId",-1);F(this,"updateProgressAndPitchIntervalId",-1);F(this,"clearBlackVideoTrack");F(this,"BGM_AND_PITCH_UPDATE_INTERVAL",100);F(this,"isOnStartedEmitted",!1);F(this,"isBackSingerAutoStarted",!1);this.log=g.log.createChild({id:NA.Name}),this.player=new cg(this.core),this.player.on(this.player.EVENT.MUSIC_LOADED,this.onMusicLoaded,this),this.player.on(this.player.EVENT.PLAYING,this.onPlaying,this),this.player.on(this.player.EVENT.STOPPED,this.onStopped,this),this.core.room.audioManager.enableEncodeNTPToAudioFrame()}get isLeadSinger(){return this.role==="LeadSinger"||this.trtcBGM}get isBackSinger(){return this.role==="BackSinger"}get isAudience(){return this.role==="audience"}onMusicLoaded(){if(this.isLeadSinger&&this.startSendSEI(),this.isLeadSinger||this.isBackSinger)try{this.player.yinsudaClient.initKtvScoreClient({song_id:this.player.musicId}),this.core.trtc.on(this.core.TRTC.EVENT.TRACK,g=>{if(g.track.kind==="audio"){let C=g.track.getSettings();this.player.yinsudaClient.setAudioParams({sampleRate:C.sampleRate||48e3,channels:C.channelCount||1})}}),this.core.trtc.on(this.core.TRTC.EVENT.AUDIO_FRAME,g=>{this.player.yinsudaClient.processScore({buffer:Ai(g.data),pts:this.player.currentTime})}),this.player.on(this.player.EVENT.CURRENT_TIME_INDEX_UPDATED,({currentTime:g})=>{Promise.all([this.player.yinsudaClient.getScore({pts:g}).then(C=>Math.max(0,C.data.score)),this.player.yinsudaClient.getAverageScore({pts:g}).then(C=>C.data.averageScore),this.player.yinsudaClient.getTotalScore({pts:g}).then(C=>({totalScore:C.data.totalScore,maxScore:C.data.wholeScore}))]).then(([C,B,{totalScore:i,maxScore:D}])=>{this.emit("score-updated",{score:C,averageScore:B,totalScore:i,maxScore:D})})})}catch(g){this.log.error(g)}}onPlaying(){var g;this.isLeadSinger&&!this.bgmStartNTP&&(this.bgmStartNTP=this.core.trtc.getNetworkTime(),(g=this.trtcBGM)==null||g.startLocalAudio({option:{audioTrack:this.player.initBGMAudioTrack(),echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1,profile:"high"}}))}isNeedToEmitStreamEvent(g,C){let B=g.split("_").pop()==="bgm",i=g.split("_").pop()==="robot";return!((this.isLeadSinger||this.isBackSinger)&&(B||i)||this.isAudience&&i)}async initialize(g){this.log.info(`initialize ${JSON.stringify(g)}`),g.role&&(this.role=g.role),g.updateInterval&&(this.BGM_AND_PITCH_UPDATE_INTERVAL=g.updateInterval),await this.player.initialize(g),g.sdkAppId&&(this.trtcBGM=this.core.TRTC.create({enableSEI:!0}),this.trtcBGM.room.enableChorus=!0,await this.trtcBGM.enterRoom({sdkAppId:g.sdkAppId,userId:g.userId,userSig:g.userSig,roomId:g.roomId,strRoomId:g.strRoomId,role:this.core.TRTC.TYPE.ROLE_ANCHOR,autoReceiveAudio:!1}),this.trtcBGM.room.audioManager.enableEncodeNTPToAudioFrame()),this.role&&!this.isLeadSinger&&(this.core.innerEmitter.on("254",C=>{let B=C.userId.split("_").pop()==="bgm",i=C.userId.split("_").pop()==="robot";B&&!this.isLeadSinger&&this.core.trtc.startRemoteVideo({userId:C.userId,streamType:C.streamType})}),this.core.trtc.on(this.core.TRTC.EVENT.SEI_MESSAGE,async C=>{let B=JSON.parse(new TextDecoder().decode(C.data));B.params.music_id=hg(B.params.music_id),this.log.debug(`on SEI message: ${JSON.stringify(B)}`);let i=C.userId.split("_").pop()==="bgm";this.player.musicId!==B.params.music_id&&i&&!this.isLeadSinger&&(this.player.musicId=B.params.music_id,this.emit("require-load-music",B.params.music_id)),this.onLeadSingerPlayerState(B.params.play_state);let D=this.core.trtc.getNetworkTime()-+B.params.bgm_progress_update_ntp,E=B.params.progress===0?0:B.params.progress+D;this.log.debug(`e2e delay: ${D}`),this.fixBGMProgress(E),this.isAudience&&this.player.emit(this.player.EVENT.PROGRESS_UPDATED,{currentTime:E,duration:B.params.duration})}))}fixBGMProgress(g){if(!this.isBackSinger||!this.player.isPlaying)return;Math.abs(g-this.player.currentTime)>100&&(this.log.warn(`fix bgm progress: ${g-this.player.currentTime}`),this.player.currentTime=g)}startCDN(){if(!this.isLeadSinger)return;let g={roomId:this.core.room.useStringRoomId?void 0:+this.core.room.roomId,strRoomId:this.core.room.useStringRoomId?this.core.room.roomId:void 0};this.core.trtc.startPlugin("CDNStreaming",{target:{publishMode:gi,robotUser:gA({userId:`${this.core.room.roomId}_robot`},g)},encoding:{audioBitrate:128,audioChannels:2},mix:{videoLayoutList:[{fixedVideoUser:gA({userId:`${this.core.room.roomId}_bgm`},g),width:64,height:64,locationX:0,locationY:0,fixedVideoStreamType:"main",zOrder:1}]}})}startSendSEI(){this.trtcBGM&&(this.trtcBGM.startLocalVideo({option:{videoTrack:AI(this.core.Timer,g=>{this.clearBlackVideoTrack=g}),profile:{bitrate:50}}}),this.trtcBGM.on(this.core.TRTC.EVENT.PUBLISH_STATE_CHANGED,g=>{g.state==="started"&&this.sendSEIIntervalId<0&&(this.log.debug("start send sei"),this.sendSEIIntervalId=this.core.Timer.run("intervalInWorker",()=>{var B;if(!this.core.room.isJoined)return this.core.Timer.clearTask(this.sendSEIIntervalId);let C={api:"info",params:{music_id:GI(this.player.musicId)?this.player.musicId:RI(this.player.musicId),duration:this.player.duration,progress:this.player.currentTime,bgm_progress_update_ntp:String((this.trtcBGM||this.core.trtc).getNetworkTime()),bgm_start_ntp:String(this.bgmStartNTP),play_state:this.player.isPlaying?2:this.player.isStopped?1:3}};(B=this.trtcBGM)==null||B.sendSEIMessage(new TextEncoder().encode(JSON.stringify(C)).buffer)},{fps:5}))}))}async onStarted(){this.isOnStartedEmitted||(this.emit("started"),this.isOnStartedEmitted=!0,this.isAudience||(this.updateProgressAndPitchIntervalId=this.core.Timer.run("intervalInWorker",()=>{this.player.yinsudaClient.getRealTimePitch().then(g=>{this.emit("pitch-updated",{pitch:g.data.pitch})}),this.emit("progress_updated",{currentTime:this.player.currentTime,duration:this.player.duration})},{delay:this.BGM_AND_PITCH_UPDATE_INTERVAL})),this.isBackSinger&&(await this.player.downloadMusicPromise.promise,this.isBackSingerAutoStarted||(this.core.trtc.startPlugin("Chorus",{}),this.isBackSingerAutoStarted=!0)))}onStopped(){this.core.clearStarted(this,this.getGroup()),this.reset(),this.emit("stopped")}onLeadSingerPlayerState(g){switch(g){case 2:this.player.isPaused&&this.player.resume(),this.onStarted();break;case 3:this.player.pause();break;case 1:this.player&&!this.player.isStopped&&this.core.trtc.stopPlugin("Chorus");break;default:break}}getName(){return NA.Name}getAlias(){return"ktv"}getGroup(){return"ktv"}getValidateRule(g){switch(g){case"start":return hI;case"update":return MI;case"stop":return SI}}async start(g){typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),await this.player.play(),this.isLeadSinger&&this.onStarted()}async update(g){typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),g.bgmAction&&await this.player[g.bgmAction]()}async stop(){this.player.isStopped||(this.player.stop(),this.reset(),this.emit("stopped"))}reset(){var g;this.bgmStartNTP=0,this.isOnStartedEmitted=!1,this.isLeadSinger&&((g=this.clearBlackVideoTrack)==null||g.call(this),this.core.Timer.clearTask(this.sendSEIIntervalId),this.sendSEIIntervalId=-1),this.trtcBGM&&(this.trtcBGM.stopLocalAudio(),this.trtcBGM.stopLocalVideo()),this.isAudience||(this.player.yinsudaClient.reset(),this.core.Timer.clearTask(this.updateProgressAndPitchIntervalId),this.updateProgressAndPitchIntervalId=-1)}destroy(){this.stop(),this.trtcBGM&&(this.trtcBGM.room.audioManager.disableEncodeNTPToAudioFrame(),this.trtcBGM.exitRoom().then(()=>{var g;(g=this.trtcBGM)==null||g.destroy(),delete this.trtcBGM})),this.core.room.audioManager.disableEncodeNTPToAudioFrame(),delete this.core,this.player.off(this.player.EVENT.MUSIC_LOADED,this.onMusicLoaded,this),this.player.off(this.player.EVENT.PLAYING,this.onPlaying,this),this.player.off(this.player.EVENT.STOPPED,this.onStopped,this),delete this.player}};F(NA,"EVENT",JC),F(NA,"decodeIdWithPrefix",hg),F(NA,"Name","Chorus");var rg=NA;var Ii=rg;return mC(Ci);})().default;
23
+ `).map(B=>{let i=B.match(/\[(\d+),/);if(i)return+i[1]}).filter(B=>typeof B=="number"),C}async getPitch(g){let{pitch:C}=await Z.getPitchData({song_id:g});return this.log.info("getPitchData success"),this.pitchList=C,C}async play(){if(!this.originalPlayer||!this.accompanyPlayer)return;let g=this.originalPlayer.play(),C=this.accompanyPlayer.play();this.originalPlayer.setMuted(!this.useOriginalSong),this.accompanyPlayer.setMuted(this.useOriginalSong),this.originalPlayer.on("time-updated",B=>this.onTimeUpdated(this.originalPlayer,B)),this.originalPlayer.on("player-state-changed",B=>this.onPlayerStateChange(this.originalPlayer,B.state)),this.accompanyPlayer.on("time-updated",B=>this.onTimeUpdated(this.accompanyPlayer,B)),this.accompanyPlayer.on("player-state-changed",B=>this.onPlayerStateChange(this.accompanyPlayer,B.state));try{await(this.useOriginalSong?g:C)}catch(B){if(B.message.includes("NotAllowedError"))this.handleAutoPlayFailed();else throw B}}async pause(){var B,i;let g=(B=this.originalPlayer)==null?void 0:B.pause(),C=(i=this.accompanyPlayer)==null?void 0:i.pause();await Promise.all([g,C])}async resume(){var B,i;let g=(B=this.originalPlayer)==null?void 0:B.resume(),C=(i=this.accompanyPlayer)==null?void 0:i.resume();await Promise.all([g,C])}stop(){var g,C,B,i;(g=this.originalPlayer)==null||g.stop(),(C=this.accompanyPlayer)==null||C.stop(),(B=this.originalPlayer)==null||B.removeAllListeners(),(i=this.accompanyPlayer)==null||i.removeAllListeners(),delete this.bgmAudioTrack,this.audioSourceNodes.forEach(D=>D.disconnect())}switchMusicTrack(g){var C,B;this.useOriginalSong=g,(C=this.originalPlayer)==null||C.setMuted(!g),(B=this.accompanyPlayer)==null||B.setMuted(g)}onTimeUpdated(g,C){if(g===this.player&&(this.emit("progress_updated",{currentTime:C,duration:this.player.duration}),this.lyricStartTimeList)){let B=$E(C,this.lyricStartTimeList);B!==this.currentTimeIndex&&(this.currentTimeIndex=B,this.emit("current_time_index_updated",{currentTime:C,currentTimeIndex:B}))}}onPlayerStateChange(g,C){g===this.player&&(C==="PLAYING"?this.emit(this.EVENT.PLAYING):C==="PAUSED"?this.emit(this.EVENT.PAUSED):C==="STOPPED"&&(this.stop(),this.emit(this.EVENT.STOPPED)))}handleAutoPlayFailed(){if(this.core.room.enableAutoPlayDialog)new this.core.AutoPlayDialog;else{let g=()=>{var C;(C=this.player)==null||C.resume().then(()=>{document.removeEventListener("click",g,!0)})};document.addEventListener("click",g,!0)}}initBGMAudioTrack(){var D,E;if(this.bgmAudioTrack)return this.bgmAudioTrack;if(!((D=this.originalPlayer)!=null&&D.element)||!((E=this.accompanyPlayer)!=null&&E.element))return;let{audioContext:g}=this.core,C=g.createMediaElementSource(this.originalPlayer.element),B=g.createMediaElementSource(this.accompanyPlayer.element),i=g.createMediaStreamDestination();return C.connect(i),B.connect(i),C.connect(g.destination),B.connect(g.destination),this.bgmAudioTrack=i.stream.getAudioTracks()[0],this.audioSourceNodes=[C,B],this.bgmAudioTrack}setVolume(g){var C,B;g<0||g>100||(this.volume=g,(C=this.originalPlayer)==null||C.setVolume(this.volume/100),(B=this.accompanyPlayer)==null||B.setVolume(this.volume/100))}};var UC=$g(Xg(),1);function Ai(I){let A=new Int16Array(I.length);for(let g=0;g<I.length;g++){let C=Math.round(I[g]*32767),B=Math.max(-32768,Math.min(32767,C));A[g]=B}return A}var gi="publish-mix-stream-to-room",JC=(D=>(D.STARTED="started",D.STOPPED="stopped",D.REQUIRE_LOAD_MUSIC="require-load-music",D.SCORE_UPDATED="score-updated",D.PITCH_UPDATED="pitch-updated",D.PROGRESS_UPDATED="progress_updated",D))(JC||{}),NA=class NA extends UC.EventEmitter{constructor(g){super();this.core=g;F(this,"trtcBGM");F(this,"log");F(this,"player");F(this,"role");F(this,"bgmStartNTP",0);F(this,"sendSEIIntervalId",-1);F(this,"updateProgressAndPitchIntervalId",-1);F(this,"clearBlackVideoTrack");F(this,"BGM_AND_PITCH_UPDATE_INTERVAL",100);F(this,"isOnStartedEmitted",!1);F(this,"isBackSingerAutoStarted",!1);this.log=g.log.createChild({id:NA.Name}),this.player=new cg(this.core),this.player.on(this.player.EVENT.MUSIC_LOADED,this.onMusicLoaded,this),this.player.on(this.player.EVENT.PLAYING,this.onPlaying,this),this.player.on(this.player.EVENT.STOPPED,this.onStopped,this),this.core.room.audioManager.enableEncodeNTPToAudioFrame()}get isLeadSinger(){return this.role==="LeadSinger"||this.trtcBGM}get isBackSinger(){return this.role==="BackSinger"}get isAudience(){return this.role==="audience"}onMusicLoaded(){if(this.isLeadSinger&&this.startSendSEI(),this.isLeadSinger||this.isBackSinger)try{this.player.yinsudaClient.initKtvScoreClient({song_id:this.player.musicId}),this.core.trtc.on(this.core.TRTC.EVENT.TRACK,g=>{if(g.track.kind==="audio"){let C=g.track.getSettings();this.player.yinsudaClient.setAudioParams({sampleRate:C.sampleRate||48e3,channels:C.channelCount||1})}}),this.core.trtc.on(this.core.TRTC.EVENT.AUDIO_FRAME,g=>{this.player.yinsudaClient.processScore({buffer:Ai(g.data),pts:this.player.currentTime})}),this.player.on(this.player.EVENT.CURRENT_TIME_INDEX_UPDATED,({currentTime:g})=>{Promise.all([this.player.yinsudaClient.getScore({pts:g}).then(C=>Math.max(0,C.data.score)),this.player.yinsudaClient.getAverageScore({pts:g}).then(C=>C.data.averageScore),this.player.yinsudaClient.getTotalScore({pts:g}).then(C=>({totalScore:C.data.totalScore,maxScore:C.data.wholeScore}))]).then(([C,B,{totalScore:i,maxScore:D}])=>{this.emit("score-updated",{score:C,averageScore:B,totalScore:i,maxScore:D})})})}catch(g){this.log.error(g)}}onPlaying(){var g;this.isLeadSinger&&!this.bgmStartNTP&&(this.bgmStartNTP=this.core.trtc.getNetworkTime(),(g=this.trtcBGM)==null||g.startLocalAudio({option:{audioTrack:this.player.initBGMAudioTrack(),echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1,profile:"high"}}))}isNeedToEmitStreamEvent(g,C){let B=g.split("_").pop()==="bgm",i=g.split("_").pop()==="robot";return!((this.isLeadSinger||this.isBackSinger)&&(B||i)||this.isAudience&&i)}async initialize(g){this.log.info(`initialize ${JSON.stringify(g)}`),g.role&&(this.role=g.role),g.updateInterval&&(this.BGM_AND_PITCH_UPDATE_INTERVAL=g.updateInterval),await this.player.initialize(g),g.sdkAppId&&(this.trtcBGM=this.core.TRTC.create({enableSEI:!0}),this.trtcBGM.room.enableChorus=!0,await this.trtcBGM.enterRoom({sdkAppId:g.sdkAppId,userId:g.userId,userSig:g.userSig,roomId:g.roomId,strRoomId:g.strRoomId,role:this.core.TRTC.TYPE.ROLE_ANCHOR,autoReceiveAudio:!1}),this.trtcBGM.room.audioManager.enableEncodeNTPToAudioFrame()),this.role&&!this.isLeadSinger&&(this.core.innerEmitter.on("254",C=>{let B=C.userId.split("_").pop()==="bgm",i=C.userId.split("_").pop()==="robot";B&&!this.isLeadSinger&&this.core.trtc.startRemoteVideo({userId:C.userId,streamType:C.streamType})}),this.core.trtc.on(this.core.TRTC.EVENT.SEI_MESSAGE,async C=>{let B=JSON.parse(new TextDecoder().decode(C.data));B.params.music_id=hg(B.params.music_id),this.log.debug(`on SEI message: ${JSON.stringify(B)}`);let i=C.userId.split("_").pop()==="bgm";this.player.musicId!==B.params.music_id&&i&&!this.isLeadSinger&&(this.player.musicId=B.params.music_id,this.emit("require-load-music",B.params.music_id)),this.onLeadSingerPlayerState(B.params.play_state);let D=this.core.trtc.getNetworkTime()-+B.params.bgm_progress_update_ntp,E=B.params.progress===0?0:B.params.progress+D;this.log.debug(`e2e delay: ${D}`),this.fixBGMProgress(E),this.isAudience&&this.player.emit(this.player.EVENT.PROGRESS_UPDATED,{currentTime:E,duration:B.params.duration})}))}fixBGMProgress(g){if(!this.isBackSinger||!this.player.isPlaying)return;Math.abs(g-this.player.currentTime)>100&&(this.log.warn(`fix bgm progress: ${g-this.player.currentTime}`),this.player.currentTime=g)}startCDN(){if(!this.isLeadSinger)return;let g={roomId:this.core.room.useStringRoomId?void 0:+this.core.room.roomId,strRoomId:this.core.room.useStringRoomId?this.core.room.roomId:void 0};this.core.trtc.startPlugin("CDNStreaming",{target:{publishMode:gi,robotUser:gA({userId:`${this.core.room.roomId}_robot`},g)},encoding:{audioBitrate:128,audioChannels:2},mix:{videoLayoutList:[{fixedVideoUser:gA({userId:`${this.core.room.roomId}_bgm`},g),width:64,height:64,locationX:0,locationY:0,fixedVideoStreamType:"main",zOrder:1}]}})}startSendSEI(){this.trtcBGM&&(this.trtcBGM.startLocalVideo({option:{videoTrack:AI(this.core.Timer,g=>{this.clearBlackVideoTrack=g}),profile:{bitrate:50}}}),this.trtcBGM.on(this.core.TRTC.EVENT.PUBLISH_STATE_CHANGED,g=>{g.state==="started"&&this.sendSEIIntervalId<0&&(this.log.debug("start send sei"),this.sendSEIIntervalId=this.core.Timer.run("intervalInWorker",()=>{var B;if(!this.core.room.isJoined)return this.core.Timer.clearTask(this.sendSEIIntervalId);let C={api:"info",params:{music_id:GI(this.player.musicId)?this.player.musicId:RI(this.player.musicId),duration:this.player.duration,progress:this.player.currentTime,bgm_progress_update_ntp:String((this.trtcBGM||this.core.trtc).getNetworkTime()),bgm_start_ntp:String(this.bgmStartNTP),play_state:this.player.isPlaying?2:this.player.isStopped?1:3}};(B=this.trtcBGM)==null||B.sendSEIMessage(new TextEncoder().encode(JSON.stringify(C)).buffer)},{fps:5}))}))}async onStarted(){this.isOnStartedEmitted||(this.emit("started"),this.isOnStartedEmitted=!0,this.isAudience||(this.updateProgressAndPitchIntervalId=this.core.Timer.run("intervalInWorker",()=>{this.player.yinsudaClient.getRealTimePitch().then(g=>{this.emit("pitch-updated",{pitch:g.data.pitch})}),this.emit("progress_updated",{currentTime:this.player.currentTime,duration:this.player.duration})},{delay:this.BGM_AND_PITCH_UPDATE_INTERVAL})),this.isBackSinger&&(await this.player.downloadMusicPromise.promise,this.isBackSingerAutoStarted||(this.core.trtc.startPlugin("Chorus",{}),this.isBackSingerAutoStarted=!0)))}onStopped(){this.core.clearStarted(this,this.getGroup()),this.reset(),this.emit("stopped")}onLeadSingerPlayerState(g){switch(g){case 2:this.player.isPaused&&this.player.resume(),this.onStarted();break;case 3:this.player.pause();break;case 1:this.player&&!this.player.isStopped&&this.core.trtc.stopPlugin("Chorus");break;default:break}}getName(){return NA.Name}getAlias(){return"ktv"}getGroup(){return"ktv"}getValidateRule(g){switch(g){case"start":return hI;case"update":return MI;case"stop":return SI}}async start(g){typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),await this.player.play(),this.isLeadSinger&&this.onStarted()}async update(g){typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),g.bgmAction&&await this.player[g.bgmAction]()}async stop(){this.player.isStopped||(this.player.stop(),this.reset(),this.emit("stopped"))}reset(){var g;this.bgmStartNTP=0,this.isOnStartedEmitted=!1,this.isLeadSinger&&((g=this.clearBlackVideoTrack)==null||g.call(this),this.core.Timer.clearTask(this.sendSEIIntervalId),this.sendSEIIntervalId=-1),this.trtcBGM&&(this.trtcBGM.stopLocalAudio(),this.trtcBGM.stopLocalVideo()),this.isAudience||(this.player.yinsudaClient.reset(),this.core.Timer.clearTask(this.updateProgressAndPitchIntervalId),this.updateProgressAndPitchIntervalId=-1)}destroy(){this.stop(),this.trtcBGM&&(this.trtcBGM.room.audioManager.disableEncodeNTPToAudioFrame(),this.trtcBGM.exitRoom().then(()=>{var g;(g=this.trtcBGM)==null||g.destroy(),delete this.trtcBGM})),this.core.room.audioManager.disableEncodeNTPToAudioFrame(),delete this.core,this.player.off(this.player.EVENT.MUSIC_LOADED,this.onMusicLoaded,this),this.player.off(this.player.EVENT.PLAYING,this.onPlaying,this),this.player.off(this.player.EVENT.STOPPED,this.onStopped,this),delete this.player}};F(NA,"EVENT",JC),F(NA,"decodeIdWithPrefix",hg),F(NA,"Name","Chorus");var rg=NA;var Ii=rg;return mC(Ci);})().default;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/chorus",
3
- "version": "5.8.3-ktv.2",
3
+ "version": "5.8.3-ktv.3",
4
4
  "description": "TRTC Web SDK 5.x Chorus plugin",
5
5
  "main": "./chorus.esm.js",
6
6
  "author": "rychouwei <rychouwei@tencent.com>",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/cross-room",
3
- "version": "5.8.3-ktv.2",
3
+ "version": "5.8.3-ktv.3",
4
4
  "description": "TRTC Web SDK 5.x Cross Room plugin",
5
5
  "main": "./cross-room.esm.js",
6
6
  "author": "rychouwei <rychouwei@tencent.com>",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/debug",
3
- "version": "5.8.3-ktv.2",
3
+ "version": "5.8.3-ktv.3",
4
4
  "description": "TRTC Web SDK Debug Plugin",
5
5
  "main": "./debug.esm.js",
6
6
  "author": "leochliu <leochliu@tencent.com>",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/device-detector",
3
- "version": "5.8.3-ktv.2",
3
+ "version": "5.8.3-ktv.3",
4
4
  "description": "TRTC Web SDK 5.x device detector plugin",
5
5
  "main": "./device-detector.esm.js",
6
6
  "author": "edwards <edwards@tencent.com>",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/basic-beauty",
3
- "version": "5.8.3-ktv.2",
3
+ "version": "5.8.3-ktv.3",
4
4
  "description": "TRTC Web SDK 5.x basic-beauty plugin",
5
5
  "main": "./basic-beauty.esm.js",
6
6
  "author": "longyuqi <longyuqi@tencent.com>",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/beauty",
3
- "version": "5.8.3-ktv.2",
3
+ "version": "5.8.3-ktv.3",
4
4
  "description": "TRTC Web SDK 5.x beauty plugin",
5
5
  "main": "./beauty.esm.js",
6
6
  "author": "longyuqi <longyuqi@tencent.com>",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/virtual-background",
3
- "version": "5.8.3-ktv.2",
3
+ "version": "5.8.3-ktv.3",
4
4
  "description": "TRTC Web SDK 5.x virtual background plugin",
5
5
  "main": "./virtual-background.esm.js",
6
6
  "author": "longyuqi <longyuqi@tencent.com>",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/watermark",
3
- "version": "5.8.3-ktv.2",
3
+ "version": "5.8.3-ktv.3",
4
4
  "description": "TRTC Web SDK 5.x watermark plugin",
5
5
  "main": "./watermark.esm.js",
6
6
  "author": "longyuqi <longyuqi@tencent.com>",