trtc-sdk-v5 5.8.5-ktv.1 → 5.8.5-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 +1 -1
- package/plugins/cdn-streaming/package.json +1 -1
- package/plugins/chorus/chorus.esm.js +1 -1
- package/plugins/chorus/chorus.iife.js +1 -1
- package/plugins/chorus/package.json +1 -1
- package/plugins/cross-room/package.json +1 -1
- package/plugins/device-detector/package.json +1 -1
- package/plugins/video-effect/basic-beauty/package.json +1 -1
- package/plugins/video-effect/beauty/package.json +1 -1
- package/plugins/video-effect/virtual-background/package.json +1 -1
- package/plugins/video-effect/watermark/package.json +1 -1
- package/trtc.esm.js +2 -2
- package/trtc.js +1 -1
package/package.json
CHANGED
|
@@ -20,4 +20,4 @@ return ret;
|
|
|
20
20
|
`),t+=`};
|
|
21
21
|
`,D.push(t);var N=iC(Function,D).apply(null,E);return i=qQ(N),dI[B]=i,i}function xQ(I){I>4&&(W.get(I).refcount+=1)}function WQ(I,A){I=ig(I,"_emval_take_value");var g=I.readValueFromPointer(A);return wA.toHandle(g)}function OQ(){YA("")}function VQ(){return Date.now()}function PQ(I,A,g){u.copyWithin(I,A,A+g)}function jQ(I){YA("OOM")}function ZQ(I){u.length,jQ()}var Sg={};function XQ(){return lg||"./this.program"}function HA(){if(!HA.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,_:XQ()};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]);HA.strings=C}return HA.strings}function zQ(I,A){for(var g=0;g<I.length;++g)O[A++>>0]=I.charCodeAt(g);O[A>>0]=0}function vQ(I,A){var g=0;return HA().forEach(function(C,B){var i=A+g;n[I+B*4>>2]=i,zQ(C,i),g+=C.length+1}),0}function _Q(I,A){var g=HA();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 AE(I,A,g,C,B){return 70}var gE=[null,[],[]];function IE(I,A){var g=gE[I];A===0||A===10?((I===1?QB:LA)(aC(g,0)),g.length=0):g.push(A)}function CE(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++)IE(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 BE(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 QE(I,A){for(var g=new Date(I.getTime());A>0;){var C=ZA(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 EE(I,A,g){var C=Og(I)+1,B=new Array(C);return DC(I,B,0,B.length),B}function iE(I,A){O.set(I,A)}function oE(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,y,m){for(var J=typeof w=="number"?w.toString():w||"";J.length<y;)J=m[0]+J;return J}function e(w,y){return t(w,y,"0")}function N(w,y){function m(EA){return EA<0?-1:EA>0?1:0}var J;return(J=m(w.getFullYear()-y.getFullYear()))===0&&(J=m(w.getMonth()-y.getMonth()))===0&&(J=m(w.getDate()-y.getDate())),J}function F(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 y=QE(new Date(w.tm_year+1900,0,1),w.tm_yday),m=new Date(y.getFullYear(),0,4),J=new Date(y.getFullYear()+1,0,4),EA=F(m),bA=F(J);return N(EA,y)<=0?N(bA,y)<=0?y.getFullYear()+1:y.getFullYear():y.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 y=w.tm_year+1900;return e(y/100|0,2)},"%d":function(w){return e(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 e(w.tm_hour,2)},"%I":function(w){var y=w.tm_hour;return y==0?y=12:y>12&&(y-=12),e(y,2)},"%j":function(w){return e(w.tm_mday+BE(ZA(w.tm_year+1900)?tC:wC,w.tm_mon-1),3)},"%m":function(w){return e(w.tm_mon+1,2)},"%M":function(w){return e(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 e(w.tm_sec,2)},"%t":function(){return" "},"%u":function(w){return w.tm_wday||7},"%U":function(w){var y=w.tm_yday+7-w.tm_wday;return e(Math.floor(y/7),2)},"%V":function(w){var y=Math.floor((w.tm_yday+7-(w.tm_wday+6)%7)/7);if((w.tm_wday+371-w.tm_yday-2)%7<=2&&y++,y){if(y==53){var m=(w.tm_wday+371-w.tm_yday)%7;m!=4&&(m!=3||!ZA(w.tm_year))&&(y=1)}}else{y=52;var J=(w.tm_wday+7-w.tm_yday-1)%7;(J==4||J==5&&ZA(w.tm_year%400-1))&&y++}return e(y,2)},"%w":function(w){return w.tm_wday},"%W":function(w){var y=w.tm_yday+7-(w.tm_wday+6)%7;return e(Math.floor(y/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 y=w.tm_gmtoff,m=y>=0;return y=Math.abs(y)/60,y=y/60*100+y%60,(m?"+":"-")+("0000"+y).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=EE(D);return U.length>A?0:(iE(U,I),U.length-1)}function DE(I,A,g,C,B){return oE(I,A,g,C)}function sE(I){Cg=I,aB()||(a.onExit&&a.onExit(I),ug=!0),fg(I,new zI(I))}function aE(I,A){Cg=I,sE(I)}function tE(I){if(I instanceof zI||I=="unwind")return Cg;fg(1,I)}function wE(I){var A=Og(I)+1,g=Pg(A);return sC(I,g,A),g}MA=a.BindingError=Eg(Error,"BindingError");KB();vI=a.PureVirtualError=Eg(Error,"PureVirtualError");dB();uB();CC=a.InternalError=Eg(Error,"InternalError");_B();EQ();EC=a.UnboundTypeError=Eg(Error,"UnboundTypeError");var eE={d:LB,p:xB,r:WB,y:OB,H:VB,h:sQ,j:aQ,m:tQ,a:wQ,J:eQ,G:yQ,k:rQ,b:cQ,v:FQ,K:GQ,i:MQ,c:SQ,u:nQ,o:dQ,s:HQ,l:lQ,I:fQ,f:mQ,e:oC,g:bQ,q:xQ,w:WQ,n:OQ,D:VQ,E:PQ,C:ZQ,A:vQ,B:_Q,F:$Q,x:AE,t:CE,z:DE};SB();var eC=a._main=function(){return(eC=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)},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 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 gg;KA=function I(){gg||rC(),gg||(KA=I)};function yE(I=[]){var A=eC;I.unshift(lg);var g=I.length,C=Pg((g+1)*4),B=C>>2;I.forEach(D=>{L[B++]=wE(D)}),L[B]=0;try{var i=A(g,C);return aE(i,!0),i}catch(D){return tE(D)}}function rC(I=mI){if(sA>0||(tB(),sA>0))return;function A(){gg||(gg=!0,a.calledRun=!0,!ug&&(wB(),eB(),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);rC();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 NE(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,dg={},rE=async(I,A,g)=>(I.postMessage({action:"translate",url:g,data:A,seq:1},[A]),await new Promise(C=>{dg[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=dg[g];B&&(B(A.data),delete dg[g])}}},ng=async I=>{if(lA){let A=lA;return fetch(I).then(g=>g.arrayBuffer()).then(async g=>rE(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 GE(I,A){return I<<A|I>>>32-A}function tg(I,A,g,C,B,i){return BA(GE(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 d(I,A,g,C,B,i,D){return tg(A^g^C,I,A,B,i,D)}function H(I,A,g,C,B,i,D){return tg(g^(A|~C),I,A,B,i,D)}function hE(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=d(E,Q,o,s,I[g+5],4,-378558),s=d(s,E,Q,o,I[g+8],11,-2022574463),o=d(o,s,E,Q,I[g+11],16,1839030562),Q=d(Q,o,s,E,I[g+14],23,-35309556),E=d(E,Q,o,s,I[g+1],4,-1530992060),s=d(s,E,Q,o,I[g+4],11,1272893353),o=d(o,s,E,Q,I[g+7],16,-155497632),Q=d(Q,o,s,E,I[g+10],23,-1094730640),E=d(E,Q,o,s,I[g+13],4,681279174),s=d(s,E,Q,o,I[g],11,-358537222),o=d(o,s,E,Q,I[g+3],16,-722521979),Q=d(Q,o,s,E,I[g+6],23,76029189),E=d(E,Q,o,s,I[g+9],4,-640364487),s=d(s,E,Q,o,I[g+12],11,-421815835),o=d(o,s,E,Q,I[g+15],16,530742520),Q=d(Q,o,s,E,I[g+2],23,-995338651),E=H(E,Q,o,s,I[g],6,-198630844),s=H(s,E,Q,o,I[g+7],10,1126891415),o=H(o,s,E,Q,I[g+14],15,-1416354905),Q=H(Q,o,s,E,I[g+5],21,-57434055),E=H(E,Q,o,s,I[g+12],6,1700485571),s=H(s,E,Q,o,I[g+3],10,-1894986606),o=H(o,s,E,Q,I[g+10],15,-1051523),Q=H(Q,o,s,E,I[g+1],21,-2054922799),E=H(E,Q,o,s,I[g+8],6,1873313359),s=H(s,E,Q,o,I[g+15],10,-30611744),o=H(o,s,E,Q,I[g+6],15,-1560198380),Q=H(Q,o,s,E,I[g+13],21,1309151649),E=H(E,Q,o,s,I[g+4],6,-145523070),s=H(s,E,Q,o,I[g+11],10,-1120210379),o=H(o,s,E,Q,I[g+2],15,718787259),Q=H(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 ME(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 SE(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 nE(I){return ME(hE(SE(I),I.length*8))}function LE(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 YE(I){return unescape(encodeURIComponent(I))}function UE(I){return nE(YE(I))}function JE(I){return LE(UE(I))}function kE(I,A,g){return JE(I)}var QA,cA,AA=window,kA=AA.document,KE=/^(?:text|application)\/javascript/i,dE=/^(?:text|application)\/xml/i,RC="application/json",FC="text/html",HE=/^\s*$/,lE="jsonpcallback=?",fE=Object.prototype.toString,lI=encodeURIComponent,_=function(){},V=function(I){return fE.call(I).toLowerCase().slice(8,-1)},XA=[];function jg(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(jg)}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 uE(I){let A="text";return I&&(I=I.split(";",2)[0]),I==FC?A="html":I==RC?A="json":KE.test(I)?A="script":dE.test(I)&&(A="xml"),A}function Hg(I,A){return A===""?I:(I+"&"+A).replace(/[&?]{1,2}/,"?")}function pE(I){I.data&&V(I.data)==="object"&&(I.data=mE(I.data)),I.data&&(!I.type||I.type.toUpperCase()==="GET"||I.dataType==="jsonp")&&(I.url=Hg(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 mE(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 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 qE(I,A,g){let C=M.settings[A];return V(C)==="function"&&C.call(I,g),!0}function yA(I,A,g,C){if(I.global)return qE(A||kA,g,C)}function TE(I){I.global&&M.active++===0&&yA(I,null,"ajaxStart")}function bE(I){I.global&&!--M.active&&yA(I,null,"ajaxStop")}function hC(I,A){let g=A.context;if(A.beforeSend.call(g,I,A)===!1||yA(A,g,"ajaxBeforeSend",[I,A])===!1)return!1;yA(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),yA(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),yA(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),yA(g,C,"ajaxComplete",[A,g]),bE(g)}function xE(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=XA.sort(function(t,e){return e.index-t.index}),B.forEach(function(t){let e;if(t&&V(t.fn)==="function")try{e=t.fn(I)}catch(N){}e&&(I=e)}),A=Ig({},I||{});for(QA in M.settings)A[QA]===void 0&&(A[QA]=M.settings[QA]);if(TE(A),A.crossDomain||(A.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(A.url)&&RegExp.$2!==AA.location.host),A.url||(A.url=AA.location.toString()),pE(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?"":lE)),xE(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,e=!1;if(Q.status>=200&&Q.status<300||Q.status==304||Q.status==0&&E=="file:"){if(g=g||uE(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){e=N}if(e)return GA(e,"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(cA in A.xhrFields)Q[cA]=A.xhrFields[cA];for(cA in A.headers)Q.setRequestHeader(cA,A.headers[cA]);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=jg;M.version="<%= version %>";jg(AA.FxAjaxInterceptors);var eg=(I={})=>{let A=gA({pid:"",sp:"KG",device_id:JA,client_ip:"127.0.0.1",timestamp:Math.floor(Date.now()/1e3),nonce:NE(64),token:FE,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 WE(I){let{url:A,header:g}=I;return await M.fetch({url:A,headers:JSON.parse(g),contentType:"application/json",crossDomain:!0})}async function OE(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 VE(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 PE(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 jE(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 ZE(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 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 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 jE(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 PE(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 ZE(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 VE(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 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 gB(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(e){}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(e=>e.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 XE=zA,DA=window.yinsudaClient;DA||(DA=new XE,a.onRuntimeInitialized=function(){let I=a.IHttp.implement({get:async function(A,g,C){let B=C.clone(),i=await WE({url:A,header:g});B.opCall(JSON.stringify(i)),B.delete()},post:async function(A,g,C,B){let i=B.clone(),D=await OE({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 Ng=class extends LC.EventEmitter{constructor(g){super();this.core=g;r(this,"EVENT",YC);r(this,"log");r(this,"yinsudaClient");r(this,"assetsPath","");r(this,"workerURL","");r(this,"currentTimeIndex",0);r(this,"lyric");r(this,"pitchList");r(this,"lyricStartTimeList");r(this,"musicId");r(this,"originalPlayer");r(this,"accompanyPlayer");r(this,"originalURL");r(this,"accompanyURL");r(this,"useOriginalSong",!0);r(this,"volume",100);r(this,"bgmAudioTrack");r(this,"audioSourceNodes",[]);r(this,"downloadMusicPromise",{});this.log=g.log.createChild({id:"mp"}),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}get isLyricDownloaded(){return!!this.lyric}get isPitchDownloaded(){return!!this.pitchList}get isMusicDownloaded(){return!!this.originalPlayer}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)}initDownloadPromise(){this.downloadMusicPromise.promise=new Promise((g,C)=>{this.downloadMusicPromise.resolve=g,this.downloadMusicPromise.reject=C})}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.initDownloadPromise(),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"),this.lyric=C,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);var rg=class{constructor(A){this.core=A;r(this,"log");r(this,"intervalId",-1);this.log=A.log.createChild({id:"aal-m"}),A.innerEmitter.on(A.INNER_EVENT.REMOTE_TRACK_SUBSCRIBED,this.onRemoteSubscribed,this)}get remotePublishedUserMap(){return this.core.room.remotePublishedUserMap}onRemoteSubscribed({track:A}){A.room!==this.core.room||A.kind!=="audio"||this.doMultiRemoteAudioAlignment()}start(){this.intervalId>=0||(this.doMultiRemoteAudioAlignment(),this.intervalId=setInterval(()=>this.doMultiRemoteAudioAlignment(),2e3))}stop(){clearInterval(this.intervalId),this.intervalId=-1}doMultiRemoteAudioAlignment(){if(!this.core.room.enableChorus||this.core.room.role!=="audience"||[...this.remotePublishedUserMap.values()].filter(i=>i.subscribeState.audio&&i.muteState.audioAvailable).length<2||this.checkIsMultiRemoteAudioAligned())return;let g=0,C=0,B={};this.remotePublishedUserMap.forEach(i=>{let{remoteAudioTrack:{currentAudioFrameNTPTime:D},subscribeState:E,muteState:Q}=i;!E.audio||!Q.audioAvailable||D<0||(B[i.userId]=D,(g===0||D<g)&&(g=D),D>C&&(C=D))}),!(C-g<100||C-g>60*1e3)&&(this.log.info(`maxNTPTime ${C} minNTPTime ${g}`,B),this.remotePublishedUserMap.forEach(i=>{var E;if(!i.subscribeState.audio||!i.muteState.audioAvailable)return;let D=C-i.remoteAudioTrack.currentAudioFrameNTPTime;this.log.info(`[${i.userId}] ntpDelayToMaxNTPTime ${D}`),(E=i.remoteAudioTrack.remoteAudioFrameBuffer)==null||E.setTargetDelay(300+(C-g)-D)}),this.checkIsMultiRemoteAudioAligned())}checkIsMultiRemoteAudioAligned(){let A=0,g=0,C=[];this.remotePublishedUserMap.forEach(i=>{var Q,o;if(!i.subscribeState.audio||!i.muteState.audioAvailable)return;let D=(Q=i.remoteAudioTrack.remoteAudioFrameBuffer)==null?void 0:Q.outputNTP,E=((o=i.remoteAudioTrack.remoteAudioFrameBuffer)==null?void 0:o.length)||0;D&&(C.push({userId:i.userId,ntp:D,bufferLen:E}),D>A&&(A=D),(g===0||D<g)&&(g=D))});let B=A-g<100;return this.log.warn("isAligned",B,C),B}};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 Ai=(g=>(g.ANCHOR="anchor",g.AUDIENCE="audience",g))(Ai||{}),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;r(this,"disableRandomCall",!0);r(this,"trtcBGM");r(this,"log");r(this,"player");r(this,"role");r(this,"bgmStartNTP",0);r(this,"sendSEIIntervalId",-1);r(this,"updateProgressAndPitchIntervalId",-1);r(this,"clearBlackVideoTrack");r(this,"BGM_AND_PITCH_UPDATE_INTERVAL",100);r(this,"isOnStartedEmitted",!1);r(this,"isBackSingerAutoStarted",!1);r(this,"audioAlignmentManager");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(),this.audioAlignmentManager=new rg(this.core)}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"}}))}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,businessInfo:JSON.stringify({Str_uc_params:{is_send_audio_filterable:!1}})}),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.trtc.on(this.core.TRTC.EVENT.REMOTE_VIDEO_AVAILABLE,C=>{C.userId.split("_").pop()==="bgm"&&!this.isLeadSinger&&this.core.trtc.startRemoteVideo({userId:C.userId,streamType:C.streamType})}),this.core.trtc.on(this.core.TRTC.EVENT.SEI_MESSAGE,async C=>{var Q,o,s;let B=JSON.parse(new TextDecoder().decode(C.data));B.params.music_id=hg(B.params.music_id);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;if(this.fixBGMProgress(E),this.isAudience){let t=((s=(o=(Q=this.core.room.remotePublishedUserMap.get(C.userId))==null?void 0:Q.remoteAudioTrack)==null?void 0:o.remoteAudioFrameBuffer)==null?void 0:s.length)||0;this.emit("progress_updated",{currentTime:E===0?0:E+t,duration:B.params.duration})}})),this.core.room.audioManager.enableDecodeNTPFromAudioFrame()}fixBGMProgress(g){if(!this.isBackSinger||!this.player.isPlaying)return;Math.abs(g-this.player.currentTime)>80&&(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.sendSEIIntervalId!==-1||(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.stopSendSEI();let C={api:"info",params:{music_id:GI(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}))}))}stopSendSEI(){var g;this.sendSEIIntervalId===-1||!this.isLeadSinger||((g=this.clearBlackVideoTrack)==null||g.call(this),this.core.Timer.clearTask(this.sendSEIIntervalId),this.sendSEIIntervalId=-1)}async onStarted(){this.isOnStartedEmitted||(this.log.info("onStarted"),this.emit("started"),this.isOnStartedEmitted=!0,this.isAudience?(this.audioAlignmentManager.start(),this.log.info("auto start chorus for audience"),this.core.trtc.startPlugin("Chorus",{})):(this.updateProgressAndPitchIntervalId=this.core.Timer.run("interval",()=>{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.log.info("auto start chorus for backsinger"),this.core.trtc.startPlugin("Chorus",{}),this.isBackSingerAutoStarted=!0))))}onStopped(){this.log.info("onStopped"),this.core.clearStarted(this,this.getGroup()),this.player.stop(),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){this.isAudience||(typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),this.isLeadSinger&&this.startSendSEI(),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](),g.role&&g.role!==this.role&&await this.switchRole(g.role)}async stop(){this.player.isStopped||(this.player.stop(),this.reset(),this.emit("stopped"))}async switchRole(g){if(g===this.role)return;this.onStopped(),this.role=g,await this.core.trtc.switchRole(this.isBackSinger?this.core.TRTC.TYPE.ROLE_ANCHOR:this.core.TRTC.TYPE.ROLE_AUDIENCE),this.isBackSinger&&!this.player.isMusicDownloaded&&await this.player.loadMusic({musicId:this.player.musicId,isNeedDownloadMusic:!0,isNeedLyric:!this.player.isLyricDownloaded,isNeedPitch:!this.player.isPitchDownloaded}),this.core.room.remotePublishedUserMap.forEach(B=>{B.remoteAudioTrack.player.setTrack(B.remoteAudioTrack.outMediaTrack),this.isBackSinger&&B.remoteAudioTrack.clearBuffer()});let C=`${this.core.room.roomId}_bgm`;this.core.room.remotePublishedUserMap.has(C)&&(this.core.trtc.muteRemoteAudio(C,this.isBackSinger),await this.onStarted())}reset(){this.bgmStartNTP=0,this.isOnStartedEmitted=!1,this.isBackSinger&&(this.isBackSingerAutoStarted=!1),this.trtcBGM&&this.trtcBGM.stopLocalAudio(),this.isAudience?this.audioAlignmentManager.stop():(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.stopSendSEI(),this.core.room.audioManager.disableEncodeNTPToAudioFrame(),this.core.room.audioManager.disableDecodeNTPFromAudioFrame(),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}};r(NA,"EVENT",JC),r(NA,"decodeIdWithPrefix",hg),r(NA,"Name","Chorus");var zg=NA;var fi=zg;export{zg as Chorus,Ai as UserRole,fi as default};
|
|
23
|
+
`).map(B=>{let i=B.match(/\[(\d+),/);if(i)return+i[1]}).filter(B=>typeof B=="number"),this.lyric=C,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);var rg=class{constructor(A){this.core=A;r(this,"log");r(this,"intervalId",-1);this.log=A.log.createChild({id:"aal-m"}),A.innerEmitter.on(A.INNER_EVENT.REMOTE_TRACK_SUBSCRIBED,this.onRemoteSubscribed,this)}get remotePublishedUserMap(){return this.core.room.remotePublishedUserMap}onRemoteSubscribed({track:A}){A.room!==this.core.room||A.kind!=="audio"||this.doMultiRemoteAudioAlignment()}start(){this.intervalId>=0||(this.doMultiRemoteAudioAlignment(),this.intervalId=setInterval(()=>this.doMultiRemoteAudioAlignment(),2e3))}stop(){clearInterval(this.intervalId),this.intervalId=-1}doMultiRemoteAudioAlignment(){if(!this.core.room.enableChorus||this.core.room.role!=="audience"||[...this.remotePublishedUserMap.values()].filter(i=>i.subscribeState.audio&&i.muteState.audioAvailable).length<2||this.checkIsMultiRemoteAudioAligned())return;let g=0,C=0,B={};this.remotePublishedUserMap.forEach(i=>{let{remoteAudioTrack:{currentAudioFrameNTPTime:D},subscribeState:E,muteState:Q}=i;!E.audio||!Q.audioAvailable||D<0||(B[i.userId]=D,(g===0||D<g)&&(g=D),D>C&&(C=D))}),!(C-g<100||C-g>60*1e3)&&(this.log.info(`maxNTPTime ${C} minNTPTime ${g}`,B),this.remotePublishedUserMap.forEach(i=>{var E;if(!i.subscribeState.audio||!i.muteState.audioAvailable)return;let D=C-i.remoteAudioTrack.currentAudioFrameNTPTime;this.log.info(`[${i.userId}] ntpDelayToMaxNTPTime ${D}`),(E=i.remoteAudioTrack.remoteAudioFrameBuffer)==null||E.setTargetDelay(300+(C-g)-D)}),this.checkIsMultiRemoteAudioAligned())}checkIsMultiRemoteAudioAligned(){let A=0,g=0,C=[];this.remotePublishedUserMap.forEach(i=>{var Q,o;if(!i.subscribeState.audio||!i.muteState.audioAvailable)return;let D=(Q=i.remoteAudioTrack.remoteAudioFrameBuffer)==null?void 0:Q.outputNTP,E=((o=i.remoteAudioTrack.remoteAudioFrameBuffer)==null?void 0:o.length)||0;D&&(C.push({userId:i.userId,ntp:D,bufferLen:E}),D>A&&(A=D),(g===0||D<g)&&(g=D))});let B=A-g<100;return B||this.log.warn("isAligned",B,C),B}};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 Ai=(g=>(g.ANCHOR="anchor",g.AUDIENCE="audience",g))(Ai||{}),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;r(this,"disableRandomCall",!0);r(this,"trtcBGM");r(this,"log");r(this,"player");r(this,"role");r(this,"bgmStartNTP",0);r(this,"sendSEIIntervalId",-1);r(this,"updateProgressAndPitchIntervalId",-1);r(this,"clearBlackVideoTrack");r(this,"BGM_AND_PITCH_UPDATE_INTERVAL",100);r(this,"isOnStartedEmitted",!1);r(this,"isBackSingerAutoStarted",!1);r(this,"audioAlignmentManager");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(),this.audioAlignmentManager=new rg(this.core)}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:{bitrate:128,sampleRate:48e3,channelCount:2}}}))}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,businessInfo:JSON.stringify({Str_uc_params:{is_send_audio_filterable:!1}})}),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.trtc.on(this.core.TRTC.EVENT.REMOTE_VIDEO_AVAILABLE,C=>{C.userId.split("_").pop()==="bgm"&&!this.isLeadSinger&&this.core.trtc.startRemoteVideo({userId:C.userId,streamType:C.streamType})}),this.core.trtc.on(this.core.TRTC.EVENT.SEI_MESSAGE,async C=>{var Q,o,s;let B=JSON.parse(new TextDecoder().decode(C.data));B.params.music_id=hg(B.params.music_id);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;if(this.fixBGMProgress(E),this.isAudience){let t=((s=(o=(Q=this.core.room.remotePublishedUserMap.get(C.userId))==null?void 0:Q.remoteAudioTrack)==null?void 0:o.remoteAudioFrameBuffer)==null?void 0:s.length)||0;this.emit("progress_updated",{currentTime:E===0?0:E+t,duration:B.params.duration})}})),this.core.room.audioManager.enableDecodeNTPFromAudioFrame()}fixBGMProgress(g){if(!this.isBackSinger||!this.player.isPlaying)return;Math.abs(g-this.player.currentTime)>80&&(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.sendSEIIntervalId!==-1||(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.stopSendSEI();let C={api:"info",params:{music_id:GI(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}))}))}stopSendSEI(){var g;this.sendSEIIntervalId===-1||!this.isLeadSinger||((g=this.clearBlackVideoTrack)==null||g.call(this),this.core.Timer.clearTask(this.sendSEIIntervalId),this.sendSEIIntervalId=-1)}async onStarted(){this.isOnStartedEmitted||(this.log.info("onStarted"),this.emit("started"),this.isOnStartedEmitted=!0,this.isAudience?(this.audioAlignmentManager.start(),this.log.info("auto start chorus for audience"),this.core.trtc.startPlugin("Chorus",{})):(this.updateProgressAndPitchIntervalId=this.core.Timer.run("interval",()=>{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.log.info("auto start chorus for backsinger"),this.core.trtc.startPlugin("Chorus",{}),this.isBackSingerAutoStarted=!0))))}onStopped(){this.log.info("onStopped"),this.core.clearStarted(this,this.getGroup()),this.player.stop(),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){this.isAudience||(typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),this.isLeadSinger&&this.startSendSEI(),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](),g.role&&g.role!==this.role&&await this.switchRole(g.role)}async stop(){this.player.isStopped||(this.player.stop(),this.reset(),this.emit("stopped"))}async switchRole(g){if(g===this.role)return;this.onStopped(),this.role=g,await this.core.trtc.switchRole(this.isBackSinger?this.core.TRTC.TYPE.ROLE_ANCHOR:this.core.TRTC.TYPE.ROLE_AUDIENCE),this.isBackSinger&&!this.player.isMusicDownloaded&&await this.player.loadMusic({musicId:this.player.musicId,isNeedDownloadMusic:!0,isNeedLyric:!this.player.isLyricDownloaded,isNeedPitch:!this.player.isPitchDownloaded}),this.core.room.remotePublishedUserMap.forEach(B=>{B.remoteAudioTrack.player.setTrack(B.remoteAudioTrack.outMediaTrack),this.isBackSinger&&B.remoteAudioTrack.clearBuffer()});let C=`${this.core.room.roomId}_bgm`;this.core.room.remotePublishedUserMap.has(C)&&(this.core.trtc.muteRemoteAudio(C,this.isBackSinger),await this.onStarted())}reset(){this.bgmStartNTP=0,this.isOnStartedEmitted=!1,this.isBackSinger&&(this.isBackSingerAutoStarted=!1),this.trtcBGM&&this.trtcBGM.stopLocalAudio(),this.isAudience?this.audioAlignmentManager.stop():(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.stopSendSEI(),this.core.room.audioManager.disableEncodeNTPToAudioFrame(),this.core.room.audioManager.disableDecodeNTPFromAudioFrame(),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}};r(NA,"EVENT",JC),r(NA,"decodeIdWithPrefix",hg),r(NA,"Name","Chorus");var zg=NA;var fi=zg;export{zg as Chorus,Ai as UserRole,fi as default};
|
|
@@ -20,4 +20,4 @@ return ret;
|
|
|
20
20
|
`),t+=`};
|
|
21
21
|
`,D.push(t);var N=oC(Function,D).apply(null,E);return i=xQ(N),HI[B]=i,i}function VQ(I){I>4&&(W.get(I).refcount+=1)}function PQ(I,A){I=og(I,"_emval_take_value");var g=I.readValueFromPointer(A);return wA.toHandle(g)}function jQ(){YA("")}function ZQ(){return Date.now()}function XQ(I,A,g){u.copyWithin(I,A,A+g)}function zQ(I){YA("OOM")}function vQ(I){u.length,zQ()}var ng={};function _Q(){return fg||"./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,_:_Q()};for(var g in ng)ng[g]===void 0?delete A[g]:A[g]=ng[g];var C=[];for(var g in A)C.push(g+"="+A[g]);lA.strings=C}return lA.strings}function $Q(I,A){for(var g=0;g<I.length;++g)O[A++>>0]=I.charCodeAt(g);O[A>>0]=0}function AE(I,A){var g=0;return lA().forEach(function(C,B){var i=A+g;n[I+B*4>>2]=i,$Q(C,i),g+=C.length+1}),0}function gE(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 IE(I){return 52}function CE(I,A,g,C,B){return 70}var BE=[null,[],[]];function QE(I,A){var g=BE[I];A===0||A===10?((I===1?oB:LA)(tC(g,0)),g.length=0):g.push(A)}function EE(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++)QE(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 iE(I,A){for(var g=0,C=0;C<=A;g+=I[C++]);return g}var wC=[31,29,31,30,31,30,31,31,30,31,30,31],eC=[31,28,31,30,31,30,31,31,30,31,30,31];function oE(I,A){for(var g=new Date(I.getTime());A>0;){var C=XA(g.getFullYear()),B=g.getMonth(),i=(C?wC:eC)[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 DE(I,A,g){var C=Vg(I)+1,B=new Array(C);return sC(I,B,0,B.length),B}function sE(I,A){O.set(I,A)}function aE(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,y,m){for(var J=typeof w=="number"?w.toString():w||"";J.length<y;)J=m[0]+J;return J}function e(w,y){return t(w,y,"0")}function N(w,y){function m(EA){return EA<0?-1:EA>0?1:0}var J;return(J=m(w.getFullYear()-y.getFullYear()))===0&&(J=m(w.getMonth()-y.getMonth()))===0&&(J=m(w.getDate()-y.getDate())),J}function F(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 y=oE(new Date(w.tm_year+1900,0,1),w.tm_yday),m=new Date(y.getFullYear(),0,4),J=new Date(y.getFullYear()+1,0,4),EA=F(m),xA=F(J);return N(EA,y)<=0?N(xA,y)<=0?y.getFullYear()+1:y.getFullYear():y.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 y=w.tm_year+1900;return e(y/100|0,2)},"%d":function(w){return e(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 e(w.tm_hour,2)},"%I":function(w){var y=w.tm_hour;return y==0?y=12:y>12&&(y-=12),e(y,2)},"%j":function(w){return e(w.tm_mday+iE(XA(w.tm_year+1900)?wC:eC,w.tm_mon-1),3)},"%m":function(w){return e(w.tm_mon+1,2)},"%M":function(w){return e(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 e(w.tm_sec,2)},"%t":function(){return" "},"%u":function(w){return w.tm_wday||7},"%U":function(w){var y=w.tm_yday+7-w.tm_wday;return e(Math.floor(y/7),2)},"%V":function(w){var y=Math.floor((w.tm_yday+7-(w.tm_wday+6)%7)/7);if((w.tm_wday+371-w.tm_yday-2)%7<=2&&y++,y){if(y==53){var m=(w.tm_wday+371-w.tm_yday)%7;m!=4&&(m!=3||!XA(w.tm_year))&&(y=1)}}else{y=52;var J=(w.tm_wday+7-w.tm_yday-1)%7;(J==4||J==5&&XA(w.tm_year%400-1))&&y++}return e(y,2)},"%w":function(w){return w.tm_wday},"%W":function(w){var y=w.tm_yday+7-(w.tm_wday+6)%7;return e(Math.floor(y/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 y=w.tm_gmtoff,m=y>=0;return y=Math.abs(y)/60,y=y/60*100+y%60,(m?"+":"-")+("0000"+y).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=DE(D);return U.length>A?0:(sE(U,I),U.length-1)}function tE(I,A,g,C,B){return aE(I,A,g,C)}function wE(I){Bg=I,eB()||(a.onExit&&a.onExit(I),pg=!0),ug(I,new vI(I))}function eE(I,A){Bg=I,wE(I)}function yE(I){if(I instanceof vI||I=="unwind")return Bg;ug(1,I)}function NE(I){var A=Vg(I)+1,g=jg(A);return aC(I,g,A),g}MA=a.BindingError=ig(Error,"BindingError");lB();_I=a.PureVirtualError=ig(Error,"PureVirtualError");fB();qB();BC=a.InternalError=ig(Error,"InternalError");gQ();DQ();iC=a.UnboundTypeError=ig(Error,"UnboundTypeError");var rE={d:JB,p:VB,r:PB,y:jB,H:ZB,h:wQ,j:eQ,m:yQ,a:NQ,J:rQ,G:cQ,k:FQ,b:GQ,v:MQ,K:SQ,i:LQ,c:YQ,u:UQ,o:fQ,s:uQ,l:pQ,I:mQ,f:bQ,e:DC,g:OQ,q:VQ,w:PQ,n:jQ,D:ZQ,E:XQ,C:vQ,A:AE,B:gE,F:IE,x:CE,t:EE,z:tE};YB();var yC=a._main=function(){return(yC=a._main=a.asm.N).apply(null,arguments)},Pg=function(){return(Pg=a.asm.O).apply(null,arguments)},v=function(){return(v=a.asm.Q).apply(null,arguments)},NC=function(){return(NC=a.asm.R).apply(null,arguments)};a.__embind_initialize_bindings=function(){return(a.__embind_initialize_bindings=a.asm.S).apply(null,arguments)};var jg=function(){return(jg=a.asm.T).apply(null,arguments)},rC=function(){return(rC=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;dA=function I(){Ig||cC(),Ig||(dA=I)};function cE(I=[]){var A=yC;I.unshift(fg);var g=I.length,C=jg((g+1)*4),B=C>>2;I.forEach(D=>{L[B++]=NE(D)}),L[B]=0;try{var i=A(g,C);return eE(i,!0),i}catch(D){return yE(D)}}function cC(I=qI){if(sA>0||(yB(),sA>0))return;function A(){Ig||(Ig=!0,a.calledRun=!0,!pg&&(NB(),rB(),a.onRuntimeInitialized&&a.onRuntimeInitialized(),RC&&cE(I),cB()))}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 lI=["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 RE(I){let A="";for(let g=0;g<I;g++){let C=Math.floor(Math.random()*lI.length);A+=lI[C]}return A}var fA=null,Hg={},FE=async(I,A,g)=>(I.postMessage({action:"translate",url:g,data:A,seq:1},[A]),await new Promise(C=>{Hg[1]=B=>{C(B)}})),GE=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])}}},Lg=async I=>{if(fA){let A=fA;return fetch(I).then(g=>g.arrayBuffer()).then(async g=>FE(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},hE="anonymous",ME="password";function BA(I,A){var g=(I&65535)+(A&65535),C=(I>>16)+(A>>16)+(g>>16);return C<<16|g&65535}function SE(I,A){return I<<A|I>>>32-A}function wg(I,A,g,C,B,i){return BA(SE(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 d(I,A,g,C,B,i,D){return wg(A^g^C,I,A,B,i,D)}function H(I,A,g,C,B,i,D){return wg(g^(A|~C),I,A,B,i,D)}function nE(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=d(E,Q,o,s,I[g+5],4,-378558),s=d(s,E,Q,o,I[g+8],11,-2022574463),o=d(o,s,E,Q,I[g+11],16,1839030562),Q=d(Q,o,s,E,I[g+14],23,-35309556),E=d(E,Q,o,s,I[g+1],4,-1530992060),s=d(s,E,Q,o,I[g+4],11,1272893353),o=d(o,s,E,Q,I[g+7],16,-155497632),Q=d(Q,o,s,E,I[g+10],23,-1094730640),E=d(E,Q,o,s,I[g+13],4,681279174),s=d(s,E,Q,o,I[g],11,-358537222),o=d(o,s,E,Q,I[g+3],16,-722521979),Q=d(Q,o,s,E,I[g+6],23,76029189),E=d(E,Q,o,s,I[g+9],4,-640364487),s=d(s,E,Q,o,I[g+12],11,-421815835),o=d(o,s,E,Q,I[g+15],16,530742520),Q=d(Q,o,s,E,I[g+2],23,-995338651),E=H(E,Q,o,s,I[g],6,-198630844),s=H(s,E,Q,o,I[g+7],10,1126891415),o=H(o,s,E,Q,I[g+14],15,-1416354905),Q=H(Q,o,s,E,I[g+5],21,-57434055),E=H(E,Q,o,s,I[g+12],6,1700485571),s=H(s,E,Q,o,I[g+3],10,-1894986606),o=H(o,s,E,Q,I[g+10],15,-1051523),Q=H(Q,o,s,E,I[g+1],21,-2054922799),E=H(E,Q,o,s,I[g+8],6,1873313359),s=H(s,E,Q,o,I[g+15],10,-30611744),o=H(o,s,E,Q,I[g+6],15,-1560198380),Q=H(Q,o,s,E,I[g+13],21,1309151649),E=H(E,Q,o,s,I[g+4],6,-145523070),s=H(s,E,Q,o,I[g+11],10,-1120210379),o=H(o,s,E,Q,I[g+2],15,718787259),Q=H(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 LE(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 YE(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 UE(I){return LE(nE(YE(I),I.length*8))}function JE(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 kE(I){return unescape(encodeURIComponent(I))}function KE(I){return UE(kE(I))}function dE(I){return JE(KE(I))}function HE(I,A,g){return dE(I)}var QA,cA,AA=window,KA=AA.document,lE=/^(?:text|application)\/javascript/i,fE=/^(?:text|application)\/xml/i,FC="application/json",GC="text/html",uE=/^\s*$/,pE="jsonpcallback=?",mE=Object.prototype.toString,fI=encodeURIComponent,_=function(){},V=function(I){return mE.call(I).toLowerCase().slice(8,-1)},zA=[];function Zg(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(Zg)}function eg(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 qE(I){let A="text";return I&&(I=I.split(";",2)[0]),I==GC?A="html":I==FC?A="json":lE.test(I)?A="script":fE.test(I)&&(A="xml"),A}function lg(I,A){return A===""?I:(I+"&"+A).replace(/[&?]{1,2}/,"?")}function TE(I){I.data&&V(I.data)==="object"&&(I.data=bE(I.data)),I.data&&(!I.type||I.type.toUpperCase()==="GET"||I.dataType==="jsonp")&&(I.url=lg(I.url,I.data))}function hC(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"?hC(I,B,g,D):I.add(D,B)}function bE(I,A){let g=[];return g.add=function(C,B){V(B)==="function"&&(B=B()),B==null&&(B=""),this.push(fI(C)+"="+fI(B))},hC(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 xE(I,A,g){let C=M.settings[A];return V(C)==="function"&&C.call(I,g),!0}function yA(I,A,g,C){if(I.global)return xE(A||KA,g,C)}function WE(I){I.global&&M.active++===0&&yA(I,null,"ajaxStart")}function OE(I){I.global&&!--M.active&&yA(I,null,"ajaxStop")}function MC(I,A){let g=A.context;if(A.beforeSend.call(g,I,A)===!1||yA(A,g,"ajaxBeforeSend",[I,A])===!1)return!1;yA(A,g,"ajaxSend",[I,A])}function SC(I,A,g){let C=g.context,B="success";typeof g.success=="function"&&g.success.call(C,I,B,A),yA(g,C,"ajaxSuccess",[A,g,I]),nC(B,A,g)}function GA(I,A,g,C){let B=C.context;typeof C.error=="function"&&C.error.call(B,g,A,I),yA(C,B,"ajaxError",[g,C,I]),nC(A,g,C)}function nC(I,A,g){let C=g.context;typeof g.complete=="function"&&g.complete.call(C,A,I),yA(g,C,"ajaxComplete",[A,g]),OE(g)}function VE(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):SC(A,E,I),AA[g]=i||_,A&&V(i)==="function"&&i(A),i=A=void 0},MC(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,e){return e.index-t.index}),B.forEach(function(t){let e;if(t&&V(t.fn)==="function")try{e=t.fn(I)}catch(N){}e&&(I=e)}),A=Cg({},I||{});for(QA in M.settings)A[QA]===void 0&&(A[QA]=M.settings[QA]);if(WE(A),A.crossDomain||(A.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(A.url)&&RegExp.$2!==AA.location.host),A.url||(A.url=AA.location.toString()),TE(A),g=A.dataType,C=/\?.+=\?/.test(A.url),C&&(g="jsonp"),A.cache===!1&&(A.url=lg(A.url,"_="+new Date().getTime())),g==="jsonp"||g==="script")return g==="jsonp"&&!C&&(A.url=lg(A.url,A.jsonp?A.jsonp+"=?":A.jsonp===!1?"":pE)),VE(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,e=!1;if(Q.status>=200&&Q.status<300||Q.status==304||Q.status==0&&E=="file:"){if(g=g||qE(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=uE.test(t)?null:JSON.parse(t))}catch(N){e=N}if(e)return GA(e,"parsererror",Q,A)}SC(t,Q,A)}else GA(Q.statusText||null,Q.status?"error":"abort",Q,A)}},MC(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(cA in A.xhrFields)Q[cA]=A.xhrFields[cA];for(cA in A.headers)Q.setRequestHeader(cA,A.headers[cA]);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:GC,text:"text/plain"},crossDomain:!1,timeout:0,cache:!0};M.get=function(){return M(eg.apply(null,arguments))};M.post=function(){let I=eg.apply(null,arguments);return I.type="POST",M(I)};M.jsonp=function(){let I=eg.apply(null,arguments);return I.dataType="jsonp",M(I)};M.script=function(){let I=eg.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=Zg;M.version="<%= version %>";Zg(AA.FxAjaxInterceptors);var yg=(I={})=>{let A=gA({pid:"",sp:"KG",device_id:kA,client_ip:"127.0.0.1",timestamp:Math.floor(Date.now()/1e3),nonce:RE(64),token:ME,userid:hE,ssl:1},I),g=I.appkey,C=[],B=JSON.stringify(A);return C.push(B),C.push(g),{signature:HE(C.join("")),body:B}};async function PE(I){let{url:A,header:g}=I;return await M.fetch({url:A,headers:JSON.parse(g),contentType:"application/json",crossDomain:!0})}async function jE(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 ZE(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 XE(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 zE(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 vE(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 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 Ug}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 XE(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 vE(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 ZE(this.commonParams);return C.error_code!==0&&(g.status=C.error_code),Promise.resolve(g)}async setDecodeWorker(A){let{url:g}=A;return GE(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 LI(`${A}/ffmpeg-core.js`,"text/javascript"),wasmURL:await LI(`${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 BB(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 Lg(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 Lg(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(e){}this.accompanySegmentSongId=C,this.accompanySegmentBegin=s.segment_begin,this.accompanySegmentEnd=s.segment_end;let t=await Lg(s.url);t.error===0?(this.accompanySegmentPcmData=(o=t==null?void 0:t.streams)==null?void 0:o.map(e=>e.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 _E=vA,DA=window.yinsudaClient;DA||(DA=new _E,a.onRuntimeInitialized=function(){let I=a.IHttp.implement({get:async function(A,g,C){let B=C.clone(),i=await PE({url:A,header:g});B.opCall(JSON.stringify(i)),B.delete()},post:async function(A,g,C,B){let i=B.clone(),D=await jE({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 YC=AI(zg(),1);var UC=(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))(UC||{});function gi(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 rg=class extends YC.EventEmitter{constructor(g){super();this.core=g;r(this,"EVENT",UC);r(this,"log");r(this,"yinsudaClient");r(this,"assetsPath","");r(this,"workerURL","");r(this,"currentTimeIndex",0);r(this,"lyric");r(this,"pitchList");r(this,"lyricStartTimeList");r(this,"musicId");r(this,"originalPlayer");r(this,"accompanyPlayer");r(this,"originalURL");r(this,"accompanyURL");r(this,"useOriginalSong",!0);r(this,"volume",100);r(this,"bgmAudioTrack");r(this,"audioSourceNodes",[]);r(this,"downloadMusicPromise",{});this.log=g.log.createChild({id:"mp"}),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}get isLyricDownloaded(){return!!this.lyric}get isPitchDownloaded(){return!!this.pitchList}get isMusicDownloaded(){return!!this.originalPlayer}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)}initDownloadPromise(){this.downloadMusicPromise.promise=new Promise((g,C)=>{this.downloadMusicPromise.resolve=g,this.downloadMusicPromise.reject=C})}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.initDownloadPromise(),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"),this.lyric=C,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=gi(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 JC=AI(zg(),1);var cg=class{constructor(A){this.core=A;r(this,"log");r(this,"intervalId",-1);this.log=A.log.createChild({id:"aal-m"}),A.innerEmitter.on(A.INNER_EVENT.REMOTE_TRACK_SUBSCRIBED,this.onRemoteSubscribed,this)}get remotePublishedUserMap(){return this.core.room.remotePublishedUserMap}onRemoteSubscribed({track:A}){A.room!==this.core.room||A.kind!=="audio"||this.doMultiRemoteAudioAlignment()}start(){this.intervalId>=0||(this.doMultiRemoteAudioAlignment(),this.intervalId=setInterval(()=>this.doMultiRemoteAudioAlignment(),2e3))}stop(){clearInterval(this.intervalId),this.intervalId=-1}doMultiRemoteAudioAlignment(){if(!this.core.room.enableChorus||this.core.room.role!=="audience"||[...this.remotePublishedUserMap.values()].filter(i=>i.subscribeState.audio&&i.muteState.audioAvailable).length<2||this.checkIsMultiRemoteAudioAligned())return;let g=0,C=0,B={};this.remotePublishedUserMap.forEach(i=>{let{remoteAudioTrack:{currentAudioFrameNTPTime:D},subscribeState:E,muteState:Q}=i;!E.audio||!Q.audioAvailable||D<0||(B[i.userId]=D,(g===0||D<g)&&(g=D),D>C&&(C=D))}),!(C-g<100||C-g>60*1e3)&&(this.log.info(`maxNTPTime ${C} minNTPTime ${g}`,B),this.remotePublishedUserMap.forEach(i=>{var E;if(!i.subscribeState.audio||!i.muteState.audioAvailable)return;let D=C-i.remoteAudioTrack.currentAudioFrameNTPTime;this.log.info(`[${i.userId}] ntpDelayToMaxNTPTime ${D}`),(E=i.remoteAudioTrack.remoteAudioFrameBuffer)==null||E.setTargetDelay(300+(C-g)-D)}),this.checkIsMultiRemoteAudioAligned())}checkIsMultiRemoteAudioAligned(){let A=0,g=0,C=[];this.remotePublishedUserMap.forEach(i=>{var Q,o;if(!i.subscribeState.audio||!i.muteState.audioAvailable)return;let D=(Q=i.remoteAudioTrack.remoteAudioFrameBuffer)==null?void 0:Q.outputNTP,E=((o=i.remoteAudioTrack.remoteAudioFrameBuffer)==null?void 0:o.length)||0;D&&(C.push({userId:i.userId,ntp:D,bufferLen:E}),D>A&&(A=D),(g===0||D<g)&&(g=D))});let B=A-g<100;return this.log.warn("isAligned",B,C),B}};function Ii(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 kC=(g=>(g.ANCHOR="anchor",g.AUDIENCE="audience",g))(kC||{}),Ci="publish-mix-stream-to-room",KC=(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))(KC||{}),NA=class NA extends JC.EventEmitter{constructor(g){super();this.core=g;r(this,"disableRandomCall",!0);r(this,"trtcBGM");r(this,"log");r(this,"player");r(this,"role");r(this,"bgmStartNTP",0);r(this,"sendSEIIntervalId",-1);r(this,"updateProgressAndPitchIntervalId",-1);r(this,"clearBlackVideoTrack");r(this,"BGM_AND_PITCH_UPDATE_INTERVAL",100);r(this,"isOnStartedEmitted",!1);r(this,"isBackSingerAutoStarted",!1);r(this,"audioAlignmentManager");this.log=g.log.createChild({id:NA.Name}),this.player=new rg(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(),this.audioAlignmentManager=new cg(this.core)}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:Ii(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"}}))}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,businessInfo:JSON.stringify({Str_uc_params:{is_send_audio_filterable:!1}})}),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.trtc.on(this.core.TRTC.EVENT.REMOTE_VIDEO_AVAILABLE,C=>{C.userId.split("_").pop()==="bgm"&&!this.isLeadSinger&&this.core.trtc.startRemoteVideo({userId:C.userId,streamType:C.streamType})}),this.core.trtc.on(this.core.TRTC.EVENT.SEI_MESSAGE,async C=>{var Q,o,s;let B=JSON.parse(new TextDecoder().decode(C.data));B.params.music_id=Mg(B.params.music_id);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;if(this.fixBGMProgress(E),this.isAudience){let t=((s=(o=(Q=this.core.room.remotePublishedUserMap.get(C.userId))==null?void 0:Q.remoteAudioTrack)==null?void 0:o.remoteAudioFrameBuffer)==null?void 0:s.length)||0;this.emit("progress_updated",{currentTime:E===0?0:E+t,duration:B.params.duration})}})),this.core.room.audioManager.enableDecodeNTPFromAudioFrame()}fixBGMProgress(g){if(!this.isBackSinger||!this.player.isPlaying)return;Math.abs(g-this.player.currentTime)>80&&(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:Ci,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.sendSEIIntervalId!==-1||(this.trtcBGM.startLocalVideo({option:{videoTrack:gI(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.stopSendSEI();let C={api:"info",params:{music_id:hI(this.player.musicId)?this.player.musicId:GI(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}))}))}stopSendSEI(){var g;this.sendSEIIntervalId===-1||!this.isLeadSinger||((g=this.clearBlackVideoTrack)==null||g.call(this),this.core.Timer.clearTask(this.sendSEIIntervalId),this.sendSEIIntervalId=-1)}async onStarted(){this.isOnStartedEmitted||(this.log.info("onStarted"),this.emit("started"),this.isOnStartedEmitted=!0,this.isAudience?(this.audioAlignmentManager.start(),this.log.info("auto start chorus for audience"),this.core.trtc.startPlugin("Chorus",{})):(this.updateProgressAndPitchIntervalId=this.core.Timer.run("interval",()=>{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.log.info("auto start chorus for backsinger"),this.core.trtc.startPlugin("Chorus",{}),this.isBackSingerAutoStarted=!0))))}onStopped(){this.log.info("onStopped"),this.core.clearStarted(this,this.getGroup()),this.player.stop(),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 MI;case"update":return SI;case"stop":return nI}}async start(g){this.isAudience||(typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),this.isLeadSinger&&this.startSendSEI(),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](),g.role&&g.role!==this.role&&await this.switchRole(g.role)}async stop(){this.player.isStopped||(this.player.stop(),this.reset(),this.emit("stopped"))}async switchRole(g){if(g===this.role)return;this.onStopped(),this.role=g,await this.core.trtc.switchRole(this.isBackSinger?this.core.TRTC.TYPE.ROLE_ANCHOR:this.core.TRTC.TYPE.ROLE_AUDIENCE),this.isBackSinger&&!this.player.isMusicDownloaded&&await this.player.loadMusic({musicId:this.player.musicId,isNeedDownloadMusic:!0,isNeedLyric:!this.player.isLyricDownloaded,isNeedPitch:!this.player.isPitchDownloaded}),this.core.room.remotePublishedUserMap.forEach(B=>{B.remoteAudioTrack.player.setTrack(B.remoteAudioTrack.outMediaTrack),this.isBackSinger&&B.remoteAudioTrack.clearBuffer()});let C=`${this.core.room.roomId}_bgm`;this.core.room.remotePublishedUserMap.has(C)&&(this.core.trtc.muteRemoteAudio(C,this.isBackSinger),await this.onStarted())}reset(){this.bgmStartNTP=0,this.isOnStartedEmitted=!1,this.isBackSinger&&(this.isBackSingerAutoStarted=!1),this.trtcBGM&&this.trtcBGM.stopLocalAudio(),this.isAudience?this.audioAlignmentManager.stop():(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.stopSendSEI(),this.core.room.audioManager.disableEncodeNTPToAudioFrame(),this.core.room.audioManager.disableDecodeNTPFromAudioFrame(),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}};r(NA,"EVENT",KC),r(NA,"decodeIdWithPrefix",Mg),r(NA,"Name","Chorus");var Rg=NA;var Bi=Rg;return TC(Qi);})().default;
|
|
23
|
+
`).map(B=>{let i=B.match(/\[(\d+),/);if(i)return+i[1]}).filter(B=>typeof B=="number"),this.lyric=C,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=gi(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 JC=AI(zg(),1);var cg=class{constructor(A){this.core=A;r(this,"log");r(this,"intervalId",-1);this.log=A.log.createChild({id:"aal-m"}),A.innerEmitter.on(A.INNER_EVENT.REMOTE_TRACK_SUBSCRIBED,this.onRemoteSubscribed,this)}get remotePublishedUserMap(){return this.core.room.remotePublishedUserMap}onRemoteSubscribed({track:A}){A.room!==this.core.room||A.kind!=="audio"||this.doMultiRemoteAudioAlignment()}start(){this.intervalId>=0||(this.doMultiRemoteAudioAlignment(),this.intervalId=setInterval(()=>this.doMultiRemoteAudioAlignment(),2e3))}stop(){clearInterval(this.intervalId),this.intervalId=-1}doMultiRemoteAudioAlignment(){if(!this.core.room.enableChorus||this.core.room.role!=="audience"||[...this.remotePublishedUserMap.values()].filter(i=>i.subscribeState.audio&&i.muteState.audioAvailable).length<2||this.checkIsMultiRemoteAudioAligned())return;let g=0,C=0,B={};this.remotePublishedUserMap.forEach(i=>{let{remoteAudioTrack:{currentAudioFrameNTPTime:D},subscribeState:E,muteState:Q}=i;!E.audio||!Q.audioAvailable||D<0||(B[i.userId]=D,(g===0||D<g)&&(g=D),D>C&&(C=D))}),!(C-g<100||C-g>60*1e3)&&(this.log.info(`maxNTPTime ${C} minNTPTime ${g}`,B),this.remotePublishedUserMap.forEach(i=>{var E;if(!i.subscribeState.audio||!i.muteState.audioAvailable)return;let D=C-i.remoteAudioTrack.currentAudioFrameNTPTime;this.log.info(`[${i.userId}] ntpDelayToMaxNTPTime ${D}`),(E=i.remoteAudioTrack.remoteAudioFrameBuffer)==null||E.setTargetDelay(300+(C-g)-D)}),this.checkIsMultiRemoteAudioAligned())}checkIsMultiRemoteAudioAligned(){let A=0,g=0,C=[];this.remotePublishedUserMap.forEach(i=>{var Q,o;if(!i.subscribeState.audio||!i.muteState.audioAvailable)return;let D=(Q=i.remoteAudioTrack.remoteAudioFrameBuffer)==null?void 0:Q.outputNTP,E=((o=i.remoteAudioTrack.remoteAudioFrameBuffer)==null?void 0:o.length)||0;D&&(C.push({userId:i.userId,ntp:D,bufferLen:E}),D>A&&(A=D),(g===0||D<g)&&(g=D))});let B=A-g<100;return B||this.log.warn("isAligned",B,C),B}};function Ii(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 kC=(g=>(g.ANCHOR="anchor",g.AUDIENCE="audience",g))(kC||{}),Ci="publish-mix-stream-to-room",KC=(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))(KC||{}),NA=class NA extends JC.EventEmitter{constructor(g){super();this.core=g;r(this,"disableRandomCall",!0);r(this,"trtcBGM");r(this,"log");r(this,"player");r(this,"role");r(this,"bgmStartNTP",0);r(this,"sendSEIIntervalId",-1);r(this,"updateProgressAndPitchIntervalId",-1);r(this,"clearBlackVideoTrack");r(this,"BGM_AND_PITCH_UPDATE_INTERVAL",100);r(this,"isOnStartedEmitted",!1);r(this,"isBackSingerAutoStarted",!1);r(this,"audioAlignmentManager");this.log=g.log.createChild({id:NA.Name}),this.player=new rg(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(),this.audioAlignmentManager=new cg(this.core)}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:Ii(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:{bitrate:128,sampleRate:48e3,channelCount:2}}}))}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,businessInfo:JSON.stringify({Str_uc_params:{is_send_audio_filterable:!1}})}),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.trtc.on(this.core.TRTC.EVENT.REMOTE_VIDEO_AVAILABLE,C=>{C.userId.split("_").pop()==="bgm"&&!this.isLeadSinger&&this.core.trtc.startRemoteVideo({userId:C.userId,streamType:C.streamType})}),this.core.trtc.on(this.core.TRTC.EVENT.SEI_MESSAGE,async C=>{var Q,o,s;let B=JSON.parse(new TextDecoder().decode(C.data));B.params.music_id=Mg(B.params.music_id);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;if(this.fixBGMProgress(E),this.isAudience){let t=((s=(o=(Q=this.core.room.remotePublishedUserMap.get(C.userId))==null?void 0:Q.remoteAudioTrack)==null?void 0:o.remoteAudioFrameBuffer)==null?void 0:s.length)||0;this.emit("progress_updated",{currentTime:E===0?0:E+t,duration:B.params.duration})}})),this.core.room.audioManager.enableDecodeNTPFromAudioFrame()}fixBGMProgress(g){if(!this.isBackSinger||!this.player.isPlaying)return;Math.abs(g-this.player.currentTime)>80&&(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:Ci,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.sendSEIIntervalId!==-1||(this.trtcBGM.startLocalVideo({option:{videoTrack:gI(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.stopSendSEI();let C={api:"info",params:{music_id:hI(this.player.musicId)?this.player.musicId:GI(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}))}))}stopSendSEI(){var g;this.sendSEIIntervalId===-1||!this.isLeadSinger||((g=this.clearBlackVideoTrack)==null||g.call(this),this.core.Timer.clearTask(this.sendSEIIntervalId),this.sendSEIIntervalId=-1)}async onStarted(){this.isOnStartedEmitted||(this.log.info("onStarted"),this.emit("started"),this.isOnStartedEmitted=!0,this.isAudience?(this.audioAlignmentManager.start(),this.log.info("auto start chorus for audience"),this.core.trtc.startPlugin("Chorus",{})):(this.updateProgressAndPitchIntervalId=this.core.Timer.run("interval",()=>{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.log.info("auto start chorus for backsinger"),this.core.trtc.startPlugin("Chorus",{}),this.isBackSingerAutoStarted=!0))))}onStopped(){this.log.info("onStopped"),this.core.clearStarted(this,this.getGroup()),this.player.stop(),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 MI;case"update":return SI;case"stop":return nI}}async start(g){this.isAudience||(typeof g.useOriginalSong=="boolean"&&this.player.switchMusicTrack(g.useOriginalSong),this.isLeadSinger&&this.startSendSEI(),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](),g.role&&g.role!==this.role&&await this.switchRole(g.role)}async stop(){this.player.isStopped||(this.player.stop(),this.reset(),this.emit("stopped"))}async switchRole(g){if(g===this.role)return;this.onStopped(),this.role=g,await this.core.trtc.switchRole(this.isBackSinger?this.core.TRTC.TYPE.ROLE_ANCHOR:this.core.TRTC.TYPE.ROLE_AUDIENCE),this.isBackSinger&&!this.player.isMusicDownloaded&&await this.player.loadMusic({musicId:this.player.musicId,isNeedDownloadMusic:!0,isNeedLyric:!this.player.isLyricDownloaded,isNeedPitch:!this.player.isPitchDownloaded}),this.core.room.remotePublishedUserMap.forEach(B=>{B.remoteAudioTrack.player.setTrack(B.remoteAudioTrack.outMediaTrack),this.isBackSinger&&B.remoteAudioTrack.clearBuffer()});let C=`${this.core.room.roomId}_bgm`;this.core.room.remotePublishedUserMap.has(C)&&(this.core.trtc.muteRemoteAudio(C,this.isBackSinger),await this.onStarted())}reset(){this.bgmStartNTP=0,this.isOnStartedEmitted=!1,this.isBackSinger&&(this.isBackSingerAutoStarted=!1),this.trtcBGM&&this.trtcBGM.stopLocalAudio(),this.isAudience?this.audioAlignmentManager.stop():(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.stopSendSEI(),this.core.room.audioManager.disableEncodeNTPToAudioFrame(),this.core.room.audioManager.disableDecodeNTPFromAudioFrame(),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}};r(NA,"EVENT",KC),r(NA,"decodeIdWithPrefix",Mg),r(NA,"Name","Chorus");var Rg=NA;var Bi=Rg;return TC(Qi);})().default;
|