| 1 |
- {"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { getUsersig } from '@/api/home';\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: [1, 2, 3],\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 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 trtc.on(TRTC.EVENT.REMOTE_AUDIO_AVAILABLE, event => {\n const userId = event.userId;\n const streamType = event.streamType;\n this.userList.push(userId);\n console.log(userId, streamType, \"ppppppppppppppppppppppppp\");\n // trtc.startRemoteVideo({userId,streamType,view:`${userId}`})\n });\n },\n\n created() {\n // 判断房间人数对应的样式\n if (this.userList.length == 1) {\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 }\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 - 2 + \"%\";\n }\n }\n};","map":{"version":3,"names":["getUsersig","TRTC","trtc","create","name","components","data","userClass","userList","userHeight","userSign","methods","mounted","roomId","$route","query","userId","sdkAppId","then","res","msg","enterRoom","Number","scene","userSig","startLocalVideo","view","document","getElementById","startLocalAudio","console","log","error","on","EVENT","REMOTE_AUDIO_AVAILABLE","event","streamType","push","created","length","userRow","Math","ceil"],"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\"></div>\n </div>\n</template>\n \n<script>\nimport { getUsersig } from '@/api/home';\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: [1,2,3],\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 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 trtc.on(TRTC.EVENT.REMOTE_AUDIO_AVAILABLE,event=>{\n const userId = event.userId;\n const streamType = event.streamType;\n this.userList.push(userId);\n console.log(userId,streamType,\"ppppppppppppppppppppppppp\");\n // trtc.startRemoteVideo({userId,streamType,view:`${userId}`})\n })\n },\n created() {\n // 判断房间人数对应的样式\n if (this.userList.length == 1) {\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 }\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 - 2 + \"%\"\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: 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</style>\n \n \n "],"mappings":";AAQA,SAAAA,UAAA;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,MAAAjB,UAAA,CAAAgB,MAAA,EAAAE,IAAA,CAAAC,GAAA;MACA,KAAAT,QAAA,GAAAS,GAAA,CAAAC,GAAA;IACA;IACA;MACA,MAAAlB,IAAA,CAAAmB,SAAA;QAAAR,MAAA,EAAAS,MAAA,CAAAT,MAAA;QAAAU,KAAA;QAAAN,QAAA;QAAAD,MAAA;QAAAQ,OAAA,OAAAd;MAAA;MACA,MAAAR,IAAA,CAAAuB,eAAA;QACAC,IAAA,EAAAC,QAAA,CAAAC,cAAA;MACA;;MACA,MAAA1B,IAAA,CAAA2B,eAAA;MACAC,OAAA,CAAAC,GAAA;IACA,SAAAC,KAAA;MACAF,OAAA,CAAAE,KAAA,WAAAA,KAAA;IACA;IACA9B,IAAA,CAAA+B,EAAA,CAAAhC,IAAA,CAAAiC,KAAA,CAAAC,sBAAA,EAAAC,KAAA;MACA,MAAApB,MAAA,GAAAoB,KAAA,CAAApB,MAAA;MACA,MAAAqB,UAAA,GAAAD,KAAA,CAAAC,UAAA;MACA,KAAA7B,QAAA,CAAA8B,IAAA,CAAAtB,MAAA;MACAc,OAAA,CAAAC,GAAA,CAAAf,MAAA,EAAAqB,UAAA;MACA;IACA;EACA;;EACAE,QAAA;IACA;IACA,SAAA/B,QAAA,CAAAgC,MAAA;MACA,KAAAjC,SAAA;IACA,gBAAAC,QAAA,CAAAgC,MAAA;MACA,KAAAjC,SAAA;IACA,gBAAAC,QAAA,CAAAgC,MAAA;MACA,KAAAjC,SAAA;IACA,gBAAAC,QAAA,CAAAgC,MAAA;MACA,KAAAjC,SAAA;IACA;IACA,IAAAkC,OAAA,GAAAC,IAAA,CAAAC,IAAA,MAAAnC,QAAA,CAAAgC,MAAA;IACAV,OAAA,CAAAC,GAAA,CAAAU,OAAA;IACA,IAAAA,OAAA;MACA,KAAAhC,UAAA;IACA;MACA,KAAAA,UAAA,OAAAgC,OAAA;IACA;EACA;AACA"},"metadata":{},"sourceType":"module","externalDependencies":[]}
|