@tencent-rtc/mcp 1.4.6 → 1.6.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/cursor-setting.png +0 -0
  2. package/knowledge/bm25-cache.js +74 -0
  3. package/knowledge/bm25-cache.js.map +1 -0
  4. package/knowledge/bm25.js +148 -0
  5. package/knowledge/bm25.js.map +1 -0
  6. package/knowledge/build-index.js +70 -0
  7. package/knowledge/build-index.js.map +1 -0
  8. package/knowledge/chunker.js +168 -0
  9. package/knowledge/chunker.js.map +1 -0
  10. package/knowledge/content-loader.js +40 -0
  11. package/knowledge/content-loader.js.map +1 -0
  12. package/knowledge/doc-url-resolver.js +143 -0
  13. package/knowledge/doc-url-resolver.js.map +1 -0
  14. package/knowledge/extractors.js +26 -0
  15. package/knowledge/extractors.js.map +1 -0
  16. package/knowledge/path-meta.js +185 -0
  17. package/knowledge/path-meta.js.map +1 -0
  18. package/knowledge/search/exact-lookup.js +498 -0
  19. package/knowledge/search/exact-lookup.js.map +1 -0
  20. package/knowledge/search/filter-pool.js +105 -0
  21. package/knowledge/search/filter-pool.js.map +1 -0
  22. package/knowledge/search/product-scope-intent.js +41 -0
  23. package/knowledge/search/product-scope-intent.js.map +1 -0
  24. package/knowledge/search/requires-framework.js +82 -0
  25. package/knowledge/search/requires-framework.js.map +1 -0
  26. package/knowledge/search/search-knowledge.js +230 -0
  27. package/knowledge/search/search-knowledge.js.map +1 -0
  28. package/mcp-server-prompt.png +0 -0
  29. package/package.json +1 -1
  30. package/resource/_schema/feature-aliases.yaml +10 -0
  31. package/resource/_schema/goal-tags.yaml +72 -0
  32. package/resource/_schema/products.yaml +19 -0
  33. package/resource/_schema/trtc-intents.yaml +27 -0
  34. package/resource/_schema/types.yaml +43 -0
  35. package/resource/index/component-slugs.json +1 -0
  36. package/resource/index/doc-source-urls.json +1 -0
  37. package/resource/index/manifest.json +1 -0
  38. package/resource/{doc → integration}/callkit/preset/android/integration.md +34 -28
  39. package/resource/integration/callkit/preset/flutter/integration.md +346 -0
  40. package/resource/integration/callkit/preset/ios/integration.md +408 -0
  41. package/resource/integration/callkit/preset/react/integration.md +362 -0
  42. package/resource/integration/callkit/preset/vue/integration.md +356 -0
  43. package/resource/integration/chat/preset/android/integration.md +500 -0
  44. package/resource/integration/chat/preset/flutter/integration.md +370 -0
  45. package/resource/integration/chat/preset/ios/integration.md +566 -0
  46. package/resource/integration/chat/preset/react/integration.md +490 -0
  47. package/resource/integration/chat/preset/vue/integration.md +504 -0
  48. package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +26 -22
  49. package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +22 -18
  50. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +309 -0
  51. package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +47 -39
  52. package/resource/integration/roomkit/preset/vue/integration.md +562 -0
  53. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +828 -0
  54. package/resource/knowledge/callkit/core-sdk/android/make-call.md +897 -0
  55. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +363 -0
  56. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1111 -0
  57. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1132 -0
  58. package/resource/{doc → knowledge}/callkit/core-sdk/flutter/offline-push.md +174 -151
  59. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1084 -0
  60. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1252 -0
  61. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +534 -0
  62. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
  63. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
  64. package/resource/knowledge/callkit/faq/android.md +92 -0
  65. package/resource/{doc/callkit/faq/android-faq.md → knowledge/callkit/faq/common.md} +11 -12
  66. package/resource/knowledge/callkit/faq/error-code.md +67 -0
  67. package/resource/knowledge/callkit/faq/flutter.md +52 -0
  68. package/resource/knowledge/callkit/faq/ios.md +104 -0
  69. package/resource/knowledge/callkit/faq/web.md +74 -0
  70. package/resource/knowledge/callkit/preset/android/api.md +412 -0
  71. package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
  72. package/resource/knowledge/callkit/preset/ios/api.md +234 -0
  73. package/resource/knowledge/callkit/preset/web/api.md +83 -0
  74. package/resource/knowledge/chat/preset/android/features/chat-setting.md +74 -0
  75. package/resource/knowledge/chat/preset/android/features/contact-list.md +43 -0
  76. package/resource/knowledge/chat/preset/android/features/conversation-list.md +117 -0
  77. package/resource/knowledge/chat/preset/android/features/language.md +136 -0
  78. package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
  79. package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
  80. package/resource/knowledge/chat/preset/android/features/search.md +64 -0
  81. package/resource/knowledge/chat/preset/android/features/theme.md +222 -0
  82. package/resource/knowledge/chat/preset/android-view/integration.md +300 -0
  83. package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +64 -0
  84. package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
  85. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
  86. package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
  87. package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
  88. package/resource/knowledge/chat/preset/flutter/features/message-list.md +158 -0
  89. package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
  90. package/resource/knowledge/chat/preset/flutter/features/theme.md +261 -0
  91. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +94 -0
  92. package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
  93. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
  94. package/resource/knowledge/chat/preset/ios/features/language.md +125 -0
  95. package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
  96. package/resource/knowledge/chat/preset/ios/features/message-list.md +162 -0
  97. package/resource/knowledge/chat/preset/ios/features/search.md +93 -0
  98. package/resource/knowledge/chat/preset/ios/features/theme.md +270 -0
  99. package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +160 -158
  100. package/resource/knowledge/chat/preset/react/features/chat-setting.md +101 -0
  101. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +43 -41
  102. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +215 -0
  103. package/resource/knowledge/chat/preset/react/features/conversation-list.md +339 -0
  104. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +101 -0
  105. package/resource/knowledge/chat/preset/react/features/conversation-search.md +61 -0
  106. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +117 -156
  107. package/resource/knowledge/chat/preset/react/features/message-list.md +297 -0
  108. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/search.md +65 -59
  109. package/resource/knowledge/chat/preset/react/features/theme.md +93 -0
  110. package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
  111. package/resource/knowledge/chat/preset/vue/features/chat-setting.md +79 -0
  112. package/resource/knowledge/chat/preset/vue/features/contact-list.md +277 -0
  113. package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +234 -0
  114. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +331 -0
  115. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +216 -0
  116. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +13 -13
  117. package/resource/knowledge/chat/preset/vue/features/message-input.md +551 -0
  118. package/resource/knowledge/chat/preset/vue/features/message-list.md +350 -0
  119. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +79 -73
  120. package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
  121. package/resource/knowledge/chat/urls/error-code.md +17 -0
  122. package/resource/knowledge/chat/urls/product.md +43 -0
  123. package/resource/knowledge/chat/urls/restapi.md +204 -0
  124. package/resource/knowledge/chat/urls/sdk/android.md +80 -0
  125. package/resource/knowledge/chat/urls/sdk/flutter.md +71 -0
  126. package/resource/knowledge/chat/urls/sdk/ios.md +80 -0
  127. package/resource/knowledge/chat/urls/sdk/web.md +80 -0
  128. package/resource/knowledge/chat/urls/webhook.md +68 -0
  129. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +286 -0
  130. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
  131. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
  132. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +55 -0
  133. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
  134. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
  135. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
  136. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
  137. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +51 -0
  138. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
  139. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
  140. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +488 -0
  141. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +219 -0
  142. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +282 -0
  143. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
  144. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +153 -0
  145. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
  146. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
  147. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
  148. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +426 -0
  149. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
  150. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +52 -0
  151. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
  152. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +150 -0
  153. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +438 -0
  154. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +190 -0
  155. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +291 -0
  156. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
  157. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
  158. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
  159. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
  160. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
  161. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
  162. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
  163. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +51 -0
  164. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
  165. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
  166. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +487 -0
  167. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +183 -0
  168. package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +736 -0
  169. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +53 -47
  170. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +28 -24
  171. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +22 -18
  172. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +17 -15
  173. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +19 -18
  174. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +102 -89
  175. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +41 -37
  176. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +45 -43
  177. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +23 -20
  178. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +41 -41
  179. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +70 -69
  180. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +68 -71
  181. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +43 -47
  182. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +59 -56
  183. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +103 -105
  184. package/resource/knowledge/livekit/core-sdk/live/flutter/live-host-interaction.md +869 -0
  185. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +84 -87
  186. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +43 -40
  187. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +11 -10
  188. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +28 -24
  189. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +22 -18
  190. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +15 -14
  191. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +19 -18
  192. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +54 -50
  193. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +41 -37
  194. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +40 -40
  195. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +19 -18
  196. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +53 -47
  197. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +28 -24
  198. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +22 -18
  199. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +41 -33
  200. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +94 -81
  201. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +35 -30
  202. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +45 -42
  203. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-room-list.md +23 -20
  204. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +260 -0
  205. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +598 -0
  206. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-barrage.md +490 -0
  207. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +65 -59
  208. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +424 -0
  209. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +69 -76
  210. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-room-list.md +726 -0
  211. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +11 -10
  212. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +28 -24
  213. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +22 -18
  214. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +41 -33
  215. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +54 -50
  216. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +35 -30
  217. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +49 -46
  218. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-room-list.md +19 -18
  219. package/resource/knowledge/livekit/faq/error-code.md +193 -0
  220. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/barrage.md +56 -53
  221. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-audience-list.md +22 -21
  222. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-view.md +34 -32
  223. package/resource/knowledge/push/config/android.md +92 -0
  224. package/resource/knowledge/push/config/harmonyos.md +83 -0
  225. package/resource/knowledge/push/config/ios.md +254 -0
  226. package/resource/knowledge/push/config/react-native.md +254 -0
  227. package/resource/knowledge/push/config/unity.md +209 -0
  228. package/resource/knowledge/push/config/unreal-engine.md +194 -0
  229. package/resource/knowledge/push/integration/android.md +404 -0
  230. package/resource/knowledge/push/integration/flutter.md +465 -0
  231. package/resource/knowledge/push/integration/harmonyos.md +63 -0
  232. package/resource/knowledge/push/integration/ios.md +246 -0
  233. package/resource/knowledge/push/integration/react-native.md +366 -0
  234. package/resource/knowledge/push/integration/uni-app.md +208 -0
  235. package/resource/knowledge/push/integration/unity.md +389 -0
  236. package/resource/knowledge/push/integration/unreal-engine.md +390 -0
  237. package/resource/knowledge/push/overview/prepare.md +60 -0
  238. package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +241 -0
  239. package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +588 -0
  240. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +364 -0
  241. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +340 -0
  242. package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
  243. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +797 -0
  244. package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +325 -0
  245. package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +325 -0
  246. package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +233 -0
  247. package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +569 -0
  248. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +325 -0
  249. package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +322 -0
  250. package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +221 -0
  251. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +49 -48
  252. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +461 -0
  253. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +216 -0
  254. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +370 -0
  255. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-participant-state.md +61 -60
  256. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +280 -0
  257. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-view.md +57 -56
  258. package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +319 -0
  259. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +267 -0
  260. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +261 -0
  261. package/resource/knowledge/roomkit/preset/android/integration.md +396 -0
  262. package/resource/knowledge/roomkit/preset/flutter/integration.md +404 -0
  263. package/resource/knowledge/roomkit/preset/ios/integration.md +369 -0
  264. package/resource/knowledge/roomkit/preset/react/integration.md +576 -0
  265. package/resource/knowledge/rtcengine/web/how_to_run_web_sdk_demo.md +44 -0
  266. package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +8 -2
  267. package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +19 -1
  268. package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
  269. package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +8 -8
  270. package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
  271. package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +6 -6
  272. package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +3 -3
  273. package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +18 -0
  274. package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
  275. package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +2 -2
  276. package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +1 -1
  277. package/resource/knowledge/trtc/android/TRTCCloud.md +1915 -0
  278. package/resource/knowledge/trtc/android/TRTCCloudDef.md +1029 -0
  279. package/resource/knowledge/trtc/android/TRTCCloudListener.md +1095 -0
  280. package/resource/knowledge/trtc/android/TRTCStatistics.md +68 -0
  281. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +502 -0
  282. package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
  283. package/resource/knowledge/trtc/android/TXDeviceManager.md +169 -0
  284. package/resource/knowledge/trtc/android/TXLiteAVCode.md +125 -0
  285. package/resource/knowledge/trtc/c++/ITRTCCloud.md +2069 -0
  286. package/resource/knowledge/trtc/c++/ITRTCStatistics.md +73 -0
  287. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
  288. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +391 -0
  289. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1191 -0
  290. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +931 -0
  291. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +127 -0
  292. package/resource/knowledge/trtc/ios/TRTCCloud.md +2118 -0
  293. package/resource/knowledge/trtc/ios/TRTCCloudDef.md +975 -0
  294. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1131 -0
  295. package/resource/knowledge/trtc/ios/TRTCStatistics.md +68 -0
  296. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +423 -0
  297. package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
  298. package/resource/knowledge/trtc/ios/TXDeviceManager.md +387 -0
  299. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +127 -0
  300. package/server.js +35 -10
  301. package/server.js.map +1 -1
  302. package/tools/call/get_native_call_uikit_integration.js +2 -3
  303. package/tools/call/get_native_call_uikit_integration.js.map +1 -1
  304. package/tools/call/get_native_callkit_core_integration.js +2 -5
  305. package/tools/call/get_native_callkit_core_integration.js.map +1 -1
  306. package/tools/call/get_web_call_uikit_integration.js +2 -3
  307. package/tools/call/get_web_call_uikit_integration.js.map +1 -1
  308. package/tools/chat/get_native_chat_uikit_integration.js +2 -3
  309. package/tools/chat/get_native_chat_uikit_integration.js.map +1 -1
  310. package/tools/chat/get_web_chat_uikit_integration.js +2 -3
  311. package/tools/chat/get_web_chat_uikit_integration.js.map +1 -1
  312. package/tools/common/present_framework_choice.js +19 -13
  313. package/tools/common/present_framework_choice.js.map +1 -1
  314. package/tools/common/record_answer.js +19 -25
  315. package/tools/common/record_answer.js.map +1 -1
  316. package/tools/common/record_feedback.js +17 -30
  317. package/tools/common/record_feedback.js.map +1 -1
  318. package/tools/common/search_trtc_knowledge.js +45 -0
  319. package/tools/common/search_trtc_knowledge.js.map +1 -0
  320. package/tools/definitions/get_native_call_uikit_integration_def.js +3 -1
  321. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  322. package/tools/definitions/get_native_callkit_core_integration_def.js +5 -3
  323. package/tools/definitions/get_native_callkit_core_integration_def.js.map +1 -1
  324. package/tools/definitions/get_native_chat_uikit_integration_def.js +5 -2
  325. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  326. package/tools/definitions/get_native_livekit_core_integration_def.js +6 -5
  327. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -1
  328. package/tools/definitions/get_web_call_uikit_integration_def.js +4 -2
  329. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  330. package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -0
  331. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  332. package/tools/definitions/get_web_live_uikit_integration_def.js +5 -5
  333. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  334. package/tools/definitions/get_web_room_core_integration_def.js +50 -0
  335. package/tools/definitions/get_web_room_core_integration_def.js.map +1 -0
  336. package/tools/definitions/get_web_room_uikit_integration_def.js +5 -4
  337. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  338. package/tools/definitions/integration-boundary.js +6 -0
  339. package/tools/definitions/integration-boundary.js.map +1 -0
  340. package/tools/definitions/present_framework_choice_def.js +12 -10
  341. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  342. package/tools/definitions/record_answer_def.js +19 -17
  343. package/tools/definitions/record_answer_def.js.map +1 -1
  344. package/tools/definitions/record_feedback_def.js +14 -13
  345. package/tools/definitions/record_feedback_def.js.map +1 -1
  346. package/tools/definitions/search_trtc_knowledge_def.js +40 -0
  347. package/tools/definitions/search_trtc_knowledge_def.js.map +1 -0
  348. package/tools/index.js +5 -36
  349. package/tools/index.js.map +1 -1
  350. package/tools/live/get_native_livekit_core_integration.js +1 -3
  351. package/tools/live/get_native_livekit_core_integration.js.map +1 -1
  352. package/tools/live/get_web_live_uikit_integration.js +2 -4
  353. package/tools/live/get_web_live_uikit_integration.js.map +1 -1
  354. package/tools/room/get_web_room_core_integration.js +48 -0
  355. package/tools/room/get_web_room_core_integration.js.map +1 -0
  356. package/tools/room/get_web_room_uikit_integration.js +2 -3
  357. package/tools/room/get_web_room_uikit_integration.js.map +1 -1
  358. package/utils/generate-structured-result.js +24 -30
  359. package/utils/generate-structured-result.js.map +1 -1
  360. package/utils/get-doc-content.js +14 -8
  361. package/utils/get-doc-content.js.map +1 -1
  362. package/utils/report-cls-client.js +18 -20
  363. package/utils/report-cls-client.js.map +1 -1
  364. package/utils/report-es-client.js +1 -1
  365. package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
  366. package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -852
  367. package/resource/doc/callkit/core-sdk/android/make-call.md +0 -954
  368. package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -361
  369. package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1160
  370. package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1205
  371. package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1090
  372. package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1248
  373. package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -485
  374. package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -950
  375. package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1052
  376. package/resource/doc/callkit/faq/common/error-code.md +0 -47
  377. package/resource/doc/callkit/faq/flutter-faq.md +0 -115
  378. package/resource/doc/callkit/faq/ios-faq.md +0 -115
  379. package/resource/doc/callkit/faq/web-faq.md +0 -36
  380. package/resource/doc/callkit/preset/android/api.md +0 -296
  381. package/resource/doc/callkit/preset/flutter/api.md +0 -410
  382. package/resource/doc/callkit/preset/flutter/integration.md +0 -164
  383. package/resource/doc/callkit/preset/ios/api.md +0 -80
  384. package/resource/doc/callkit/preset/ios/integration.md +0 -187
  385. package/resource/doc/callkit/preset/react/api.md +0 -501
  386. package/resource/doc/callkit/preset/react/integration.md +0 -86
  387. package/resource/doc/callkit/preset/vue/api.md +0 -501
  388. package/resource/doc/callkit/preset/vue/integration.md +0 -83
  389. package/resource/doc/chatkit/android/faq.md +0 -111
  390. package/resource/doc/chatkit/android/features/theme.md +0 -219
  391. package/resource/doc/chatkit/android/integration.md +0 -490
  392. package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -281
  393. package/resource/doc/chatkit/faq/common/product.md +0 -7
  394. package/resource/doc/chatkit/faq/common/server.md +0 -44
  395. package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
  396. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -199
  397. package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -53
  398. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -235
  399. package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
  400. package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -287
  401. package/resource/doc/chatkit/flutter/faq.md +0 -23
  402. package/resource/doc/chatkit/flutter/features/theme.md +0 -235
  403. package/resource/doc/chatkit/flutter/integration.md +0 -344
  404. package/resource/doc/chatkit/ios/faq.md +0 -111
  405. package/resource/doc/chatkit/ios/features/theme.md +0 -267
  406. package/resource/doc/chatkit/react/components/avatar.md +0 -104
  407. package/resource/doc/chatkit/react/components/chat-header.md +0 -148
  408. package/resource/doc/chatkit/react/components/chat-setting.md +0 -57
  409. package/resource/doc/chatkit/react/components/chat.md +0 -38
  410. package/resource/doc/chatkit/react/components/component-list.md +0 -37
  411. package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
  412. package/resource/doc/chatkit/react/components/conversation-list.md +0 -333
  413. package/resource/doc/chatkit/react/components/conversation-preview.md +0 -118
  414. package/resource/doc/chatkit/react/components/conversation-search.md +0 -60
  415. package/resource/doc/chatkit/react/components/message-list.md +0 -293
  416. package/resource/doc/chatkit/react/components/tuikit.md +0 -34
  417. package/resource/doc/chatkit/react/faq.md +0 -26
  418. package/resource/doc/chatkit/react/integration.md +0 -416
  419. package/resource/doc/chatkit/vue/components/avatar.md +0 -104
  420. package/resource/doc/chatkit/vue/components/chat-header.md +0 -148
  421. package/resource/doc/chatkit/vue/components/chat-setting.md +0 -62
  422. package/resource/doc/chatkit/vue/components/chat.md +0 -45
  423. package/resource/doc/chatkit/vue/components/component-list.md +0 -87
  424. package/resource/doc/chatkit/vue/components/contact-list.md +0 -271
  425. package/resource/doc/chatkit/vue/components/conversation-actions.md +0 -228
  426. package/resource/doc/chatkit/vue/components/conversation-list.md +0 -320
  427. package/resource/doc/chatkit/vue/components/conversation-preview.md +0 -213
  428. package/resource/doc/chatkit/vue/components/message-input.md +0 -1054
  429. package/resource/doc/chatkit/vue/components/message-list.md +0 -433
  430. package/resource/doc/chatkit/vue/components/tuikit.md +0 -31
  431. package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
  432. package/resource/doc/chatkit/vue/faq.md +0 -36
  433. package/resource/doc/chatkit/vue/integration.md +0 -428
  434. package/resource/doc/livekit/core-sdk/live/flutter/live-host-interaction.md +0 -866
  435. package/resource/doc/livekit/faq/common/error-code.md +0 -88
  436. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
  437. package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -91
  438. package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -112
  439. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -215
  440. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +0 -300
  441. package/resource/doc/roomkit/faq/common/error-code.md +0 -67
  442. package/resource/doc/roomkit/vue/features/call-user-to-room.md +0 -220
  443. package/resource/doc/roomkit/vue/features/device-state.md +0 -460
  444. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +0 -215
  445. package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
  446. package/resource/doc/roomkit/vue/features/room-state.md +0 -282
  447. package/resource/doc/roomkit/vue/features/schedule-room.md +0 -318
  448. package/resource/doc/roomkit/vue/features/screen-share.md +0 -265
  449. package/resource/doc/roomkit/vue/features/virtual-background.md +0 -271
  450. package/resource/doc/roomkit/vue/integration.md +0 -315
  451. package/resource/doc/rtcengine/faq/common/error_code.md +0 -1
  452. package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
  453. package/resource/doc/rtcengine/web/.gitkeep +0 -0
  454. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +0 -59
  455. package/resource/doc/trtc/C++/ITRTCCloud.md +0 -1970
  456. package/resource/doc/trtc/C++/ITRTCStatistics.md +0 -70
  457. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -469
  458. package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -387
  459. package/resource/doc/trtc/C++/TRTCCloudCallback.md +0 -1082
  460. package/resource/doc/trtc/C++/TRTCTypeDef.md +0 -925
  461. package/resource/doc/trtc/C++/TXLiteAVCode.md +0 -129
  462. package/resource/doc/trtc/android/TRTCCloud.md +0 -1815
  463. package/resource/doc/trtc/android/TRTCCloudDef.md +0 -992
  464. package/resource/doc/trtc/android/TRTCCloudListener.md +0 -1004
  465. package/resource/doc/trtc/android/TRTCStatistics.md +0 -65
  466. package/resource/doc/trtc/android/TXAudioEffectManager.md +0 -469
  467. package/resource/doc/trtc/android/TXBeautyManager.md +0 -402
  468. package/resource/doc/trtc/android/TXDeviceManager.md +0 -173
  469. package/resource/doc/trtc/android/TXLiteAVCode.md +0 -127
  470. package/resource/doc/trtc/iOS/TRTCCloud.md +0 -2028
  471. package/resource/doc/trtc/iOS/TRTCCloudDef.md +0 -958
  472. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +0 -1046
  473. package/resource/doc/trtc/iOS/TRTCStatistics.md +0 -65
  474. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +0 -397
  475. package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -403
  476. package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -381
  477. package/resource/doc/trtc/iOS/TXLiteAVCode.md +0 -130
  478. package/tools/call/get_callkit_api.js +0 -33
  479. package/tools/call/get_callkit_api.js.map +0 -1
  480. package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
  481. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
  482. package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
  483. package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
  484. package/tools/common/get_faq.js +0 -266
  485. package/tools/common/get_faq.js.map +0 -1
  486. package/tools/common/record_skill_session.js +0 -69
  487. package/tools/common/record_skill_session.js.map +0 -1
  488. package/tools/definitions/get_callkit_api_def.js +0 -29
  489. package/tools/definitions/get_callkit_api_def.js.map +0 -1
  490. package/tools/definitions/get_faq_def.js +0 -49
  491. package/tools/definitions/get_faq_def.js.map +0 -1
  492. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
  493. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
  494. package/tools/definitions/get_native_livekit_core_features_def.js +0 -34
  495. package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
  496. package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
  497. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
  498. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
  499. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
  500. package/tools/definitions/get_web_livekit_api_def.js +0 -30
  501. package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
  502. package/tools/definitions/get_web_livekit_component_detail_def.js +0 -32
  503. package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
  504. package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -31
  505. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
  506. package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -27
  507. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
  508. package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -27
  509. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
  510. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -27
  511. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
  512. package/tools/definitions/record_skill_session_def.js +0 -31
  513. package/tools/definitions/record_skill_session_def.js.map +0 -1
  514. package/tools/live/get_native_livekit_core_features.js +0 -68
  515. package/tools/live/get_native_livekit_core_features.js.map +0 -1
  516. package/tools/live/get_web_livekit_api.js +0 -33
  517. package/tools/live/get_web_livekit_api.js.map +0 -1
  518. package/tools/live/get_web_livekit_component_detail.js +0 -35
  519. package/tools/live/get_web_livekit_component_detail.js.map +0 -1
  520. package/tools/room/get_web_roomkit_feature_detail.js +0 -69
  521. package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
  522. package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
  523. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
  524. package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
  525. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
  526. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
  527. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
  528. package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
  529. package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
  530. package/utils/build-session-directives.js +0 -120
  531. package/utils/build-session-directives.js.map +0 -1
  532. package/utils/handle-framework.js +0 -9
  533. package/utils/handle-framework.js.map +0 -1
  534. package/utils/handle-state-name.js +0 -29
  535. package/utils/handle-state-name.js.map +0 -1
  536. package/utils/report-runtime-error-cls-client.js +0 -91
  537. package/utils/report-runtime-error-cls-client.js.map +0 -1
  538. /package/resource/{doc/livekit/preset/live/vue/faq.md → knowledge/push/config/donut.md} +0 -0
  539. /package/resource/{doc/roomkit/vue/faq.md → knowledge/push/integration/donut.md} +0 -0
  540. /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
  541. /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
  542. /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
  543. /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
  544. /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
  545. /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
  546. /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
  547. /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
  548. /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
  549. /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
  550. /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
  551. /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
  552. /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
