index.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <link rel="stylesheet" href="./index.css" />
  9. </head>
  10. <body>
  11. <!-- Babylon.js -->
  12. <script src="./libs/jquery-1.10.2.min.js"></script>
  13. <script src="./libs/dat.gui.min.js"></script>
  14. <script src="./libs/ammo.js"></script>
  15. <script src="./libs/cannon.js"></script>
  16. <script src="./libs/Oimo.js"></script>
  17. <script src="./libs/earcut.min.js"></script>
  18. <script src="./libs/recast.js"></script>
  19. <script src="./libs/babylon.js"></script>
  20. <script src="./libs/babylonjs.materials.min.js"></script>
  21. <script src="./libs/babylonjs.proceduralTextures.min.js"></script>
  22. <script src="./libs/babylonjs.postProcess.min.js"></script>
  23. <script src="./libs/babylonjs.loaders.js"></script>
  24. <script src="./libs/babylonjs.serializers.min.js"></script>
  25. <script src="./libs/babylon.gui.min.js"></script>
  26. <script src="./libs/babylon.inspector.bundle.js"></script>
  27. <script src="./libs/socket.2.3.js"></script>
  28. <script src="./libs/events.js"></script>
  29. <script src="./libs/axios.min.js"></script>
  30. <!-- <script src="./webrtc//adapter-7.4.0.min.js"></script>
  31. <script src="./webrtc/srs.sdk.js"></script> -->
  32. <script>
  33. const SERVER_URLS = {
  34. DEV: "wss://sit-eks.xverse.cn/ws",
  35. PROD: "wss://eks.xverse.cn/ws"
  36. }
  37. , REPORT_URL = {
  38. DEV: "https://xa.xverse.cn:6680/collect",
  39. PROD: "https://xa.xverse.cn/collect"
  40. }
  41. , MAX_RECONNECT_COUNT = 3
  42. , DEFAULT_JOINROOM_TIMEOUT = 15e3
  43. , DEFAULT_MAIN_CAMERA_FOV = 50
  44. , DEFAULT_AVATAR_SCALE = 1
  45. , REPORT_NUM_PER_REQUEST = 20
  46. , DEFAULT_OPEN_TIMEOUT_MS = 6e3
  47. , WS_CLOSE_NORMAL = 1e3
  48. , WS_CLOSE_RECONNECT = 3008
  49. , PING_INTERVAL_MS = 1e3
  50. , TEXTURE_URL = "https://static.xverse.cn/qqktv/texture.png"
  51. , REPORT_MODULE_TYPE = "xverse-js"
  52. , authenticationErrorCodes = [3001, 3002, 3003, 3005]
  53. , RTT_MAX_VALUE = 200
  54. , HB_MAX_VALUE = 500
  55. , DURATION = 10
  56. , NET_INTERVAL = 1;
  57. const VERSION$1 = "1.0.75"
  58. , ENV = "production";
  59. const COMPONENT_LIST_PREFIX = "./assets/component_list.json";
  60. const isFunction = i=>typeof i == "function";
  61. const blobToDataURI = async i=>new Promise((e,t)=>{
  62. const r = new FileReader;
  63. r.readAsDataURL(i),
  64. r.onload = function(n) {
  65. var o;
  66. e((o = n.target) == null ? void 0 : o.result)
  67. }
  68. ,
  69. r.onerror = function(n) {
  70. t(n)
  71. }
  72. });
  73. var De = Object.defineProperty
  74. , Ne = Object.defineProperties;
  75. var we = Object.getOwnPropertyDescriptors;
  76. var be = Object.getOwnPropertySymbols;
  77. var Me = Object.prototype.hasOwnProperty
  78. , Ie = Object.prototype.propertyIsEnumerable;
  79. var Se = (i,e,t)=>e in i ? De(i, e, {
  80. enumerable: !0,
  81. configurable: !0,
  82. writable: !0,
  83. value: t
  84. }) : i[e] = t
  85. , oe = (i,e)=>{
  86. for (var t in e || (e = {}))
  87. Me.call(e, t) && Se(i, t, e[t]);
  88. if (be)
  89. for (var t of be(e))
  90. Ie.call(e, t) && Se(i, t, e[t]);
  91. return i
  92. }
  93. , le = (i,e)=>Ne(i, we(e));
  94. var Oe = (i,e)=>{
  95. var t = {};
  96. for (var r in i)
  97. Me.call(i, r) && e.indexOf(r) < 0 && (t[r] = i[r]);
  98. if (i != null && be)
  99. for (var r of be(i))
  100. e.indexOf(r) < 0 && Ie.call(i, r) && (t[r] = i[r]);
  101. return t
  102. };
  103. </script>
  104. <div id="root">
  105. <div id="canvas">
  106. </div>
  107. <div class="debug_control_btns">
  108. <button class="debugger1">Toggle Stats</button>
  109. <button class="debugger2">取消低模着色</button>
  110. <button class="debugger3">画质:高</button>
  111. <button class="font-size-small debugger4" onclick="room.debug.toggleNearbyBreathPoint">Toggle周边呼吸点</button>
  112. <button class="font-size-small debugger5" onclick="room.debug.toggleTapBreathPoint">Toggle点击呼吸点</button>
  113. <button class="font-size-small debugger6" >录制码流(10s)</button>
  114. </div>
  115. </div>
  116. <script type="module">
  117. document.querySelector('.debugger1').onclick = ()=>{
  118. var y, b;
  119. (y = room.stats) != null && y.isShow
  120. ? room.stats.hide()
  121. : (b = room.stats) == null || b.show();
  122. }
  123. document.querySelector('.debugger2').onclick = ()=>{
  124. room.debug.toggleSceneshading(), r(room.debug.isSceneShading);
  125. }
  126. document.querySelector('.debugger3').onclick = ()=>{
  127. let y = "average";
  128. n === "high"
  129. ? (y = "average")
  130. : n === "average"
  131. ? (y = "low")
  132. : n === "low"
  133. ? (y = "high")
  134. : (y = "average"),
  135. o(y),
  136. room.setPictureQualityLevel(y);
  137. }
  138. document.querySelector('.debugger4').onclick = ()=>{
  139. room.debug.toggleNearbyBreathPoint();
  140. }
  141. document.querySelector('.debugger5').onclick = ()=>{
  142. room.debug.toggleTapBreathPoint();
  143. }
  144. document.querySelector('.debugger6').onclick = ()=>{
  145. room.debug.dumpStream(() => {
  146. // toast("\u5F55\u5236\u5B8C\u6210");
  147. });
  148. // toast("\u5F00\u59CB\u5F55\u5236");
  149. }
  150. </script>
  151. <script src="js/index.js"></script>
  152. </body>
  153. </html>