| 1 |
- {"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { getUsersig } from '@/api/home';\nimport { getWidth, getHeight } from \"@/utils/utils\";\nimport TRTC from 'trtc-sdk-v5';\nconst trtc = TRTC.create();\nexport default {\n name: 'App',\n components: {},\n data() {\n return {\n userClass: \"userVideo\",\n userList: [],\n userHeight: '100%',\n userSign: \"\"\n };\n },\n methods: {},\n async mounted() {\n let roomId = this.$route.query.roomId;\n let userId = this.$route.query.userId;\n const sdkAppId = 1600011167;\n // 获取usersign\n await getUsersig(userId).then(res => {\n this.userSign = res.msg;\n });\n trtc.on(TRTC.EVENT.REMOTE_VIDEO_AVAILABLE, event => {\n const userId = event.userId;\n const streamType = event.streamType;\n this.userList.push(userId);\n this.userClass = getWidth(this.userList);\n // this.userHeight = getHeight(this.userList);\n setTimeout(() => {\n trtc.startRemoteVideo({\n userId,\n streamType,\n view: `${userId}`\n });\n });\n });\n try {\n await trtc.enterRoom({\n roomId: Number(roomId),\n scene: 'rtc',\n sdkAppId,\n userId,\n userSig: this.userSign\n });\n await trtc.startLocalVideo({\n view: document.getElementById('localStream') // 在 DOM 中的 elementId 为 localStream 的标签上预览视频。\n });\n\n await trtc.startLocalAudio();\n console.log('进房成功');\n } catch (error) {\n console.error('进房失败 ' + error);\n }\n },\n created() {\n // // 判断房间人数对应的样式\n // if (this.userList.length == 1) {\n // debugger\n // this.userClass = 'userVideo'\n // } else if (this.userList.length == 2) {\n // this.userClass = \"userVideo1\"\n // } else if (this.userList.length == 3) {\n // this.userClass = \"userVideo2\"\n // } else if (this.userList.length > 3) {\n // this.userClass = \"userVideo3\"\n // } else if (this.userList.length == 0){\n // this.userClass = 'userVideo4'\n // }\n // let userRow = Math.ceil((this.userList.length + 1)/ 3);\n // console.log(userRow, \"l\");\n // if (userRow == 1) {\n // this.userHeight == \"100%\"\n // } else {\n // this.userHeight = (1 / userRow) * 100 + \"%\"\n // }\n }\n};","map":{"version":3,"names":["getUsersig","getWidth","getHeight","TRTC","trtc","create","name","components","data","userClass","userList","userHeight","userSign","methods","mounted","roomId","$route","query","userId","sdkAppId","then","res","msg","on","EVENT","REMOTE_VIDEO_AVAILABLE","event","streamType","push","setTimeout","startRemoteVideo","view","enterRoom","Number","scene","userSig","startLocalVideo","document","getElementById","startLocalAudio","console","log","error","created"],"sources":["src/views/room.vue"],"sourcesContent":["<template>\n <div class=\"roompage\">\n <div :class=\"userClass\" :style=\"{ height: userHeight }\" id=\"localStream\"></div>\n <div :class=\"userClass\" :style=\"{ height: userHeight }\" v-for=\"(item, index) in userList\" :key=\"index\" :id=\"item\">\n </div>\n </div>\n</template>\n \n<script>\nimport { getUsersig } from '@/api/home';\nimport { getWidth, getHeight } from \"@/utils/utils\"\nimport TRTC from 'trtc-sdk-v5';\nconst trtc = TRTC.create();\nexport default {\n name: 'App',\n components: {\n },\n data() {\n return {\n userClass: \"userVideo\",\n userList: [],\n userHeight: '100%',\n userSign: \"\"\n };\n },\n methods: {\n\n },\n async mounted() {\n let roomId = this.$route.query.roomId;\n let userId = this.$route.query.userId;\n const sdkAppId = 1600011167;\n // 获取usersign\n await getUsersig(userId).then(res => {\n this.userSign = res.msg;\n })\n trtc.on(TRTC.EVENT.REMOTE_VIDEO_AVAILABLE, event => {\n const userId = event.userId;\n const streamType = event.streamType;\n this.userList.push(userId);\n this.userClass = getWidth(this.userList);\n // this.userHeight = getHeight(this.userList);\n setTimeout(() => {\n trtc.startRemoteVideo({ userId, streamType, view: `${userId}` })\n })\n })\n try {\n await trtc.enterRoom({ roomId: Number(roomId), scene: 'rtc', sdkAppId, userId, userSig: this.userSign });\n await trtc.startLocalVideo({\n view: document.getElementById('localStream'), // 在 DOM 中的 elementId 为 localStream 的标签上预览视频。\n });\n await trtc.startLocalAudio();\n console.log('进房成功');\n } catch (error) {\n console.error('进房失败 ' + error);\n }\n },\n created() {\n // // 判断房间人数对应的样式\n // if (this.userList.length == 1) {\n // debugger\n // this.userClass = 'userVideo'\n // } else if (this.userList.length == 2) {\n // this.userClass = \"userVideo1\"\n // } else if (this.userList.length == 3) {\n // this.userClass = \"userVideo2\"\n // } else if (this.userList.length > 3) {\n // this.userClass = \"userVideo3\"\n // } else if (this.userList.length == 0){\n // this.userClass = 'userVideo4'\n // }\n // let userRow = Math.ceil((this.userList.length + 1)/ 3);\n // console.log(userRow, \"l\");\n // if (userRow == 1) {\n // this.userHeight == \"100%\"\n // } else {\n // this.userHeight = (1 / userRow) * 100 + \"%\"\n // }\n },\n};\n</script>\n \n<style scoped>\n.roompage {\n width: 100%;\n height: 100vh;\n display: flex;\n align-items: center;\n justify-content: space-around;\n flex-wrap: wrap;\n}\n\n.userVideo{\n width: 100%;\n background-color: yellow;\n}\n.userVideo {\n width: 48%;\n background-color: yellow;\n}\n\n.userVideo1 {\n width: 33%;\n background-color: yellow;\n}\n\n.userVideo2 {\n width: 33%;\n background-color: yellow;\n}\n\n.userVideo3 {\n width: 33%;\n background-color: yellow;\n}\n\n.userVideo4 {\n width: 100%;\n background-color: yellow;\n}\n</style>\n \n \n "],"mappings":";AASA,SAAAA,UAAA;AACA,SAAAC,QAAA,EAAAC,SAAA;AACA,OAAAC,IAAA;AACA,MAAAC,IAAA,GAAAD,IAAA,CAAAE,MAAA;AACA;EACAC,IAAA;EACAC,UAAA,GACA;EACAC,KAAA;IACA;MACAC,SAAA;MACAC,QAAA;MACAC,UAAA;MACAC,QAAA;IACA;EACA;EACAC,OAAA,GAEA;EACA,MAAAC,QAAA;IACA,IAAAC,MAAA,QAAAC,MAAA,CAAAC,KAAA,CAAAF,MAAA;IACA,IAAAG,MAAA,QAAAF,MAAA,CAAAC,KAAA,CAAAC,MAAA;IACA,MAAAC,QAAA;IACA;IACA,MAAAnB,UAAA,CAAAkB,MAAA,EAAAE,IAAA,CAAAC,GAAA;MACA,KAAAT,QAAA,GAAAS,GAAA,CAAAC,GAAA;IACA;IACAlB,IAAA,CAAAmB,EAAA,CAAApB,IAAA,CAAAqB,KAAA,CAAAC,sBAAA,EAAAC,KAAA;MACA,MAAAR,MAAA,GAAAQ,KAAA,CAAAR,MAAA;MACA,MAAAS,UAAA,GAAAD,KAAA,CAAAC,UAAA;MACA,KAAAjB,QAAA,CAAAkB,IAAA,CAAAV,MAAA;MACA,KAAAT,SAAA,GAAAR,QAAA,MAAAS,QAAA;MACA;MACAmB,UAAA;QACAzB,IAAA,CAAA0B,gBAAA;UAAAZ,MAAA;UAAAS,UAAA;UAAAI,IAAA,KAAAb,MAAA;QAAA;MACA;IACA;IACA;MACA,MAAAd,IAAA,CAAA4B,SAAA;QAAAjB,MAAA,EAAAkB,MAAA,CAAAlB,MAAA;QAAAmB,KAAA;QAAAf,QAAA;QAAAD,MAAA;QAAAiB,OAAA,OAAAvB;MAAA;MACA,MAAAR,IAAA,CAAAgC,eAAA;QACAL,IAAA,EAAAM,QAAA,CAAAC,cAAA;MACA;;MACA,MAAAlC,IAAA,CAAAmC,eAAA;MACAC,OAAA,CAAAC,GAAA;IACA,SAAAC,KAAA;MACAF,OAAA,CAAAE,KAAA,WAAAA,KAAA;IACA;EACA;EACAC,QAAA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EAAA;AAEA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|