@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,340 @@
1
+ `RoomStore` is the core room management module in `AtomicXCore`, offering comprehensive support for scheduled meeting rooms. This section explains how to efficiently develop and integrate scheduled room features using `RoomStore`.
2
+
3
+ ## Core Features
4
+ - **Schedule and Cancel Meeting Rooms**: Any user can schedule or cancel a meeting room.
5
+
6
+ - **Update Scheduled Room Information**: Update the information of existing scheduled rooms, including the room name, start time, and end time.
7
+
8
+ - **Retrieve Scheduled Room List**: Retrieve a list of all scheduled rooms for the current account.
9
+
10
+ - **Retrieve Scheduled Room Participant List**: Get the list of participants for a specific scheduled room.
11
+
12
+ - **Add or Remove Scheduled Room Participants**: Add or remove participants from an existing scheduled room.
13
+
14
+ ## Core Concepts
15
+
16
+ Core concepts in `RoomStore` are summarized in the table below:
17
+ | Core Concept | Type | Core Responsibilities & Description |
18
+ | --- | --- | --- |
19
+ | <a href="https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-room-state/index.html">RoomStatus</a> | <code>enum class</code> | Current status of the room:<br>- <code>SCHEDULED</code> (scheduled).<br>- <code>RUNNING</code> (in progress). |
20
+ | <a href="https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-schedule-room-options/index.html">ScheduleRoomOptions</a> | <code>data class</code> | The data structure for scheduled rooms, including start time, end time, participant list, and more. |
21
+ | <a href="https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-room-state/index.html">RoomState</a> | <code>data class</code> | Core data structure for room state management. Maintains user-related room state information.<br>Key properties:<br>- <code>scheduledRoomList</code>: List of all scheduled rooms under the current account.<br>- <code>scheduledRoomListCursor</code>: Pagination cursor for the scheduled room list. |
22
+ | <a href="https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-room-listener/index.html">RoomListener</a> | <code>abstract class</code> | Handles real-time events related to room activity, including scheduled room events. |
23
+ | <a href="https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-room-store/index.html">RoomStore</a> | <code>abstract class</code> | The class for managing the entire room lifecycle. Use it to schedule rooms, retrieve scheduled room lists, and subscribe to <code>RoomListener</code> for real-time scheduled room events. |
24
+
25
+ ## Implementation Steps
26
+
27
+ ### Step 1: Integrate Components
28
+
29
+ Follow the Integration Overview to integrate the AtomicXCore SDK. Make sure you have completed the Implement Login Logic before proceeding.
30
+
31
+ ### Step 2: Implement Scheduled Room Features
32
+
33
+ #### 1. Scheduling a Room
34
+
35
+ **Implementation Steps:**
36
+ 1. **Set Initialization Parameters:** Create a `ScheduleRoomOptions` object to configure the room name, password, start time, end time, participant list, and other details.
37
+
38
+ 2. **Set Room Permissions:** Define global member permissions, such as mute all, disable all video, and other restrictions.
39
+
40
+ 3. **Schedule the Room:** Call the `scheduleRoom` method on `RoomStore` to complete the scheduling process.
41
+
42
+ **Example Code:**
43
+
44
+ ``` java
45
+ import io.trtc.tuikit.atomicxcore.api.CompletionHandler
46
+ import io.trtc.tuikit.atomicxcore.api.room.RoomStore
47
+ import io.trtc.tuikit.atomicxcore.api.room.ScheduleRoomOptions
48
+
49
+ // Schedule a room
50
+ fun scheduleRoom() {
51
+ val startTime = (System.currentTimeMillis() / 1000) + 60 * 15 // Start time: now + 15 minutes
52
+ val endTime = startTime + 60 * 30 // End time: start time + 30 minutes
53
+ val reminderSeconds = 60 * 5 // Reminder: 5 minutes before start
54
+
55
+ // Create room options
56
+ val options = ScheduleRoomOptions(
57
+ roomName = "Room Name",
58
+ scheduleStartTime = startTime,
59
+ scheduleEndTime = endTime,
60
+ reminderSecondsBeforeStart = reminderSeconds,
61
+ scheduleAttendees = listOf("user01", "user02", "user03"), // Participant user IDs
62
+ password = "Room Password", // Optional, empty string for no password
63
+ isAllMicrophoneDisabled = false, // Default: allow microphones
64
+ isAllCameraDisabled = false, // Default: allow cameras
65
+ isAllScreenShareDisabled = false, // Default: allow screen sharing
66
+ isAllMessageDisabled = false // Default: allow chat messaging
67
+ )
68
+
69
+ RoomStore.shared().scheduleRoom("roomID", options, object : CompletionHandler {
70
+ override fun onSuccess() {
71
+ println("Room scheduled successfully")
72
+ }
73
+ override fun onFailure(code: Int, desc: String) {
74
+ println("Failed to schedule room: [Error code: $code] $desc")
75
+ }
76
+ })
77
+ }
78
+ ```
79
+
80
+ `scheduleRoom`** Method Parameters**
81
+
82
+ | Parameter | Type | Required | Description |
83
+ | --- | --- | --- | --- |
84
+ | <code>roomID</code> | <code>String</code> | Yes | - Unique string identifier for the room.<br>- Length: 0–48 bytes.<br>- Use only numbers, English letters (case sensitive), underscores (_), and hyphens (-). Avoid spaces and Chinese characters. |
85
+ | <code>options</code> | <code>ScheduleRoomOptions</code> | Yes | Room configuration object. See ScheduleRoomOptions Struct Details. |
86
+ | <code>completion</code> | <code>CompletionHandler</code> | No | Callback for operation completion. Returns result or error code/message if scheduling fails. |
87
+
88
+ `ScheduleRoomOptions`** Struct Details**
89
+
90
+ | Parameter | Type | Required | Description |
91
+ | --- | --- | --- | --- |
92
+ | <code>roomName</code> | <code>String</code> | No | - Room name (optional, defaults to "").<br>- Length: 0–60 bytes.<br>- Supports Chinese, English, numbers, and special characters. |
93
+ | <code>password</code> | <code>String</code> | No | - Room password ("" means no password).<br>- Length: 0–32 bytes.<br>- Recommend 4–8 digit numbers for easier input. If set, users must enter the password to join. Do not store sensitive info in plain text. |
94
+ | <code>scheduleStartTime</code> | <code>Long</code> | Yes | - Scheduled start time (Unix timestamp in seconds).<br>- Must be greater than the current time.<br>- We recommend aligning to a future minute. Example: 1736164800 (2025-01-06 20:00:00). |
95
+ | <code>scheduleEndTime</code> | <code>Long</code> | Yes | Scheduled end time (Unix timestamp in seconds).<br>- Must be greater than <code>scheduleStartTime</code>.<br>- Set based on expected duration, e.g., <code>scheduleStartTime</code> + 3600 for one hour. |
96
+ | <code>reminderSecondsBeforeStart</code> | <code>Int</code> | No | - Reminder time before the scheduled start (seconds). Used for system-triggered notifications.<br>- Recommended: 300 (5 min) or 900 (15 min) for local app notifications. |
97
+ | <code>scheduleAttendees</code> | <code>List</code> | No | - List of participant user IDs. The system will send invitations to these users.<br>- For details, see retrieving the participant list for scheduled rooms. |
98
+ | <code>isAllMicrophoneDisabled</code> | <code>Boolean</code> | No | Whether to mute all participants by default.<br>- true: Disabled.<br>- false: Not disabled (default). |
99
+ | <code>isAllCameraDisabled</code> | <code>Boolean</code> | No | Whether to disable all participant cameras by default.<br>- true: Disabled.<br>- false: Not disabled (default). |
100
+ | <code>isAllScreenShareDisabled</code> | <code>Boolean</code> | No | Whether to disable screen sharing for all participants.<br>- true: Disabled.<br>- false: Not disabled (default). |
101
+ | <code>isAllMessageDisabled</code> | <code>Boolean</code> | No | Whether to mute chat messages for all participants.<br>- true: Disabled.<br>- false: Not disabled (default). |
102
+
103
+ #### 2. Cancel a Scheduled Room
104
+
105
+ The room scheduler can call `RoomStore.cancelScheduledRoom` to cancel a scheduled room.
106
+ ``` java
107
+ import android.util.Log
108
+ import io.trtc.tuikit.atomicxcore.api.CompletionHandler
109
+ import io.trtc.tuikit.atomicxcore.api.room.RoomStore
110
+
111
+ // Cancel a scheduled room
112
+ fun cancelScheduledRoom(roomID: String) {
113
+ RoomStore.shared().cancelScheduledRoom(roomID, object : CompletionHandler {
114
+ override fun onSuccess() {
115
+ Log.d("Room", "Successfully canceled scheduled room")
116
+ }
117
+ override fun onFailure(code: Int, desc: String) {
118
+ Log.d("Room", "Failed to cancel scheduled room: [Error code: $code] $desc")
119
+ }
120
+ })
121
+ }
122
+ ```
123
+
124
+ #### 3. Update a Scheduled Room
125
+
126
+ The room scheduler can use `RoomStore.updateScheduledRoom` to update the room name, start time, and end time for a scheduled room.
127
+ ``` java
128
+ import android.util.Log
129
+ import io.trtc.tuikit.atomicxcore.api.CompletionHandler
130
+ import io.trtc.tuikit.atomicxcore.api.room.RoomStore
131
+ import io.trtc.tuikit.atomicxcore.api.room.ScheduleRoomOptions
132
+
133
+ // Update a scheduled room
134
+ fun updateScheduledRoom() {
135
+ val newStartTime = (System.currentTimeMillis() / 1000) + 60 * 30 // Start: now + 30 minutes
136
+ val newEndTime = newStartTime + 60 * 45 // End: start + 45 minutes
137
+
138
+ val options = ScheduleRoomOptions(
139
+ roomName = "Room Name",
140
+ scheduleStartTime = newStartTime,
141
+ scheduleEndTime = newEndTime
142
+ )
143
+
144
+ val modifyFlagList = listOf(
145
+ ScheduleRoomOptions.ModifyFlag.ROOM_NAME,
146
+ ScheduleRoomOptions.ModifyFlag.SCHEDULE_START_TIME,
147
+ ScheduleRoomOptions.ModifyFlag.SCHEDULE_END_TIME
148
+ )
149
+
150
+ RoomStore.shared().updateScheduledRoom("roomID", options, modifyFlagList, object : CompletionHandler {
151
+ override fun onSuccess() {
152
+ Log.d("Room", "Successfully updated scheduled room")
153
+ }
154
+ override fun onFailure(code: Int, desc: String) {
155
+ Log.d("Room", "Failed to update scheduled room: [Error code: $code] $desc")
156
+ }
157
+ })
158
+ }
159
+ ```
160
+
161
+ `updateScheduledRoom`** Parameters**
162
+ | Parameter | Type | Required | Description |
163
+ | --- | --- | --- | --- |
164
+ | <code>roomID</code> | <code>String</code> | Yes | - Unique string identifier for the room.<br>- Length: 0–48 bytes.<br>- Use only numbers, English letters (case sensitive), underscores (_), and hyphens (-). Avoid spaces and Chinese characters. |
165
+ | <code>options</code> | <code>ScheduleRoomOptions</code> | Yes | Configuration object for the scheduled room.<br>- See details in ScheduleRoomOptions struct. |
166
+ | <code>modifyFlagList</code> | <code>List<ScheduleRoomOptions.ModifyFlag></code> | Yes | Flags specifying which room properties to update. Can update room name, start time, and end time. See <code>ModifyFlag</code> documentation. |
167
+ | <code>completion</code> | <code>CompletionHandler</code> | No | Callback for completion. Returns result or error code/message if update fails. |
168
+
169
+ `ScheduleRoomOptions.ModifyFlag`** Details**
170
+ | Parameter | Type | Description |
171
+ | --- | --- | --- |
172
+ | <code>ROOM_NAME</code> | <code>enum</code> | - Use this flag when updating the scheduled room name.<br>- You must also set the <code>roomName</code> field in <code>ScheduleRoomOptions</code>. |
173
+ | <code>SCHEDULE_START_TIME</code> | <code>enum</code> | - Use this flag when updating the scheduled room start time.<br>- You must also set the <code>scheduleStartTime</code> field in <code>ScheduleRoomOptions</code>. |
174
+ | <code>SCHEDULE_END_TIME</code> | <code>enum</code> | - Use this flag when updating the scheduled room end time.<br>- You must also set the <code>scheduleEndTime</code> field in <code>ScheduleRoomOptions</code>. |
175
+
176
+ #### 4. Add or Remove Participants
177
+
178
+ To add or remove participants in a scheduled room, use `RoomStore.addScheduledAttendees` or `RoomStore.removeScheduledAttendees`.
179
+ ``` java
180
+ import android.util.Log
181
+ import io.trtc.tuikit.atomicxcore.api.CompletionHandler
182
+ import io.trtc.tuikit.atomicxcore.api.room.RoomStore
183
+
184
+ // Add scheduled participants
185
+ fun addScheduledAttendees(roomID: String, userIDList: List<String>) {
186
+ RoomStore.shared().addScheduledAttendees(roomID, userIDList, object : CompletionHandler {
187
+ override fun onSuccess() {
188
+ Log.d("Room", "Successfully added scheduled participants")
189
+ }
190
+ override fun onFailure(code: Int, desc: String) {
191
+ Log.d("Room", "Failed to add scheduled participants: [Error code: $code] $desc")
192
+ }
193
+ })
194
+ }
195
+
196
+ // Remove scheduled participants
197
+ fun removeScheduledAttendees(roomID: String, userIDList: List<String>) {
198
+ RoomStore.shared().removeScheduledAttendees(roomID, userIDList, object : CompletionHandler {
199
+ override fun onSuccess() {
200
+ Log.d("Room", "Successfully removed scheduled participants")
201
+ }
202
+ override fun onFailure(code: Int, desc: String) {
203
+ Log.d("Room", "Failed to remove scheduled participants: [Error code: $code] $desc")
204
+ }
205
+ })
206
+ }
207
+ ```
208
+
209
+ ### Step 3: Retrieve the Scheduled Room List
210
+
211
+ Use `RoomStore.getScheduledRoomList` to get all scheduled rooms for your account.
212
+ ``` java
213
+ import android.util.Log
214
+ import io.trtc.tuikit.atomicxcore.api.ListResultCompletionHandler
215
+ import io.trtc.tuikit.atomicxcore.api.room.RoomInfo
216
+ import io.trtc.tuikit.atomicxcore.api.room.RoomStore
217
+
218
+ // Get scheduled room list
219
+ fun getScheduledRoomList(cursor: String? = null) {
220
+ // Use null for the first page; use the previous nextCursor for subsequent pages
221
+ RoomStore.shared().getScheduledRoomList(cursor, object : ListResultCompletionHandler<RoomInfo> {
222
+ override fun onSuccess(result: List<RoomInfo>, cursor: String) {
223
+ Log.d("Room", "Successfully retrieved scheduled room list")
224
+ }
225
+ override fun onFailure(code: Int, desc: String) {
226
+ Log.d("Room", "Failed to retrieve scheduled room list: [Error code: $code] $desc")
227
+ }
228
+ })
229
+ }
230
+ ```
231
+
232
+ ### Step 4: Retrieve the Participant List for a Scheduled Room
233
+
234
+ Use `RoomStore.getScheduledAttendees` to retrieve participants for a specific scheduled room.
235
+ ``` java
236
+ import android.util.Log
237
+ import io.trtc.tuikit.atomicxcore.api.ListResultCompletionHandler
238
+ import io.trtc.tuikit.atomicxcore.api.room.RoomStore
239
+ import io.trtc.tuikit.atomicxcore.api.room.RoomUser
240
+
241
+ // Get participant list for a scheduled room
242
+ fun getScheduledAttendees(roomID: String, cursor: String? = null) {
243
+ // Use null for the first page; use the previous nextCursor for subsequent pages
244
+ RoomStore.shared().getScheduledAttendees(roomID, cursor, object : ListResultCompletionHandler<RoomUser> {
245
+ override fun onSuccess(result: List<RoomUser>, cursor: String) {
246
+ Log.d("Room", "Successfully retrieved scheduled room participant list")
247
+ }
248
+ override fun onFailure(code: Int, desc: String) {
249
+ Log.d("Room", "Failed to retrieve scheduled room participant list: [Error code: $code] $desc")
250
+ }
251
+ })
252
+ }
253
+ ```
254
+
255
+ ### Step 5: Subscribe to Real-Time Events and State Changes
256
+
257
+ Subscribe to scheduled room events with `RoomListener`. Example:
258
+ ``` java
259
+ import android.util.Log
260
+ import io.trtc.tuikit.atomicxcore.api.room.RoomInfo
261
+ import io.trtc.tuikit.atomicxcore.api.room.RoomListener
262
+ import io.trtc.tuikit.atomicxcore.api.room.RoomStore
263
+ import io.trtc.tuikit.atomicxcore.api.room.RoomUser
264
+
265
+ /**
266
+ * Subscribe to scheduled room events
267
+ */
268
+ fun subscribeScheduledRoomEvents() {
269
+ val listener = object : RoomListener() {
270
+ override fun onAddedToScheduledRoom(roomInfo: RoomInfo) {
271
+ Log.d("Room", "Added to scheduled room. Room info: $roomInfo")
272
+ }
273
+
274
+ override fun onRemovedFromScheduledRoom(roomInfo: RoomInfo, operator: RoomUser) {
275
+ Log.d("Room", "Removed from scheduled room. Room info: $roomInfo, Removed by: $operator")
276
+ }
277
+
278
+ override fun onScheduledRoomCancelled(roomInfo: RoomInfo, operator: RoomUser) {
279
+ Log.d("Room", "Scheduled room cancelled. Room info: $roomInfo, Cancelled by: $operator")
280
+ }
281
+
282
+ override fun onScheduledRoomStartingSoon(roomInfo: RoomInfo) {
283
+ Log.d("Room", "Scheduled room starting soon. Room info: $roomInfo")
284
+ }
285
+
286
+ // Override other event callbacks as needed
287
+ }
288
+
289
+ RoomStore.shared().addRoomListener(listener)
290
+ }
291
+ ```
292
+
293
+ Subscribe to scheduled room list state changes with `RoomState`. Example:
294
+ ``` java
295
+ import android.util.Log
296
+ import io.trtc.tuikit.atomicxcore.api.room.RoomStore
297
+ import kotlinx.coroutines.CoroutineScope
298
+ import kotlinx.coroutines.Dispatchers
299
+ import kotlinx.coroutines.launch
300
+
301
+ // Subscribe to scheduled room list state changes
302
+ private fun subscribeParticipantState() {
303
+ CoroutineScope(Dispatchers.Main).launch {
304
+ RoomStore.shared().state.scheduledRoomList.collect { scheduledRoomList ->
305
+ Log.d("Room", "Scheduled room list changed. Room list info: $scheduledRoomList")
306
+ }
307
+ }
308
+ }
309
+ ```
310
+
311
+ ## API Documentation
312
+
313
+ |**Store/Component**|**Feature Description**|**API Documentation**|
314
+ |---------|---------|---------|
315
+ |**RoomStore**|Complete room lifecycle management: create & join / join / leave / end room / update & retrieve room info / schedule rooms / call out-of-room members / listen for in-room passive events (such as room dissolved, room info updated, etc.).|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-room-store/index.html)|
316
+
317
+ ## FAQs
318
+
319
+ ### Why am I not receiving the `onScheduledRoomStartingSoon` event from `RoomListener` after scheduling a room?
320
+
321
+ If you are not receiving the upcoming event notification after scheduling a room, check the following:
322
+ 1. **Verify Reminder Parameter Configuration (**`reminderSecondsBeforeStart`**)**
323
+
324
+ - **Trigger Mechanism:** The `onScheduledRoomStartingSoon` event is triggered based on the `reminderSecondsBeforeStart` property set in `ScheduleRoomOptions`.
325
+
326
+ - **Default Value:** The default is 0, which means reminders are disabled.
327
+
328
+ - **Solution:** Set this parameter explicitly when scheduling a room. The value is in **seconds** and determines how long before the room starts the notification is sent.
329
+
330
+ 2. **Check Scheduled Time Logic**
331
+
332
+ - **Calculation:** The reminder triggers only if: scheduled start time (`scheduleStartTime`) - current time > reminder offset (`reminderSecondsBeforeStart`).
333
+
334
+ - **Edge Case:** If the room is scheduled to start very soon (e.g., in 5 minutes) but the reminder is set for 10 minutes before start, the system cannot send the notification, and the event will be missed.
335
+
336
+ - **Solution:** Ensure the scheduled start time is sufficiently further in the future than the reminder interval you've set.
337
+
338
+ ## Contact Us
339
+
340
+ For questions or feedback during integration or usage, contact info_rtc@tencent.com.
@@ -0,0 +1,230 @@
1
+ `RoomStore` 是 `AtomicXCore` 中专职房间事务管理的模块,深度集成了会中呼叫能力。本章节旨在指导如何利用 `RoomStore` 高效完成会中呼叫相关功能的开发与接入。
2
+
3
+ ## 核心功能
4
+ - **会中呼叫**:房间内任意参与者均可呼叫房间外任意成员加入房间。
5
+
6
+ - **获取会中呼叫用户列表**:可以获取指定房间的会中呼叫的用户列表。
7
+
8
+ ## 核心概念
9
+
10
+ 在开始集成之前,需要通过下表了解一下 `RoomStore` 中与会中呼叫相关的几个核心概念:
11
+ | <strong>核心概念</strong> | <strong>核心职责与描述</strong> |
12
+ | --- | --- |
13
+ | <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomCallStatus.html">RoomCallStatus</a> | 代表会中呼叫的状态,包含:<br>- <code>none</code>(默认态)。<br>- <code>calling</code>(呼叫中)。<br>- <code>timeout</code>(呼叫超时)。<br>- <code>rejected</code>(呼叫被拒绝)。 |
14
+ | <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomCallResult.html">RoomCallResult</a> | 代表会中呼叫的结果,包含:<br>- <code>success</code>(呼叫成功)。<br>- <code>alreadyInCalling</code>(已在呼叫中)。<br>- <code>alreadyInRoom</code>(已在房间中)。 |
15
+ | <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/CallRejectionReason.html">CallRejectionReason</a> | 代表呼叫被拒绝的原因,目前仅支持:<br>- <code>rejected</code>(主动拒绝)。<br>- <code>inOtherRoom</code>(在其他房间中)。 |
16
+ | <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomCall-class.html">RoomCall</a> | 代表会中呼叫业务的核心数据结构。负责存储呼叫者信息、被呼叫者信息、以及当前呼叫状态。 |
17
+ | <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener-class.html">RoomListener</a> | 代表房间动态的实时事件。其中包含会中呼叫相关的事件。 |
18
+ | <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomStore-class.html">RoomStore</a> | 这是与房间全生命周期相关的核心类。功能包含:发起会中呼叫,响应会中呼叫,获取房间的会中呼叫列表,并通过订阅其 <code>RoomListener</code> 来接收与会中呼叫相关的实时动态事件。 |
19
+
20
+ ## 实现步骤
21
+
22
+ ### 步骤1:组件集成
23
+
24
+ 请参考 接入概览 集成 **AtomicXCore SDK**,并已完成 实现登录逻辑 部分接入。
25
+
26
+ ### 步骤2:呼叫方功能
27
+
28
+ #### **1. 发起呼叫**
29
+
30
+ 作为呼叫方调用 `RoomStore` 的 `callUserToRoom` 接口,可以批量呼叫用户进房。
31
+ ``` java
32
+ import 'package:atomic_x_core/atomicxcore.dart';
33
+
34
+ Future<void> callUserToRoom({
35
+ required List<String> userIDList,
36
+ int timeout = 30,
37
+ String? extensionInfo,
38
+ }) async {
39
+ final result = await RoomStore.shared.callUserToRoom(
40
+ roomID: "roomID",
41
+ userIDList: userIDList,
42
+ timeout: timeout,
43
+ extensionInfo: extensionInfo,
44
+ );
45
+
46
+ if (result.isSuccess) {
47
+ print("呼叫用户请求发送成功");
48
+ } else {
49
+ print("呼叫用户失败: [错误码: ${result.errorCode}]: ${result.errorMessage}");
50
+ }
51
+ }
52
+ ```
53
+
54
+ #### **2. 取消呼叫**
55
+
56
+ 作为呼叫方调用 `RoomStore` 的 `cancelCall` 接口,可以批量取消正在呼叫的申请。
57
+ ``` java
58
+ import 'package:atomic_x_core/atomicxcore.dart';
59
+
60
+ Future<void> cancelCall(List<String> userIDList) async {
61
+ final result = await RoomStore.shared.cancelCall(
62
+ roomID: "roomID",
63
+ userIDList: userIDList,
64
+ );
65
+
66
+ if (result.isSuccess) {
67
+ print("取消呼叫成功");
68
+ } else {
69
+ print("取消呼叫失败: [错误码: ${result.errorCode}]: ${result.errorMessage}");
70
+ }
71
+ }
72
+ ```
73
+
74
+ #### **3. 获取呼叫列表信息**
75
+
76
+ 进入房间后,调用 `RoomStore` 的 `getPendingCalls` 接口,可以分页查询当前房间正在呼叫的用户列表信息。
77
+ ``` java
78
+ import 'package:atomic_x_core/atomicxcore.dart';
79
+
80
+ Future<void> getPendingCalls(String roomID, String? cursor) async {
81
+ // cursor 为分页游标,首次调用时传入 null,获取第一页数据,后续调用时传入上次返回的 cursor 值。
82
+ final result = await RoomStore.shared.getPendingCalls(
83
+ roomID: roomID,
84
+ cursor: cursor,
85
+ );
86
+
87
+ if (result.isSuccess) {
88
+ print("获取呼叫列表成功,列表信息: ${result.data}, 分页游标: ${result.cursor}");
89
+ } else {
90
+ print("获取呼叫列表失败: [错误码: ${result.errorCode}]: ${result.errorMessage}");
91
+ }
92
+ }
93
+ ```
94
+
95
+ #### **4. 订阅会中呼叫事件**
96
+
97
+ 作为呼叫方订阅 `RoomStore` 的 `RoomListener` 能够实时获取呼叫的生命周期事件。通过监听以下回调,可以精准捕捉呼叫的最终结果并据此更新 UI 状态或执行后续业务逻辑。
98
+ ``` java
99
+ import 'package:atomic_x_core/atomicxcore.dart';
100
+
101
+ late RoomListener _listener;
102
+
103
+ /// 订阅会中呼叫相关事件
104
+ void addRoomCallListener() {
105
+ _listener = RoomListener(
106
+ onCallTimeout: (roomInfo, call) {
107
+ print("呼叫超时 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}");
108
+ },
109
+ onCallAccepted: (roomInfo, call) {
110
+ print("呼叫已被接受 房间信息: ${roomInfo.roomID}, 被呼叫者: ${call.callee.userID}");
111
+ },
112
+ onCallRejected: (roomInfo, call, reason) {
113
+ print("呼叫被拒绝 房间信息: ${roomInfo.roomID}, 被呼叫者: ${call.callee.userID}, 拒绝原因: $reason");
114
+ },
115
+ );
116
+
117
+ RoomStore.shared.addRoomListener(_listener);
118
+ }
119
+
120
+ void removeRoomCallListener() {
121
+ RoomStore.shared.removeRoomListener(_listener);
122
+ }
123
+ ```
124
+
125
+ **呼叫事件函数详细说明**
126
+
127
+ |事件函数|触发时机与说明|
128
+ |---------|---------|
129
+ |[onCallTimeout](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallTimeout.html)|呼叫超时。当呼叫请求在预设的时间内(由调用 callUserToRoom 时指定)未得到被呼叫方的响应时触发。此时,呼叫自动结束,呼叫方通常需要提示“对方无人接听”。|
130
+ |[onCallAccepted](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallAccepted.html)|呼叫被接受。被呼叫方主动点击了“接听”或“接受”按钮。收到此回调后,表示被呼叫者即将进入房间,呼叫方应更新 UI 状态,例如将该用户从“呼叫中”列表移除,并等待后续的成员进房通知来刷新成员列表。|
131
+ |[onCallRejected](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallRejected.html)|呼叫被拒绝。被呼叫方主动拒绝了通话请求,或者因为被呼叫方当前正处于其他房间中而自动拒绝。回调中通常包含拒绝原因(如主动拒绝或在其他房间中)。|
132
+
133
+ ### 步骤3:被呼叫方功能
134
+
135
+ #### **1. 订阅会中呼叫事件**
136
+
137
+ 作为被呼叫方订阅 `RoomStore` 的 `RoomListener` 可以实时监听并响应来自呼叫方的呼叫行为。以下是构建呼叫提醒界面以及维护呼叫链路状态的关键事件。
138
+ ``` java
139
+ import 'package:atomic_x_core/atomicxcore.dart';
140
+
141
+ late RoomListener _listener;
142
+
143
+ /// 订阅会中呼叫相关事件
144
+ void addRoomCallListener() {
145
+ _listener = RoomListener(
146
+ onCallReceived: (roomInfo, call, extensionInfo) {
147
+ print("收到房间呼叫 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}, 扩展信息: $extensionInfo");
148
+ },
149
+ onCallCancelled: (roomInfo, call) {
150
+ print("呼叫被取消 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}");
151
+ },
152
+ onCallRevokedByAdmin: (roomInfo, call, operatorUser) {
153
+ print("呼叫被管理员移除 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}, 移除操作者: ${operatorUser.userID}");
154
+ },
155
+ onCallHandledByOtherDevice: (roomInfo, isAccepted) {
156
+ print("呼叫已被其他设备处理 房间信息: ${roomInfo.roomID}, 处理结果: $isAccepted");
157
+ },
158
+ );
159
+
160
+ RoomStore.shared.addRoomListener(_listener);
161
+ }
162
+
163
+ void removeRoomCallListener() {
164
+ RoomStore.shared.removeRoomListener(_listener);
165
+ }
166
+ ```
167
+
168
+ **事件函数详细说明**
169
+
170
+ |事件函数|触发时机与说明|
171
+ |---------|---------|
172
+ |[onCallReceived](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallReceived.html)|收到呼叫邀请。当有其他用户向您发起入会邀请时触发。收到此回调后,被呼叫方通常应立即弹出“呼叫提醒”界面,展示呼叫者信息、房间信息,并提供“接听”和“拒绝”按钮。|
173
+ |[onCallCancelled](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallCancelled.html)|呼叫被发起方取消。呼叫方在您未做出响应前,主动撤回了呼叫请求。收到此回调后,被呼叫方应立即关闭当前的来电界面,并提示“对方已取消呼叫”,以恢复应用正常操作流程。|
174
+ |[onCallRevokedByAdmin](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallRevokedByAdmin.html)|呼叫被管理员撤销。房间管理员或后台系统因权限变更、房间解散等原因强行终止了该笔呼叫邀请。收到此通知后,被呼叫方需立即停止呼叫流程并隐藏相关 UI,处理逻辑通常类似于呼叫被取消。|
175
+ |[onCallHandledByOtherDevice](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallHandledByOtherDevice.html)|呼叫已在其他设备处理。当用户在多个设备(例如手机和 iPad)同时登录时,如果呼叫已在其中一台设备上被处理(接受或拒绝),当前设备会收到此通知,用于同步 UI 状态并自动消除呼叫界面。|
176
+
177
+ #### **2. 接受呼叫、拒绝呼叫**
178
+
179
+ 作为被呼叫方调用 `RoomStore` 的 `acceptCall` 或者 `rejectCall` 接口,处理接受或者拒绝呼叫邀请。
180
+ ``` java
181
+ import 'package:atomic_x_core/atomicxcore.dart';
182
+
183
+ late RoomListener _listener;
184
+
185
+ /// 订阅会中呼叫相关事件
186
+ void addRoomCallListener() {
187
+ _listener = RoomListener(
188
+ onCallReceived: (roomInfo, call, extensionInfo) {
189
+ print("收到房间呼叫 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}, 扩展信息: $extensionInfo");
190
+ // 接受、拒绝呼叫邀请操作
191
+ },
192
+ );
193
+
194
+ RoomStore.shared.addRoomListener(_listener);
195
+ }
196
+
197
+ void removeRoomCallListener() {
198
+ RoomStore.shared.removeRoomListener(_listener);
199
+ }
200
+
201
+ // 接受呼叫邀请
202
+ Future<void> acceptCall(String roomID) async {
203
+ final result = await RoomStore.shared.acceptCall(roomID);
204
+
205
+ if (result.isSuccess) {
206
+ print("接受呼叫成功,房间ID: $roomID");
207
+ } else {
208
+ print("接受呼叫失败: [错误码: ${result.errorCode}] ${result.errorMessage}");
209
+ }
210
+ }
211
+
212
+ // 拒绝呼叫邀请
213
+ Future<void> rejectCall(String roomID, {CallRejectionReason reason = CallRejectionReason.rejected}) async {
214
+ final result = await RoomStore.shared.rejectCall(
215
+ roomID: roomID,
216
+ reason: reason,
217
+ );
218
+
219
+ if (result.isSuccess) {
220
+ print("拒绝呼叫成功,房间ID: $roomID");
221
+ } else {
222
+ print("拒绝呼叫失败: [错误码: ${result.errorCode}] ${result.errorMessage}");
223
+ }
224
+ }
225
+ ```
226
+
227
+ ## API 文档
228
+ | <strong>Store/Component</strong> | <strong>功能描述</strong> | <strong>API 文档</strong> |
229
+ | --- | --- | --- |
230
+ | <strong>RoomStore</strong> | 房间全生命周期管理:创建并加入 / 加入 / 离开 / 结束房间 / 更新、获取房间信息 / 预定房间 / 呼叫房间外成员 / 监听房间内被动事件(例如房间解散,房间信息更新等)。 | <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomStore-class.html">API 文档</a> |