pj-trtc-web
Version:
品杰科技音视频通话组件
2 lines (1 loc) • 39.2 kB
JavaScript
(function(C,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("trtc-sdk-v5")):typeof define=="function"&&define.amd?define(["exports","vue","trtc-sdk-v5"],t):(C=typeof globalThis<"u"?globalThis:C||self,t(C.PjTrtcWeb={},C.Vue,C.TRTC))})(this,function(C,t,i){"use strict";var d=(n=>(n.EnterRoom="EnterRoom",n.ExitRoom="ExitRoom",n.KickedOut="KickedOut",n.RemoteUserEnter="RemoteUserEnter",n.RemoteUserExit="RemoteUserExit",n.RemoteVideoAvailable="RemoteVideoAvailable",n.RemoteVideoUnavailable="RemoteVideoUnavailable",n.RemoteAudioAvailable="RemoteAudioAvailable",n.RemoteAudioUnavailable="RemoteAudioUnavailable",n.ScreenShareStopped="ScreenShareStopped",n.CustomMessage="CustomMessage",n.NetworkQuality="NetworkQuality",n.ConnectionStateChanged="ConnectionStateChanged",n.AudioPlayStateChanged="AudioPlayStateChanged",n.VideoPlayStateChanged="VideoPlayStateChanged",n))(d||{}),S=(n=>(n.Normal="Normal",n.SubPriority="SubPriority",n))(S||{});class O{constructor(s){this.inRoom=!1,this.videoAvailable=!1,this.audioAvailable=!1,this.displayName="",this.userId=s}}class ge{static getPlatform(){const s=navigator.userAgent||navigator.vendor||window.opera;return/iPad|iPhone|iPod/.test(s)&&!window.MSStream?"iOS":/android/i.test(s)?"Android":/windows phone/i.test(s)?"Windows Phone":/Win(dows )?NT/.test(s)?"Windows":/Mac OS X/.test(s)?"macOS":/Linux/.test(s)?"Linux":"PC"}}const F=t.ref("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA9tJREFUaIHtmUtoXUUYx383Wklpba1thYrEEAS1KDYGS6GCINVFBV0oUVHaLlwVxZUrceFGpIIlSgTpUlDwUcH6KuJr1UqVUClI3QSFlqgVFRSTJu3PxT0H5p6ck8x59WbhHwbmzHwz3/zud+Z1bkelYXWA3cBDwE7gOmABOAMcA94BPgWadaw2mcbUKZfXlDrapO+lKrepR9UNkZ09ps5FQKSaU8fbBtmmnkscfhsBs1udLwGRal69t02QFzMOj6nrCmw3qjMVIFKdNT7qpUE66isZh0WReb4GRKrn2gIpA/NWAyA/twkSCzOoftIAzI1tgsTCXKEeqQlyX9sglyoye+qADMTum8DTwKtB2RjwGbAheZ4FHgA+rLg3x46lduMYmPPAg1SHqa4KYWxrzuyr82pVbdgGTF9A2oDpG0gZmA9WOkiTMH0HaQpmRYA0AdNXkLvV4QzMZGaA2StAEUwtkNgNcRMwCbwErA7Kh4CvgZF0WwKepHfT3AF8Qe+mOU733l6k1YmvycT38ookPhD8cvuD8n1J2U/qSCYyZc9mYUT2B+UHmozI5iB/TU79EPAlvZGJPZsdyekv9LE5p36Rah3UMqoCc57uZ6M8mFJqEgSqw4wD39RxHAvyd5BfG+Rnc2yrvmY/BPVXBvl/YgYYC/JLkN8S5M8U2A8BnwPDyXMK81pgMwZ8DKzLaX9tkP8tZoCxIDNBfjjITwFzBW2G6UYmtU+X5hBmB3CUxTBhFGaIUeTyOxoshwvqpqDusEtrWr0+szSX2TRvjRljmePHmcDx3qBuu3qhBZhB9Y3EttEjyuuB05PqQFA3sQxIVZjoVMb4Znt/+b1B3Sr1o37ClCV/M3D4u3pDBmZCvdgPmLIgI+qfgcNT6vqMzXb1PXU2B+Jf9V31tkyb2jCl30X1fnt/9dPmf+5cq+5UH1EfVu9U1yzRby2YKiCoL2QcnrM7ZwZK9NFRH3XxfSb2X4BGQFCfdbG+t3sc37hEuzUJ9ImkzbSL50xpmI7W+k9yDzABXJUpvwCcAKaTnXmB7gVpK3A7sCpjfyopn0+eO0m/TwU23wH3AH/kjqRGRNK0RX07Jzoxumj3ZDCU02+pyDQBkqab1JftLsvL6Vf1kHrLMn3mLQCH2gZJ02XqVvVx9XgwgOPqE+odiU2ZRSGNzJQF868NkDAdDEAO1uinoz6jXl1kc3nFSX6pJd2vKoVq+qrbN/0PstJUdY4M0nuvLtL6TH6kyDDQWfI/aiypKjv7KPAV+R8NmtBfwF3AyTKNqrxau2gPArqR21W2URWQw8CPFdrF6jTwftlG/wGddFAieKQSSwAAAABJRU5ErkJggg=="),Y=t.ref("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAZJJREFUaIHtmb1KHFEARs8Oa6UprEMEQdAXSJ1KkOi2yqovYEinTd4g1lr5DoHAioVPEEFbxVoWxEZQC39wj8Vi2N3E/Z2dvQ73wC0G7r3zHZjhMt8UVPJAMuoAaRFFQiOKhEYUCY3ciBRbrieAEvAZGB/yvW+BI6AC3A+8m/o6yuqV2VNVSw05Oo1JdUs9VCvqV/WvyDe1lm3+Jp7VVdsLzKi76l3L2pq6jjqnPmUUuB236pT/CnxRf1uXfYtz1L0hB+yFbevhx9Q19bjLdc9FYH7gFy09loBr4DvwsYd1SUF9BMaGEitDCpqPD5LcHIhRJDSiSGhEkdCIIqERRUIjioRGFAmNKBIaCfA06hBpkADVUYdo4BT4QR+ZEuAw9Tj9UwF+AtPAOnDS5boa6qz6OIySqkdu1E/2V9CdvU7ecPSV6YqdK9Md641kIzW13DhxWb3MJHYzF+qi7SVaS+xN9UD9pS6oFGyutSaAReq/FT6k+fD/hxvgD7APPAy6WavIuyVXB2IuiCKhEUVCI4qExgvqJkvk68cm+gAAAABJRU5ErkJggg=="),ue=t.ref("data:image/png;base64,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"),Ie=t.ref("data:image/png;base64,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"),G=t.ref("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA3BJREFUaIHdmk+IVVUcxz/PJgRRUchNoAbNoEggBWmCoSuNRHBjqdOqEKld4UIj1yWILirQdtFGcNG/hS4KIl2UiNoiFJoh+t8iamjs7zjzcXHv+M698+a9++498+6tLxzeu/f7zjnf77vnfGf4nddS+T9gUd0CYiFv5CHgaB1CqmIofW0BB4FTwBJgDDhXl6gyaKV7ZAi4BGxO7/8GbAS+q0lX35hdWreBUWAyvV4JvMN/aA+FQseBF4PrbcBLg5VTHq0O8XsWeDp9PwVsBS4PUlQZdDKyAvgCWJNejwEPA7cGqKtvdDICsB34mPbSews4lOP3V5x7Evgc+BD4u+JYoM62zcF71FfNYk/ALVavGwc/qLtzc3drK9XD6gX1A/VJ9a6RQ+qMuj/ocK96OZjwF/X+gN+g/hnJzLR6oIeBYfV1dTLXd0YdRV2v/pXenFDXBp1Hch0/UhcF/AuRjJjOs6aDgW3qeyZm58NN1DdzNy+q9wQDPZvjDwdcy+TxxsJx26thVL1SsN806ngH4pjZb+VcwP2jPhJwq9SfSsmeiy/VI+r3/XYkFZbHlPqY2Q32bcDfUJcE/E6TtVob6MKNq8tti31cvR3wp80+tVMLpLEQuhlRfdvukbw34Bar12ILLIpeRjQbi0PqZwH3q7o64Deof0TWWAhFjEyoD9gW+6D6e8B/4sJFcmEUMaJ6yWwkP5fjw0hGfT+WwKIoakTnRvLZgPtX3RRwq9QfI2kshH6MTKlbbItdoX4T8F+pSwN+hwOM5H6MaIMjuV8j2tBILmNEGxjJZY00LpLLGtGGRXIVI6qvWDyS73MBI7mqkcZEclUj2pBIjmFEGxDJsYxotnAx8EiOaaTWSMYkXWLhU2sqXKB+HWuwFP0WLsJIrlR8OFNO77yoUrioVA5aZ9zlpTqmLrMtdrvZAtsZs0/tpMnmX527j30U6FCfN/4fql6RnK8l73SuibANq2+ot3LjzKgHwg8+pf4c2cy+YPxeteSibbaIfV59V31CnXOssBTYBTwKLKtc6ocJ4GVgOr0eAa6m80BydLEDmKk8U4lvpGrr9V9yqTbfQc9CI/rxXl1Goh/v1XX8PAE8Q3vvDAMnKo1Ywx7pFsl7y45V9w8CjpEciJK+Xis7UF17JMQIycZ/jeQXGKXQBCNRUPfSioY74UCh5dwJ0nQAAAAASUVORK5CYII="),me=t.ref("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA5BJREFUeJztmkuIjWEYx39zBjPGpZQsyK3MoJAFEpIF5ZayILnulJ1buWxcNooF2cnKLbJRshALklsuC0luC5ciJQ3j1hjT3+Kdw+k458x5vss5Z3h+9axO3/M+7+883/e+73dOnSSc8shUu4CehMsy4LIMuCwDLsuAyzLgsgy4LAMuy4DLMuCyDLgsAy7LgMsy4LIMuCwDLsuAyzLgsgy4LAO9ql1AHg1AEzAIaAW+Ae1VrSiHSsqqB8YBY4HmrmgBRgADgQFF6vkJfAbagFfA86541hVPgM6UawegLsWfwuqBycAsYCYwl9AxSfMVuAXcAK4D14AfKYyTuKzewDxgJbCE0C2Vpg04D5wGLhE6MxGSkjUdWAMsBwYnkTAh3gNngZPA7bjJ4siqAxYD2wi3Wa1zHzgMnCLiMy6KrD7AamArMD7KoFXmMXCA0G0dlgutshYABwkrWlR+Egp+BLzuileEZ81X/mwXstuI/oTVciRh5RwBTCCsrPUx6ngKbAQulntBubKaCZIWRSjqG3CF8LC9AzwAvkfIk08/wmo7DZgPzAYaI+S5AGwmbEdKI6lU9Ja0V1K7orFCUmM3YyQVTZLWRayzXWGevUqNUaqzRhHu6zgP79HAyxjXWxkFvIhx/V1gFUW6rNjZcC3wkJ6xyiXJVMKqub7Qh/myGoDjwDHCg/V/ZABwhOCgT+4HubIGEVaGNZWrq6ZZS1iYfm+ys7JGE85WcypfU00zg3DubIYgq4VwFOiJG8xKMIZwQG/JAIeAIdWtp+YZAhzK8P+teFGZmQHeVruKHsKbDLAnxQFaU8xdiE8p5t6XAc4AO1JIfpl0iy9EK3A1hbx7gBO5Z5/tEc9VhbgpaWipc1aKMVzSvQTnsjubO3+gLTETv5a0XlJGlRWUHxlJyyS9iDmfXbl5Cw0UpcN+KJzaGwrkq2Y0SdovqSPCnH53VDaKDWIR9kDSpApMPE5MkfTYMKe/RKmELFTeLXlc4durtoxyoq+ko2XMaVexHN0NUKzDOiRtqAEBUWKTpM4i8yrYUeXKynZY7j3/QdLCGph0nFgq6WPOnDol7ezuunLfwU8kvOf+ApwD3qWwl6k0w4BlhHf5Fwkv/UqS5s/3/xz+lyMDLsuAyzLgsgy4LAMuy4DLMuCyDLgsAy7LgMsy4LIMuCwDLsuAyzLgsgy4LAMuy4DLMuCyDLgsAy7LgMsy4LIM/ALJ3UDt8dXUVQAAAABJRU5ErkJggg=="),P=t.ref("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA0FJREFUaIHtmUtIVUEYx3/XG5RQ3UgzrcBHDytIepG2amOrqEWuIshsHQQRLWrdgx6LiAjXRlALpUW1bVeQRmYFRlAh2VPMMnTR9d/inJvjSW3Ombl0wfuHgY8z8/++73/mcc7MpCThGSlgD9AC7ARWhc8HgIdAJ3AX8BtYks/SKKlH/0a3pB0+Y/sUcVDSuIWIHMYkHfAVPyU/Q2s3cA+YF5OXBfYC910T8CEkA7wGyhPyPwNrge8uSZS4kEOcILkIgArguGsSPnrkDVDj6OMdUIvDSubaIxtxFwFQDdS7OHAVUuPIN1HrQnYV4jI3oljmQnYV4mOx8OLLZyL/FUUhhYaikEJDUUihoSik0GArZClwFTgHzM9fOn9QClwErmH5G2S7ozsJHA3tt0B73Mxioo1gnwPwM4w/K2x7ZLlhV8VMKgkqDNvqZ3LOzZGCh62QUcNeaNg/POYyYtiL4sawFfLJsM05MmjJt8EHw15p2B9tyLZCTGc1hv2UYFVxxWjoK4fqGWLPCFshPYbdyOTaPoaHwzWCw73x0C4Dtht13VYeLI8kU5LeG8edrUZdg6RsjKPSKLKSNhv+2oy6gTC217PfdiNAr6QSo+6yg5ALhp+0pD6j7rptfnGEbNDUN98aSeBOAhFdITfn54hR90vS+nwIQdJNI9CQpDURMZdkN8yyCnrCFFEr6YvRpiNObnGF1En6ZgR7LikTadMg6bak0WkEjEq6JWlThJOR9MJoNyypJp9CkLRP0oQRtF9S/TTtSiU1SdofliZJC6Zptzp8ISZa4uaVRAiSzkYCf1UwZ0pi+EgrWKGGIr7OJMkpqRAkndbfeCbpsKSyWXjlYZu+CHdC0qmk+bheKxwCrgBLIs+zwGOCK4fcl7kSqAs/dulI+2HgGNCROBOHHsmVKgWTOwkmFEz+Stc8fAjJlXWSzmvqEjoThhV8YKOrV+Li6zLURJrg0mYrwfa4MXz+iGAP/gToJxh+3hD3FtYGWeBlWLYxVciNPMQD5uAOseBRFFJoSDrZFwArLNplInadBWeQyd2iNZIsv1uAB8DiuERLjAC7gN44pCRDq5n8iYCg55rjkpII6QReJeDZoh/oikv6DZegDXy7Ja0xAAAAAElFTkSuQmCC"),Ce=t.ref("data:image/png;base64,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"),Be=t.ref("data:image/png;base64,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"),Se="pj-trtc-web";class fe{constructor(s=null){this.pre=s?String(s):Se}v(...s){console.log(this.pre,...s)}e(...s){console.error(this.pre,...s)}}const pe=["id"],we={key:1,class:"video-grid"},ke={class:"video-wrapper"},Qe=["id","onClick"],he={key:0,class:"user-name"},Ve={class:"media-status"},De=["src"],ve=["src"],Ue={key:2,class:"sub-container"},Le=["id"],Ne={class:"sub-bottom-section"},ye=["id","onClick"],Me={key:0,class:"user-name"},Re={class:"media-status"},Ke=["src"],be=["src"],Je={key:3,class:"control-bar"},Oe=["src"],Fe=["src"],Ye=["src"],Ge=["src"],Pe=["src"],We=t.defineComponent({name:"PjTrtcWeb",__name:"PjTrtcWeb",props:{params:{type:Object,required:!1,default:null},autoEnterRoom:{type:Boolean,required:!1,default:!1},showScreenShare:{type:Boolean,required:!1,default:!1},splitScreenMode:{type:String,required:!1,default:S.Normal},disableControlBar:{type:Boolean,required:!1,default:!1}},emits:["roomEvent","error","videoClick"],setup(n,{expose:s,emit:u}){const f=new fe,Q=n,l=t.ref(Q.params);t.watch(()=>Q.params,e=>{l.value=e});const a=t.markRaw(i.create()),v=t.ref("exited"),He=t.ref(new Array),qe=t.ref(new Array),B=t.ref(""),U=t.ref(""),E=t.ref(new Array),I=t.ref(new Array),p=t.ref(!0),h=t.ref(!0),M=t.ref(!1),V=t.ref(!0),g=t.ref(null),w=t.computed(()=>E.value.find(e=>e.includes("_screen")));t.watch(()=>w.value,e=>{Q.splitScreenMode===S.SubPriority&&ot()});const je=t.computed(()=>E.value.filter(e=>!e.includes("_screen"))),R=t.computed(()=>e=>{if(e==="local")return p.value?Y.value:G.value;{let A=e.replace("_main","").replace("_screen","");const o=I.value.find(r=>r.userId==A);return o!=null&&o.videoAvailable?Y.value:G.value}}),K=t.computed(()=>e=>{if(e==="local")return h.value?P.value:F.value;{let A=e.replace("_main","").replace("_screen","");const o=I.value.find(r=>r.userId==A);return o!=null&&o.audioAvailable?P.value:F.value}}),X=async()=>{const e=await i.getCameraList();e.forEach(o=>{o.value=o.deviceId});const A=await i.getMicrophoneList();A.forEach(o=>{o.value=o.deviceId}),He.value=e,qe.value=A,B.value||(B.value=e[0].deviceId),U.value||(U.value=A[0].deviceId)};try{navigator.mediaDevices.getUserMedia({audio:!0,video:!0}).then(e=>{e.getTracks().forEach(A=>{A.stop()}),X()}).catch(e=>{L(e)})}catch(e){L(e)}navigator.mediaDevices.ondevicechange=X,s({start:function(e=null){e&&(l.value=e),et()},exit:function(){b()},setVideoDisplayName:function(e,A){const o=I.value.find(r=>r.userId===e);if(o)o.displayName=A;else{let r=new O(e);r.displayName=A,I.value.push(r)}},getCameraList:async function(){const e=await i.getCameraList();return e.forEach(A=>{A.value=A.deviceId}),e},getMicrophoneList:async function(){const e=await i.getMicrophoneList();return e.forEach(A=>{A.value=A.deviceId}),e},switchCamera:function(e){Ze(e)},switchMicrophone:function(e){$e(e)},setSpeaker:function(e){x(e)},setVideoProfile:function(e){_e(e)},sendCustomMessage:function(e,A){ze(e,A)},switchFrontCamera:function(){H()},toggleVideo:async function(){return ce()},toggleAudio:async function(){return le()},toggleScreenShare:async function(){return Ee()}});const c=u;t.onMounted(()=>{let e=ge.getPlatform();M.value=e=="Android"||e=="iOS"||e=="Windows Phone"}),t.onBeforeUnmount(()=>{b()});async function Ze(e){await a.updateLocalVideo({option:{cameraId:e}})}async function ze(e,A){await a.sendCustomMessage({cmdId:e,data:new TextEncoder().encode(A).buffer})}async function _e(e){await a.updateLocalVideo({option:{profile:e}})}async function $e(e){await a.updateLocalAudio({option:{microphoneId:e}})}async function x(e){await a.setCurrentSpeaker(e)}async function H(){V.value=!V.value,await a.updateLocalVideo({option:{useFrontCamera:V.value}})}async function et(){let e=l.value;if(!e||!e.roomId||!e.sdkAppId||!e.userId||!e.userSig){c("error",new Error("入房参数不完整"));return}v.value="entering";let A=l.value.privateMapKey?{sdkAppId:Number(l.value.sdkAppId),roomId:Number(l.value.roomId),userId:l.value.userId,userSig:l.value.userSig,privateMapKey:l.value.privateMapKey}:{sdkAppId:Number(l.value.sdkAppId),roomId:Number(l.value.roomId),userId:l.value.userId,userSig:l.value.userSig};await a.enterRoom(A),v.value="entered",tt(),await re(),await se(),l.value.speakerId&&x(l.value.speakerId),c("roomEvent",d.EnterRoom)}async function b(){try{At(),await a.exitRoom(),await a.stopLocalVideo(),await a.stopLocalAudio(),v.value="exited",E.value=[],c("roomEvent",d.ExitRoom)}catch(e){c("error",new Error(`退出房间失败: ${e.message}`))}}function tt(){a.on(i.EVENT.ERROR,L),a.on(i.EVENT.KICKED_OUT,Z),a.on(i.EVENT.REMOTE_USER_ENTER,z),a.on(i.EVENT.REMOTE_USER_EXIT,_),a.on(i.EVENT.REMOTE_VIDEO_AVAILABLE,$),a.on(i.EVENT.REMOTE_VIDEO_UNAVAILABLE,ee),a.on(i.EVENT.REMOTE_AUDIO_UNAVAILABLE,te),a.on(i.EVENT.REMOTE_AUDIO_AVAILABLE,ie),a.on(i.EVENT.SCREEN_SHARE_STOPPED,ne),a.on(i.EVENT.CUSTOM_MESSAGE,Ae),a.on(i.EVENT.NETWORK_QUALITY,oe),a.on(i.EVENT.CONNECTION_STATE_CHANGED,ae),a.on(i.EVENT.AUDIO_PLAY_STATE_CHANGED,j),a.on(i.EVENT.VIDEO_PLAY_STATE_CHANGED,q)}function At(){a.off(i.EVENT.ERROR,L),a.off(i.EVENT.KICKED_OUT,Z),a.off(i.EVENT.REMOTE_USER_ENTER,z),a.off(i.EVENT.REMOTE_USER_EXIT,_),a.off(i.EVENT.REMOTE_VIDEO_AVAILABLE,$),a.off(i.EVENT.REMOTE_VIDEO_UNAVAILABLE,ee),a.off(i.EVENT.REMOTE_AUDIO_UNAVAILABLE,te),a.off(i.EVENT.REMOTE_AUDIO_AVAILABLE,ie),a.off(i.EVENT.SCREEN_SHARE_STOPPED,ne),a.off(i.EVENT.CUSTOM_MESSAGE,Ae),a.off(i.EVENT.NETWORK_QUALITY,oe),a.off(i.EVENT.CONNECTION_STATE_CHANGED,ae),a.off(i.EVENT.AUDIO_PLAY_STATE_CHANGED,j),a.off(i.EVENT.VIDEO_PLAY_STATE_CHANGED,q)}function q(e){f.v(`视频播放状态改变: ${JSON.stringify(e)}`),c("roomEvent",d.VideoPlayStateChanged,e)}function j(e){c("roomEvent",d.AudioPlayStateChanged,e)}function L(e){c("error",e)}function Z(){c("roomEvent",d.KickedOut)}function z(e){const{userId:A}=e,o=I.value.find(r=>r.userId==A);if(o)o.inRoom=!0;else{let r=new O(A);r.inRoom=!0,I.value.push(r)}c("roomEvent",d.RemoteUserEnter,A)}function _(e){const{userId:A}=e,o=I.value.find(r=>r.userId==A);o&&(o.inRoom=!1),E.value=E.value.filter(r=>!r.startsWith(A)),g.value&&g.value.startsWith(A)&&N(),c("roomEvent",d.RemoteUserExit,A)}async function $(e){const{userId:A,streamType:o}=e;c("roomEvent",d.RemoteVideoAvailable,A);const r=I.value.find(m=>m.userId===A);r&&(r.videoAvailable=!0);try{const m=o===i.TYPE.STREAM_TYPE_MAIN?`${A}_main`:`${A}_screen`;E.value.includes(m)||E.value.push(m),await t.nextTick(),await a.startRemoteVideo({userId:A,streamType:o,view:m,option:{fillMode:"contain",receiveWhenViewVisible:!0}}),g.value===m&&await a.updateRemoteVideo({userId:A,streamType:o,view:`${m}_fullscreen`,option:{fillMode:"contain",receiveWhenViewVisible:!0}})}catch(m){c("error",new Error(`开启远端[${A}]视频失败: ${m.message}`))}}function ee(e){const{userId:A,streamType:o}=e;c("roomEvent",d.RemoteVideoUnavailable,A);const r=I.value.find(J=>J.userId===A);r&&o===i.TYPE.STREAM_TYPE_MAIN&&(r.videoAvailable=!1);const m=o===i.TYPE.STREAM_TYPE_MAIN?`${A}_main`:`${A}_screen`;a.stopRemoteVideo({userId:e.userId,streamType:o}),m.includes("_screen")&&(E.value=E.value.filter(J=>J!==m)),g.value===m&&N()}function te(e){const{userId:A}=e;c("roomEvent",d.RemoteAudioUnavailable,A);const o=I.value.find(r=>r.userId===A);o&&(o.audioAvailable=!1)}function Ae(e){let A={userId:e.userId,cmdId:e.cmdId,message:new TextDecoder().decode(e.data)};c("roomEvent",d.CustomMessage,A)}function oe(e){c("roomEvent",d.NetworkQuality,e)}function ae(e){console.log("连接状态发生变化",e),c("roomEvent",d.ConnectionStateChanged,e)}function ie(e){const{userId:A}=e;c("roomEvent",d.RemoteAudioAvailable,A);const o=I.value.find(r=>r.userId===A);o&&(o.audioAvailable=!0)}function ne(){k.value=!1,c("roomEvent",d.ScreenShareStopped)}async function re(){try{l.value.microphoneId&&(U.value=l.value.microphoneId),await a.startLocalAudio({option:{microphoneId:U.value}})}catch(e){c("error",new Error(`开启本地音频失败: ${e.message}`))}}async function se(){try{l.value.cameraId&&(B.value=l.value.cameraId);var e=l.value.videoProfile?l.value.videoProfile:"1080p";await a.startLocalVideo({view:"local",option:{cameraId:B.value,profile:e,fillMode:"contain"}})}catch(A){c("error",new Error(`开启本地视频失败: ${A.message}`))}}const ce=async()=>{try{return p.value?(await a.stopLocalVideo(),V.value=!0):await se(),p.value=!p.value,p.value}catch(e){return c("error",new Error(`切换视频状态失败: ${e.message}`)),!1}},le=async()=>{try{h.value?await a.stopLocalAudio():await re(),h.value=!h.value}catch(e){c("error",new Error(`切换音频状态失败: ${e.message}`))}return h.value},D=async e=>{if(g.value===e)N();else{if(g.value=e,await t.nextTick(),e==="local")await a.updateLocalVideo({view:"local_fullscreen",option:{cameraId:B.value,profile:"1080p"}});else{const A=e.includes("_screen")?i.TYPE.STREAM_TYPE_SUB:i.TYPE.STREAM_TYPE_MAIN;await a.updateRemoteVideo({userId:e.replace("_main","").replace("_screen",""),streamType:A,view:`${e}_fullscreen`,option:{fillMode:"contain",receiveWhenViewVisible:!0}})}c("videoClick",e,!0),f.v(e,"进入全屏")}},N=async()=>{if(!g.value)return;f.v(g.value,"退出全屏"),c("videoClick",g.value,!1);const e=g.value;g.value=null;try{if(e==="local")await a.updateLocalVideo({view:"local",option:{cameraId:B.value,profile:"1080p"}});else{const A=e,o=A.includes("_screen")?i.TYPE.STREAM_TYPE_SUB:i.TYPE.STREAM_TYPE_MAIN;de(A)&&await a.updateRemoteVideo({userId:A.replace("_main","").replace("_screen",""),streamType:o,view:A,option:{fillMode:"contain",receiveWhenViewVisible:!0}})}}catch(A){console.warn("退出全屏时更新视图失败:",A)}};async function ot(){f.v("刷新所有视图显示"),await t.nextTick(),await a.updateLocalVideo({view:"local",option:{cameraId:B.value,profile:l.value.videoProfile?l.value.videoProfile:"1080p"}}),E.value.forEach(async e=>{const A=e.includes("_screen")?i.TYPE.STREAM_TYPE_SUB:i.TYPE.STREAM_TYPE_MAIN;await a.updateRemoteVideo({userId:e.replace("_main","").replace("_screen",""),streamType:A,view:e,option:{fillMode:"contain",receiveWhenViewVisible:!0}})})}const y=e=>{const A=e.replace("_main","").replace("_screen",""),o=I.value.find(r=>r.userId===A);return o?o.displayName:""},de=e=>{if(e==="local")return p.value;{const A=e.replace("_main","").replace("_screen",""),o=I.value.find(r=>r.userId===A);return(o==null?void 0:o.videoAvailable)??!1}},k=t.ref(!1),Ee=async()=>{try{if(k.value)await a.stopScreenShare(),k.value=!1;else{if(E.value.some(e=>e.includes("_screen"))){alert("请等待其他人停止分享屏幕后再开启屏幕共享");return}await a.startScreenShare({option:{profile:"1080p"}}),k.value=!0}}catch(e){c("error",new Error(`切换屏幕共享失败: ${e.message}`))}return k.value};return(e,A)=>v.value==="entered"?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["trtc-container",{"multi-users-normal":E.value.length>1&&(n.splitScreenMode===t.unref(S).Normal||!w.value)&&E.value.length<4,"single-remote":E.value.length===1,"nine-square-grid":E.value.length>3&&(n.splitScreenMode===t.unref(S).Normal||!w.value)}])},[g.value&&de(g.value)?(t.openBlock(),t.createElementBlock("div",{key:0,class:"fullscreen-layer",onClick:N},[t.createElementVNode("div",{id:g.value+"_fullscreen",class:"fullscreen-video"},null,8,pe)])):t.createCommentVNode("",!0),n.splitScreenMode===t.unref(S).Normal||!w.value?(t.openBlock(),t.createElementBlock("div",we,[t.createElementVNode("div",ke,[t.createElementVNode("div",{id:"local",class:"video-box",onClick:A[0]||(A[0]=o=>D("local"))}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(E.value,o=>(t.openBlock(),t.createElementBlock("div",{key:o,id:o,class:"video-box",onClick:r=>D(o)},[y(o)?(t.openBlock(),t.createElementBlock("div",he,t.toDisplayString(y(o)),1)):t.createCommentVNode("",!0),t.createElementVNode("div",Ve,[t.createElementVNode("img",{src:R.value(o),class:"status-icon"},null,8,De),t.createElementVNode("img",{src:K.value(o),class:"status-icon"},null,8,ve)])],8,Qe))),128))])])):(t.openBlock(),t.createElementBlock("div",Ue,[t.createElementVNode("div",{class:"sub-top-section",id:w.value,onClick:A[1]||(A[1]=o=>D(w.value))},null,8,Le),t.createElementVNode("div",Ne,[t.createElementVNode("div",{id:"local",class:"sub-bottom-item",onClick:A[2]||(A[2]=o=>D("local"))}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(je.value,o=>(t.openBlock(),t.createElementBlock("div",{class:"sub-bottom-item",key:o,id:o,onClick:r=>D(o)},[y(o)?(t.openBlock(),t.createElementBlock("div",Me,t.toDisplayString(y(o)),1)):t.createCommentVNode("",!0),t.createElementVNode("div",Re,[t.createElementVNode("img",{src:R.value(o),class:"status-icon"},null,8,Ke),t.createElementVNode("img",{src:K.value(o),class:"status-icon"},null,8,be)])],8,ye))),128))])])),n.disableControlBar?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",Je,[M.value?(t.openBlock(),t.createElementBlock("button",{key:0,class:"control-btn",onClick:H},[t.createElementVNode("img",{src:V.value?t.unref(ue):t.unref(Ie)},null,8,Oe)])):t.createCommentVNode("",!0),t.createElementVNode("button",{class:"control-btn",onClick:ce},[t.createElementVNode("img",{src:R.value("local")},null,8,Fe)]),t.createElementVNode("button",{class:"control-btn hangup",onClick:b},[t.createElementVNode("img",{src:t.unref(me)},null,8,Ye)]),t.createElementVNode("button",{class:"control-btn",onClick:le},[t.createElementVNode("img",{src:K.value("local")},null,8,Ge)]),!M.value&&n.showScreenShare?(t.openBlock(),t.createElementBlock("button",{key:1,class:"control-btn",onClick:Ee},[t.createElementVNode("img",{src:k.value?t.unref(Be):t.unref(Ce)},null,8,Pe)])):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"bottom-option",{},void 0,!0)]))],2)):t.createCommentVNode("",!0)}}),W=((n,s)=>{const u=n.__vccOpts||n;for(const[f,Q]of s)u[f]=Q;return u})(We,[["__scopeId","data-v-b45f91de"]]);W.name="PjTrtcWeb";const T={install(n){n.component("PjTrtcWeb",W)}};class Te{static async getCameraList(){const s=await i.getCameraList();return s.forEach(u=>{u.value=u.deviceId}),s}static async getMicrophoneList(){const s=await i.getMicrophoneList();return s.forEach(u=>{u.value=u.deviceId}),s}static async getSpeakerList(){const s=await i.getSpeakerList();return s.forEach(u=>{u.value=u.deviceId}),s}static async isSupported(){return!!(await i.isSupported()).result}}const Xe=[T],xe={install(n){Xe.forEach(s=>{n.use(s)})}};C.DeviceUtil=Te,C.PjTrtcWeb=T,C.RoomEvents=d,C.default=xe,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});