UeVideo.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <template>
  2. <div ref="video" id="player">
  3. <i id="overlayButton" style="display: none;" ></i>
  4. <i id="qualityStatus" style="display: none;"></i>
  5. <div id="stats" style="display: none;" ></div>
  6. </div>
  7. </template>
  8. <script>
  9. import {onMounted, ref} from 'vue'
  10. import { initLoad, addResponseEventListener } from '../webRtcVideo.js'
  11. import bus from '@/utils/bus'
  12. export default {
  13. name: 'UeVideo',
  14. setup(props, context) {
  15. let video = ref(null)
  16. let videoInstance = ref(null)
  17. onMounted(()=>{
  18. // console.log('video.value', video.value);
  19. videoInstance = initLoad({
  20. context,
  21. autoConnection: true,
  22. showPlayOverlay: false,
  23. // serverUrl: 'http://10.1.161.67:8080/',
  24. // serverUrl: 'http://172.16.58.196:8080/',
  25. // serverUrl: 'http://172.16.58.198:8080/',
  26. // serverUrl: 'http://172.16.58.195:8080/',
  27. serverUrl: 'http://127.0.0.1:8080/',
  28. qualityControl: true,
  29. inputOptions: {
  30. controlScheme: 1, // 鼠标:0是锁定,1是滑过
  31. suppressBrowserKeys: false,
  32. }
  33. })
  34. // videoInstance = load()
  35. //添加UE的消息监听
  36. addResponseEventListener('play-video', async (data) => {
  37. console.log('接收信息-->',data)
  38. let dataObj
  39. try {
  40. dataObj = JSON.parse(data)
  41. } catch(e) {
  42. console.log(e)
  43. }
  44. if(dataObj) {
  45. switch(dataObj.action) {
  46. case 'boat_guiji':
  47. bus.emit('ueRec_boatGuiji',dataObj.data)
  48. break
  49. case 'close_Unit_Vido':
  50. bus.emit('ueRec_closeUnitVideo',dataObj.data)
  51. break
  52. case 'pujiang_init':
  53. bus.emit('ueRec_pujiangInit',dataObj.data)
  54. break
  55. case 'boat_fock_clear':
  56. bus.emit('ueRec_boatFockClear',dataObj.data)
  57. break
  58. case 'query_water_finish':
  59. bus.emit('ueRec_QueryWaterFinish')
  60. break
  61. case 'water_finish':
  62. bus.emit('ueRec_WaterFinish')
  63. break
  64. case 'boat_click':
  65. bus.emit('ueRec_BoatClick',dataObj.data)
  66. break
  67. case 'boat_notfound':
  68. bus.emit('ueRec_BoatNotFound',dataObj.data)
  69. break
  70. case 'init_shujun':
  71. bus.emit('ueRec_InitShujun',dataObj.data)
  72. break
  73. case 'click_shujun':
  74. bus.emit('ueRec_ClickShujun',dataObj.data)
  75. break
  76. case 'run_shujun':
  77. bus.emit('ueRec_RunShujun',dataObj.data)
  78. break
  79. case 'back_shujun':
  80. bus.emit('ueRec_BackShujun',dataObj.data)
  81. break
  82. case 'history_run':
  83. bus.emit('ueRec_HistoryRun',dataObj.data)
  84. break
  85. case 'fly_Action':
  86. bus.emit('fly_Action',dataObj.data)
  87. break
  88. }
  89. } else {
  90. }
  91. })
  92. })
  93. return {
  94. video,
  95. //向UE发送一个字符串.打印在游戏屏幕上
  96. }
  97. }
  98. }
  99. </script>
  100. <style lang="scss" scoped>
  101. #player {
  102. box-sizing: border-box;
  103. position: absolute;
  104. top: 0;
  105. left: 0;
  106. width: 100%;
  107. height: 100%;
  108. overflow: hidden;
  109. // background-color: #041637;
  110. .inter-btn {
  111. margin-top: 15vh;
  112. }
  113. }
  114. </style>