@@ -0,0 +1,576 @@
1
+ TUIRoomKit is a UI solution for audio/video meeting rooms developed by TRTC. This release introduces a new atomic component integration approach, enabling developers to flexibly combine atomic components and build custom audio/video meeting room interfaces.
2
+
3
+ This guide walks you through integrating TUIRoomKit into an existing React project and explains how to customize its styles, layout, and functionality.
4
+
5
+ ## Prerequisites
6
+
7
+ ### Activate the Service
8
+
9
+ Follow the instructions in [Activate the Service](https://trtc.io/document/59973) to start a TUIRoomKit trial or activate the official version. Obtain your **SDKAppID** and **SDKSecretKey**:
10
+ - SDKAppID: The application identifier used by TRTC for billing and statistics.
11
+
12
+ - SDKSecretKey: The application secret used to initialize secret information in the configuration file.
13
+
14
+ ### Environment Setup
15
+ - Node.js: ≥ 18.19.1 (LTS version recommended)
16
+
17
+ - React: ≥ 18.2.0
18
+
19
+ - Modern browser: Must support [WebRTC APIs](https://trtc.io/document/41664)
20
+
21
+ - Devices: Camera, microphone, speakers
22
+
23
+ ## Quick Integration
24
+
25
+ ### Step 1: Install Dependencies
26
+
27
+ Install the required dependencies in your project.
28
+
29
+ 【npm】
30
+ ``` bash
31
+ npm install @tencentcloud/roomkit-web-react tuikit-atomicx-react @tencentcloud/uikit-base-component-react @tencentcloud/universal-api
32
+ ```
33
+
34
+ 【pnpm】
35
+ ``` bash
36
+ pnpm install @tencentcloud/roomkit-web-react tuikit-atomicx-react @tencentcloud/uikit-base-component-react @tencentcloud/universal-api
37
+ ```
38
+
39
+ 【yarn】
40
+ ``` bash
41
+ yarn add @tencentcloud/roomkit-web-react tuikit-atomicx-react @tencentcloud/uikit-base-component-react @tencentcloud/universal-api
42
+ ```
43
+
44
+ ### Step 2: Import TUIRoomKit Components
45
+ ``` typescript
46
+ import { UIKitProvider } from '@tencentcloud/uikit-base-component-react';
47
+ import { ConferenceMainView } from '@tencentcloud/roomkit-web-react';
48
+
49
+ export default function App() {
50
+ return (
51
+ <UIKitProvider theme="light" language="zh-CN">
52
+ <ConferenceMainView />
53
+ </UIKitProvider>
54
+ );
55
+ }
56
+ ```
57
+
58
+ ### Step 3: User Authentication
59
+
60
+ Authentication is required to access all TUIRoomKit features. Call **conference.login** immediately after your business system completes authentication (when the user logs in to your web page). After calling `conference.login`, call `conference.setSelfInfo` to set the user's display name and avatar, which appear in the participant video area and member list.
61
+
62
+ > **Note:**
63
+ >
64
+
65
+ > Make sure to use the generated UserSig in your configuration. In production, generate UserSig on your server and have the client request a dynamic UserSig from your business server as needed. See [How to Calculate UserSig in Production](https://trtc.io/document/35166).
66
+ >
67
+
68
+ ``` typescript
69
+ import { useEffect } from 'react';
70
+ import { conference } from '@tencentcloud/roomkit-web-react';
71
+
72
+ // Replace these values with your actual business data and SDKAppID from the Console
73
+ const SDKAppID = 0;
74
+ const userId = 'your_user_id';
75
+ const userSig = 'your_dynamic_user_sig';
76
+ const userName = 'Display Name';
77
+
78
+ function LoginComponent() {
79
+ useEffect(() => {
80
+ const init = async () => {
81
+ try {
82
+ // 1. Log in to the SDK
83
+ await conference.login({
84
+ sdkAppId: SDKAppID,
85
+ userId,
86
+ userSig,
87
+ });
88
+ // 2. (Optional) Set user profile
89
+ await conference.setSelfInfo({
90
+ userName,
91
+ avatarUrl: 'https://your-avatar-url.com/image.png',
92
+ });
93
+ } catch (error) {
94
+ console.error('TUIRoomKit login failed:', error);
95
+ }
96
+ };
97
+ init();
98
+ }, []);
99
+
100
+ return null;
101
+ }
102
+ ```
103
+
104
+ #### Integration Issue: Listening for Login Success Across Separate Routes
105
+
106
+ If your login page and room entry page are on different routes, the login logic for `conference.login` may not have executed when the room page loads. Use `useEffect` to monitor `loginUserInfo?.userId`; when this field is non-empty, TUIRoomKit is considered successfully authenticated.
107
+ ``` typescript
108
+ import { useEffect } from 'react';
109
+ import { useLoginState } from 'tuikit-atomicx-react/room';
110
+ import { conference } from '@tencentcloud/roomkit-web-react';
111
+
112
+ function RoomPage() {
113
+ const { loginUserInfo } = useLoginState();
114
+
115
+ useEffect(() => {
116
+ if (loginUserInfo?.userId) {
117
+ conference.createAndJoinRoom({ roomId: '123456' });
118
+ }
119
+ }, [loginUserInfo?.userId]);
120
+
121
+ return null;
122
+ }
123
+ ```
124
+
125
+ ### Step 4: Create a Room
126
+
127
+ The **Room ID (roomId)**is the unique identifier for each meeting and must be generated and managed by your business system to ensure global uniqueness. Choose the creation method based on your business scenario:
128
+
129
+ #### Scenario 1: Quick Meeting Initiated by Client
130
+
131
+ **Use Case: **The user clicks "Quick Meeting" and needs to immediately create and join a room (e.g., ad-hoc meetings, IM chat).
132
+
133
+ **Implementation: **The client generates or requests a unique Room ID from the backend, then calls `conference.createAndJoinRoom` to create and enter the room.
134
+ ``` typescript
135
+ import { conference } from '@tencentcloud/roomkit-web-react';
136
+
137
+ const startQuickMeeting = async () => {
138
+ // 1. Generate a unique Room ID
139
+ const myRoomId = `room_${Date.now()}`;
140
+
141
+ // 2. Create and join the room
142
+ await conference.createAndJoinRoom({
143
+ roomId: myRoomId,
144
+ options: {
145
+ roomName: 'My Quick Meeting',
146
+ },
147
+ });
148
+ };
149
+ ```
150
+
151
+ #### Scenario 2: Schedule a Meeting
152
+
153
+ **Use Case: **Meetings scheduled for a future time (e.g., weekly team meetings, online training). Users can set the Meeting Title, Meeting Time, and invite Participants.
154
+
155
+ **Implementation: **The client generates or requests a unique Room ID from the backend, then submits the reservation using the `scheduleRoom` API with Meeting Time and other parameters. Upon success, meeting information is synced to each Participant's Meeting List.
156
+ ``` typescript
157
+ import { useRoomState } from 'tuikit-atomicx-react/room';
158
+
159
+ function ScheduleDemo() {
160
+ const { scheduleRoom } = useRoomState();
161
+
162
+ const createSchedule = async () => {
163
+ try {
164
+ // Room ID must be a string and unique; backend generation is recommended.
165
+ const roomId = '123456';
166
+
167
+ // Note: Timestamp must be in seconds (Date.getTime() returns milliseconds, so divide by 1000)
168
+ const startTime = Math.floor(new Date().getTime() / 1000) + 3600; // Starts in 1 hour
169
+ const duration = 1800; // 30 minutes
170
+
171
+ const options = {
172
+ roomName: 'Product Requirements Review',
173
+ scheduleStartTime: startTime, // seconds
174
+ scheduleEndTime: startTime + duration, // seconds
175
+ scheduleAttendees: ['userA', 'userB'], // Participant IDs
176
+ password: '123', // optional: meeting password
177
+ };
178
+
179
+ await scheduleRoom({ roomId, options });
180
+ } catch (error) {
181
+ console.error('Scheduling failed', error);
182
+ }
183
+ };
184
+
185
+ return <button onClick={createSchedule}>Schedule Meeting</button>;
186
+ }
187
+ ```
188
+
189
+ #### Scenario 3: Create a Room on the Server Side
190
+
191
+ **Use Case: **Highly controlled environments such as government, healthcare, or enterprise OA.
192
+
193
+ **Implementation: **The business backend initiates room creation by calling TRTC's [Server REST API to Create Room](https://trtc.io/document/60707).
194
+ ``` bash
195
+ POST /v4/room_engine_http_srv/create_room
196
+ {
197
+ "roomId": "your-room-id",
198
+ "roomName": "Meeting Name",
199
+ "startTime": 1710000000,
200
+ "endTime": 1710003600,
201
+ "invitees": ["userId1", "userId2"]
202
+ }
203
+ ```
204
+
205
+ ### Step 5: Join a Room
206
+
207
+ Choose the appropriate method for joining a room based on your business requirements.
208
+
209
+ #### Scenario 1: Join Existing Room with Known Room ID
210
+
211
+ **Use Case: **The room has already been created, and Participants have received the Room ID or invitation link.
212
+
213
+ **Implementation: **After entering the Room ID or extracting it from the invitation link, call `conference.joinRoom` to join.
214
+ ``` typescript
215
+ import { conference } from '@tencentcloud/roomkit-web-react';
216
+
217
+ const joinExistingMeeting = async (sharedRoomId: string) => {
218
+ await conference.joinRoom({
219
+ roomId: sharedRoomId,
220
+ });
221
+ };
222
+ ```
223
+
224
+ #### Scenario 2: Join from Meeting List
225
+
226
+ **Use Case: **Meetings scheduled via "Client Scheduling" or "Server-Side Creation". Users can view their scheduled or invited meetings in the Meeting List and join directly.
227
+
228
+ **Implementation: **Use the `getScheduledRoomList` API from `useRoomState` to fetch the user's scheduled meetings and render them in the UI. When the user clicks a meeting, retrieve its Room ID and call `conference.joinRoom`.
229
+ ``` typescript
230
+ import { useState, useEffect } from 'react';
231
+ import { conference } from '@tencentcloud/roomkit-web-react';
232
+ import { useRoomState, useLoginState } from 'tuikit-atomicx-react/room';
233
+
234
+ interface RoomInfo {
235
+ roomId: string;
236
+ roomName?: string;
237
+ }
238
+
239
+ export default function ScheduledRoomList() {
240
+ const { getScheduledRoomList } = useRoomState();
241
+ const { loginUserInfo } = useLoginState();
242
+ const [roomList, setRoomList] = useState<RoomInfo[]>([]);
243
+
244
+ // 1. Wait for authentication before fetching Meeting List
245
+ useEffect(() => {
246
+ if (!loginUserInfo?.userId) return;
247
+ getScheduledRoomList({ cursor: '' })
248
+ .then(({ scheduledRoomList }) => setRoomList(scheduledRoomList || []))
249
+ .catch((error) => console.error('Failed to get scheduled meeting list:', error));
250
+ }, [loginUserInfo?.userId]);
251
+
252
+ // 2. Join room on click
253
+ const handleJoinRoom = async (roomId: string) => {
254
+ try {
255
+ await conference.joinRoom({ roomId });
256
+ } catch (error) {
257
+ console.error(`Failed to join meeting (${roomId}):`, error);
258
+ }
259
+ };
260
+
261
+ return (
262
+ <div>
263
+ <h3>My Scheduled Meetings</h3>
264
+ {roomList.length > 0 ? (
265
+ <ul style={{ padding: 0, listStyle: 'none' }}>
266
+ {roomList.map((room) => (
267
+ <li key={room.roomId} style={{ display: 'flex', justifyContent: 'space-between', padding: '10px', borderBottom: '1px solid #eee' }}>
268
+ <div style={{ display: 'flex', flexDirection: 'column', fontSize: '14px', color: '#666' }}>
269
+ <b style={{ fontSize: '16px', color: '#333' }}>{room.roomName || 'Unnamed Meeting'}</b>
270
+ <span>Room ID: {room.roomId}</span>
271
+ </div>
272
+ <button
273
+ onClick={() => handleJoinRoom(room.roomId)}
274
+ style={{ background: '#006eff', color: '#fff', border: 'none', padding: '6px 12px', borderRadius: '4px', cursor: 'pointer' }}
275
+ >
276
+ Join Meeting
277
+ </button>
278
+ </li>
279
+ ))}
280
+ </ul>
281
+ ) : (
282
+ <div>No scheduled meetings to join</div>
283
+ )}
284
+ </div>
285
+ );
286
+ }
287
+ ```
288
+
289
+ #### Scenario 3: Enter Room When Existence Is Uncertain
290
+
291
+ **Use Case: **Peer-to-peer scenarios (e.g., online consultation, 1v1 video customer service) where room existence is unknown.
292
+
293
+ **Implementation: **Both parties use a shared Business Document Number (e.g., order number) as Room ID and call `conference.createAndJoinRoom` to enter.
294
+ ``` typescript
295
+ import { conference } from '@tencentcloud/roomkit-web-react';
296
+
297
+ const enterDualMeeting = async (bizOrderId: string) => {
298
+ // No need to check if the room exists; SDK handles creation and entry automatically
299
+ await conference.createAndJoinRoom({
300
+ roomId: bizOrderId,
301
+ options: {
302
+ roomName: `Business Communication: ${bizOrderId}`,
303
+ },
304
+ });
305
+ };
306
+ ```
307
+
308
+ > **Tip:**
309
+ >
310
+
311
+ > The `conference.createAndJoinRoom` API automatically handles "create if not exists (become Host), join if exists (become Participant)", resolving state conflicts under high concurrency.
312
+ >
313
+
314
+ ### Step 6: Leave and End a Room
315
+
316
+ TUIRoomKit provides built-in UI buttons for leaving and ending rooms. Users can click **"Leave Room"**or **"End Room"**directly.
317
+
318
+ To trigger leave or end actions programmatically, use the following APIs.
319
+
320
+ #### Scenario 1: Leave a Room
321
+
322
+ Both Participants and Hosts can call `leaveRoom()` to exit the meeting. The room remains active for other members.
323
+ ``` typescript
324
+ import { conference } from '@tencentcloud/roomkit-web-react';
325
+
326
+ await conference.leaveRoom();
327
+ ```
328
+
329
+ > **Note:**
330
+ >
331
+
332
+ > When the Host leaves or closes the webpage, the room is not automatically ended. Other Participants can continue using TUIRoomKit. The system will reclaim room resources 6 hours after the scheduled end time if there are zero Participants.
333
+ >
334
+
335
+ #### Scenario 2: End a Room
336
+
337
+ When the Host calls `endRoom()`, all members receive a notification that the room has ended.
338
+ ``` typescript
339
+ import { conference } from '@tencentcloud/roomkit-web-react';
340
+
341
+ await conference.endRoom();
342
+ ```
343
+
344
+ > **Note:**
345
+ >
346
+
347
+ > Only the Host can call `endRoom()` after successfully entering the room. Calling as a non-host or before entering will result in an error.
348
+ >
349
+
350
+ ### Step 7: Listen for Room Status
351
+
352
+ In real-world audio/video meetings, room status may change due to various factors (e.g., Host ends the meeting, account logs in on another device, network issues).
353
+
354
+ TUIRoomKit automatically handles audio/video resource cleanup and UI prompts, but route navigation must be managed by your business logic. Register status listeners when the meeting component mounts, and remove them when it unmounts.
355
+ ``` typescript
356
+ import { useEffect } from 'react';
357
+ import { ConferenceMainView, conference, RoomEvent } from '@tencentcloud/roomkit-web-react';
358
+
359
+ export default function MeetingRoom() {
360
+ useEffect(() => {
361
+ const backToHome = () => {};
362
+ const backToLogin = () => {};
363
+
364
+ conference.on(RoomEvent.ROOM_DISMISS, backToHome);
365
+ conference.on(RoomEvent.ROOM_LEAVE, backToHome);
366
+ conference.on(RoomEvent.ROOM_ERROR, backToHome);
367
+ conference.on(RoomEvent.KICKED_OUT, backToHome);
368
+ conference.on(RoomEvent.KICKED_OFFLINE, backToLogin);
369
+ conference.on(RoomEvent.USER_SIG_EXPIRED, backToLogin);
370
+
371
+ return () => {
372
+ conference.off(RoomEvent.ROOM_DISMISS, backToHome);
373
+ conference.off(RoomEvent.ROOM_LEAVE, backToHome);
374
+ conference.off(RoomEvent.ROOM_ERROR, backToHome);
375
+ conference.off(RoomEvent.KICKED_OUT, backToHome);
376
+ conference.off(RoomEvent.KICKED_OFFLINE, backToLogin);
377
+ conference.off(RoomEvent.USER_SIG_EXPIRED, backToLogin);
378
+ };
379
+ }, []);
380
+
381
+ return <ConferenceMainView />;
382
+ }
383
+ ```
384
+
385
+ |Event|Trigger Timing|Recommended Handling|
386
+ |---------|---------|---------|
387
+ |`RoomEvent.ROOM_DISMISS`|Room ended, triggered for all members|Return to home or Meeting List|
388
+ |`RoomEvent.ROOM_LEAVE`|User clicks "Leave" in TUIRoomKit UI|Return to home or Meeting List|
389
+ |`RoomEvent.ROOM_ERROR`|Entry failure or unhandled error|Return to home or Meeting List|
390
+ |`RoomEvent.KICKED_OUT`|Kicked out by Host|Return to home or Meeting List|
391
+ |`RoomEvent.KICKED_OFFLINE`|Same account logged in elsewhere, current device forced offline|Redirect to login page|
392
+ |`RoomEvent.USER_SIG_EXPIRED`|UserSig expired|Redirect to login page|
393
+
394
+ ## Start the Project
395
+
396
+ 【npm】
397
+ ``` bash
398
+ npm run dev
399
+ ```
400
+
401
+ 【pnpm】
402
+ ``` bash
403
+ pnpm run dev
404
+ ```
405
+
406
+ 【yarn】
407
+ ``` bash
408
+ yarn run dev
409
+ ```
410
+
411
+ After the project starts, open your browser to the debug address (usually http://localhost:5173) to access the app. You should see the meeting interface as shown below:
412
+
413
+ ## Next Steps
414
+
415
+ After completing the basic integration, you can further customize the UI to fit your business requirements.
416
+
417
+ ### Configure Theme and Language
418
+
419
+ Change the default theme and language by setting the `UIKitProvider` parameters in `App.vue`.
420
+
421
+ |`UIKitProvider` Parameter|Optional Values|Default Value|
422
+ |---------|---------|---------|
423
+ |theme|"light" \| "dark"|"dark"|
424
+ |language|"zh-CN" \| "en-US"|"en-US"|
425
+
426
+ ``` typescript
427
+ import { UIKitProvider } from '@tencentcloud/uikit-base-component-react';
428
+
429
+ export default function App() {
430
+ return (
431
+ <UIKitProvider theme="light" language="zh-CN">
432
+ {/* Route or page content */}
433
+ </UIKitProvider>
434
+ );
435
+ }
436
+ ```
437
+
438
+ ### Configure User Relationship Chain
439
+
440
+ TUIRoomKit's built-in participant invitation and meeting scheduling picker components use TRTC IM's User Relationship Chain (Friend List) by default. To display your organization's internal structure or custom Friend List, sync your business contacts to TRTC IM via Server APIs:
441
+ 1. Use [Account Management > Import Multiple Accounts](https://trtc.io/document/34954) REST API to batch import user accounts.
442
+
443
+ 2. Use [Friend Management > Import Friends](https://trtc.io/document/34903) REST API to batch import user relationships.
444
+
445
+ ### Modify Meeting Share Link
446
+
447
+ By default, TUIRoomKit uses the current page address as the Meeting Share Link.
448
+
449
+ To customize the share link, call `conference.setFeatureConfig` after successfully joining or creating a room, ensuring Room ID is available.
450
+ ``` typescript
451
+ import { conference } from '@tencentcloud/roomkit-web-react';
452
+
453
+ // Call after conference.createAndJoinRoom / conference.joinRoom succeeds, when roomId is known
454
+ const roomId = '123456';
455
+ conference.setFeatureConfig({
456
+ shareLink: `https://your-domain.com/room?roomId=${roomId}`,
457
+ });
458
+ ```
459
+
460
+ ### Configure Video Stream Layout and Meeting Widgets
461
+
462
+ TUIRoomKit supports three video stream layouts: Grid Layout, Sidebar Layout, and Top Bar Layout. The default is Grid Layout. Change the layout by calling `conference.setFeatureConfig`.
463
+ ``` typescript
464
+ import { RoomLayoutTemplate } from 'tuikit-atomicx-react/room';
465
+ import { conference } from '@tencentcloud/roomkit-web-react';
466
+
467
+ // Option 1: Set Sidebar Layout as default
468
+ conference.setFeatureConfig({ layoutTemplate: RoomLayoutTemplate.SidebarLayout });
469
+
470
+ // Option 2: Set Top Bar Layout as default
471
+ conference.setFeatureConfig({ layoutTemplate: RoomLayoutTemplate.CinemaLayout });
472
+ ```
473
+
474
+ ## FAQs
475
+
476
+ ### Does the meeting end immediately if the Host closes the webpage or exits unexpectedly?
477
+
478
+ No. If the Host closes the browser or leaves due to network issues, the meeting continues and other Participants can interact as usual.
479
+
480
+ To conserve resources, actively end the room when the meeting concludes using one of the following methods:
481
+ - UI: Host clicks the "End Room" button in TUIRoomKit UI
482
+
483
+ - Client APIs: Call `conference.endRoom()`
484
+
485
+ - Server APIs: Use REST API for remote destruction
486
+
487
+ If not ended manually, the system will automatically reclaim resources 6 hours after the scheduled end time if the room has zero Participants.
488
+
489
+ ### Can multiple devices use the same userId to join the same meeting at the same time?
490
+
491
+ No. TUIRoomKit does not allow the same userId to join the same room on multiple devices simultaneously.
492
+ - Kick mechanism: If a new device joins with the same userId, the device already in the room will be forced offline.
493
+
494
+ - Solution: Assign a unique userId to each device for multi-device participation.
495
+
496
+ ### Works locally, but fails to access camera or microphone after deployment?
497
+ - Cause: Browsers restrict access to audio/video devices for security and privacy. Access is only allowed in secure environments (https://, localhost, file://, etc.). HTTP is not secure and browsers will block media device access.
498
+
499
+ - Solution: If local access works but fails after deployment, check if your site uses HTTP. Deploy over HTTPS and ensure a valid certificate.
500
+
501
+ - For more details, see [URL Domain and Protocol Restrictions](https://trtc.io/document/41664).
502
+
503
+ ### Is iframe integration supported?
504
+
505
+ Yes. When integrating TUIRoomKit via iframe, set the allow attribute to grant necessary browser permissions (microphone, camera, screen sharing, fullscreen, etc.) as shown below:
506
+ ``` typescript
507
+ // Enable microphone, camera, screen sharing, fullscreen permissions
508
+ <iframe src="https://your-domain.com/index.html" allow="microphone; camera; display-capture; display; fullscreen;">
509
+ ```
510
+
511
+ For more information, see Embedded Pages (iframe).
512
+
513
+ ### Is intranet proxy supported?
514
+
515
+ Yes. Set intranet proxy parameters as shown below. For more details, see [Dealing with Firewall Restrictions](https://trtc.io/document/59667).
516
+ ``` typescript
517
+ // Set intranet proxy parameters before entering the room
518
+ import TUIRoomEngine from '@tencentcloud/tuiroom-engine-js';
519
+ import { useRoomEngine } from 'tuikit-atomicx-react/room';
520
+
521
+ const roomEngine = useRoomEngine();
522
+
523
+ TUIRoomEngine.once('ready', () => {
524
+ const trtcCloud = roomEngine.instance?.getTRTCCloud();
525
+ trtcCloud.callExperimentalAPI(JSON.stringify({
526
+ api: 'setNetworkProxy',
527
+ params: {
528
+ websocketProxy: "wss://proxy.example.com/ws/",
529
+ turnServer: [{
530
+ url: '14.3.3.3:3478',
531
+ username: 'turn',
532
+ credential: 'turn',
533
+ }],
534
+ iceTransportPolicy: 'relay',
535
+ },
536
+ }));
537
+ });
538
+ ```
539
+
540
+ ### Can TUIRoomKit source code be modified directly?
541
+
542
+ TUIRoomKit offers rich customization out of the box—custom themes and languages, UI tweaks, custom video layouts and widgets, watermarking, and more—so you can meet most UI and interaction requirements without changing the source.
543
+
544
+ We strongly discourage exporting the source code. Doing so removes your project from TUIRoomKit's standard npm upgrade path, increases maintenance costs, and prevents you from benefiting from new features and performance improvements in the underlying audio/video engine.
545
+ - Recommended: Explore standard customization options in the UI customization documentation.
546
+
547
+ - Feedback: If the available APIs do not meet your needs, contact us via [Contact Us](https://trtc.io/contact) to submit your requirements. We will evaluate and strive to provide stable, standardized API support.
548
+
549
+ If you have fully considered the maintenance risks and require deep customization, you may export the source code as follows:
550
+
551
+ 【React】
552
+ 1. Run the export script. The default copy path is `./src/components/RoomKit`
553
+
554
+ ``` bash
555
+ node ./node_modules/@tencentcloud/roomkit-web-react/scripts/eject.js
556
+ ```
557
+ 2. Follow the script prompts to confirm whether to copy TUIRoomKit source code to `./src/components/RoomKit`. Enter 'y' to customize the copy directory, or 'n' otherwise.
558
+
559
+ 3. After exporting, the source code will appear in your specified project path. Update the import paths for the `ConferenceMainView` component and `conference` object from the npm package address to the RoomKit source path.
560
+
561
+ ``` typescript
562
+ import { ConferenceMainView, conference } from '@tencentcloud/roomkit-web-react';
563
+ // Change import path to the actual TUIRoomKit source path
564
+ import { ConferenceMainView, conference } from './components/RoomKit/index.ts';
565
+ ```
566
+ 4. Configure ESLint
567
+
568
+ If you encounter ESLint errors after exporting, add the RoomKit folder to `.eslintignore` to ignore ESLint checks.
569
+ ``` javascript
570
+ // Replace with the actual TUIRoomKit source path
571
+ src/components/RoomKit
572
+ ```
573
+
574
+ ## Contact Us
575
+
576
+ If you have any questions or suggestions during integration or usage, you are welcome to join our [Telegram technical group](https://t.me/+EPk6TMZEZMM5OGY1) or [contact us](https://trtc.io/contact) for support.
@@ -0,0 +1,44 @@
1
+ ## Introduction
2
+
3
+ Quick Demo show the basic audio and video communication capabilities with sample code:
4
+ - Set user to login TRTC platform service
5
+
6
+ - Turn on/off your camera and microphone, and send them to others
7
+
8
+ - Share your screen with others
9
+
10
+ ## How to use
11
+
12
+ ### 1. Create an Application
13
+
14
+ Users within an application are allowed to enter the same room for audio and video calls. `SDKAppID` and `SDKSecretKey` are the unique verification credentials for the application.
15
+ <div style="height:-10px"></div>
16
+
17
+ You can create it in the [Console](https://console.trtc.io/app), and get it's `SDKAppID` and `SDKSecretKey`. We will use those to login quick demo.
18
+
19
+ ### 2. Online Demo
20
+
21
+ You can fill in the `SDKAppID` and `SDKSecretKey` obtained from the first part into the following demo, and click "Enter Room" button.
22
+
23
+ After success, an invitation link will be generated, so you can invite another person to join the call together!
24
+ <iframe src="https://web.sdk.qcloud.com/trtc/webrtc/v5/demo/samples/basic-features/quick-start/index.html?lang=en" height="900" width="100%" allow="microphone;camera;display-capture;" allowfullscreen="true" frameborder="no">
25
+ <p>您的浏览器不支持 iframe 标签。</p>
26
+ </iframe>
27
+
28
+ ## More Demo
29
+
30
+ The above Demo is written in native JavaScript. You can access its [source code here](https://github.com/Tencent-RTC/TRTC_Web/tree/main/samples/basic-features/quick-start), you can also click on [this link](https://web.sdk.qcloud.com/trtc/webrtc/v5/demo/samples/basic-features/quick-start/index.html) to access it in a separate window.
31
+ <div> </div>
32
+
33
+ We also provide demos for React, Vue2, Vue3. Here's the links:
34
+ - [React Online Demo](https://web.sdk.qcloud.com/trtc/webrtc/v5/demo/quick-demo-react/index.html#/) and [React Github](https://github.com/Tencent-RTC/TRTC_Web/tree/main/quick-demo-react)
35
+
36
+ - [Vue2 Online Demo](https://web.sdk.qcloud.com/trtc/webrtc/v5/demo/quick-demo-vue2-js/index.html#/) and [Vue2 Github](https://github.com/Tencent-RTC/TRTC_Web/tree/main/quick-demo-vue2-js)
37
+
38
+ - [Vue3 Online Demo](https://web.sdk.qcloud.com/trtc/webrtc/v5/demo/quick-demo-vue3-ts/index.html#/) and [Vue3 Github](https://github.com/Tencent-RTC/TRTC_Web/tree/main/quick-demo-vue3-ts)
39
+
40
+ <div></div>
41
+
42
+ <div></div>
43
+
44
+ If you want to integrate it yourself, you can visit [the integration guide documentation.](https://trtc.io/document/59649)
@@ -32,7 +32,7 @@ If you want to have complete control over the user experience when autoplay fail
32
32
 
33
33
  ### Step 1: Disable SDK default popup
34
34
 
35
- Set the `enableAutoPlayDialog` parameter to `false` when calling the [TRTC.enterRoom](./TRTC.html#enterRoom) interface:
35
+ Set the `enableAutoPlayDialog` parameter to `false` when calling the [TRTC.enterRoom](TRTC.md#enterRoom) interface:
36
36
 
37
37
  ```javascript
38
38
  await trtc.enterRoom({
@@ -43,7 +43,7 @@ await trtc.enterRoom({
43
43
 
44
44
  ### Step 2: Listen for autoplay failure events (Required)
45
45
 
46
- Listen to the [AUTOPLAY_FAILED](./module-EVENT.html#.AUTOPLAY_FAILED) event to handle autoplay failures. The SDK will automatically monitor user click events and resume playback after the user clicks.
46
+ Listen to the [AUTOPLAY_FAILED](module-EVENT.md#.AUTOPLAY_FAILED) event to handle autoplay failures. The SDK will automatically monitor user click events and resume playback after the user clicks.
47
47
 
48
48
  ```javascript
49
49
  trtc.on(TRTC.EVENT.AUTOPLAY_FAILED, event => {
@@ -77,6 +77,12 @@ function showCustomDialog(event) {
77
77
  - When playing remote streams for the first time, you must call the playback interface directly in the user click event callback
78
78
  - You cannot use asynchronous methods like setTimeout to call the playback interface, otherwise playback will fail
79
79
 
80
+ 3. **Iframe embedding scenario**: When the TRTC SDK runs inside an iframe, the following limitations apply:
81
+ - User clicks on the parent page (outside the iframe) cannot penetrate into the iframe, so the click event cannot be captured by the iframe's `document`. The SDK's default auto-resume listener will not be triggered.
82
+ - The parent page should add the `allow="autoplay"` attribute to the iframe to allow the iframe page to use autoplay. However, `allow="autoplay"` **does not disable the browser's autoplay policy**; it only allows the iframe to attempt autoplay. For audible media, the browser may still require the user to first interact with the iframe content.
83
+ - If using the SDK's default dialog, make sure users can click on the SDK dialog inside the iframe to resume playback.
84
+ - For a custom experience, disable the SDK default dialog (`enableAutoPlayDialog: false`), listen to the `AUTOPLAY_FAILED` event, show a custom button inside the iframe, and call the `resume()` method from the event in the button's click callback.
85
+
80
86
  ## Disable Autoplay Policy in Webview
81
87
 
82
88
  The default autoplay policy in Android and iOS Webview may be different to the browser. You can refer to the following document to turn off autoplay restrictions in your App.
@@ -1,6 +1,24 @@
1
1
  ## Function Description
2
2
 
3
- This article will introduce how to add background music during a call. [Experience demo](https://web.sdk.qcloud.com/trtc/webrtc/demo/api-sample/improve-audio-mixer.html?roomID=43222).
3
+ This article will introduce how to add background music during a call. [Experience demo](https://web.sdk.qcloud.com/trtc/webrtc/demo/api-sample/improve-audio-mixer.html).
4
+
5
+ ## Run Demo
6
+
7
+ <div style="margin: 20px 0;">
8
+ <details class="trtc-demo-details" style="border-radius: 10px; border: 1px solid #e5e6eb; overflow: hidden; box-shadow: 0 4px 14px rgba(0,82,217,0.08); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;">
9
+ <summary style="padding: 14px 22px; background: linear-gradient(135deg, #006eff 0%, #0052d9 100%); color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; list-style: none; user-select: none; display: flex; align-items: center; gap: 10px; transition: filter 0.2s;">
10
+ <span class="trtc-demo-arrow" style="font-size: 14px; opacity: 0.9;">▶</span>
11
+ <span class="trtc-demo-summary-text">Click to Run Demo</span>
12
+ </summary>
13
+ <div style="padding: 16px; background: #fff;">
14
+ <script>
15
+ (function(){var t=null;window.addEventListener('message',function(e){if(e.data&&e.data.type==='trtc-demo-resize'){var f=document.querySelector('.trtc-demo-iframe');if(f){f.style.height=e.data.height+'px';clearTimeout(t);t=setTimeout(function(){f.style.height=e.data.height+'px'},200)}}})})();
16
+ document.querySelectorAll('.trtc-demo-details').forEach(function(d){d.addEventListener('toggle',function(){var s=d.querySelector('.trtc-demo-summary-text'),a=d.querySelector('.trtc-demo-arrow');if(d.open){s&&(s.textContent='Click to Close Demo');a&&(a.textContent='▼')}else{s&&(s.textContent='Click to Run Demo');a&&(a.textContent='▶')}})});
17
+ </script>
18
+ <iframe allow="microphone; camera; display-capture;" class="trtc-demo-iframe" style="width:100%;border:none;min-height:700px" title="Music and Audio Effects" src="https://web.sdk.qcloud.com/trtc/webrtc/v5/demo/samples/advance-features/enable-audio-mixer/index.html?lang=en" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true"></iframe>
19
+ </div>
20
+ </details>
21
+ </div>
4
22
 
5
23
  ## Prerequisites
6
24