@tencent-rtc/mcp 1.3.9 → 1.4.0

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 (431) hide show
  1. package/package.json +2 -2
  2. package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/android-faq.md} +10 -22
  3. package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/flutter-faq.md} +10 -22
  4. package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/ios-faq.md} +10 -22
  5. package/resource/doc/callkit/preset/android/api.md +296 -0
  6. package/resource/doc/{tuicallkit → callkit/preset}/android/integration.md +53 -365
  7. package/resource/doc/callkit/preset/flutter/api.md +410 -0
  8. package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +35 -97
  9. package/resource/doc/callkit/preset/ios/api.md +80 -0
  10. package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +37 -118
  11. package/resource/doc/callkit/preset/react/api.md +501 -0
  12. package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +5 -20
  13. package/resource/doc/callkit/preset/vue/api.md +501 -0
  14. package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +4 -19
  15. package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -38
  16. package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
  17. package/resource/doc/{chatuikit → chatkit}/android/integration.md +28 -121
  18. package/resource/doc/chatkit/faq/android_sdk/client-api.md +281 -0
  19. package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +0 -1
  20. package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -1
  21. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +199 -0
  22. package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
  23. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +235 -0
  24. package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +3 -3
  25. package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
  26. package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +18 -87
  27. package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -38
  28. package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
  29. package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +47 -165
  30. package/resource/doc/{chatuikit → chatkit}/react/components/avatar.md +0 -33
  31. package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +8 -49
  32. package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +6 -35
  33. package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +0 -6
  34. package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -11
  35. package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +96 -502
  36. package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
  37. package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
  38. package/resource/doc/chatkit/react/components/conversation-preview.md +118 -0
  39. package/resource/doc/chatkit/react/components/conversation-search.md +60 -0
  40. package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -337
  41. package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +20 -212
  42. package/resource/doc/chatkit/react/components/search.md +243 -0
  43. package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +1 -47
  44. package/resource/doc/{chatuikit → chatkit}/react/integration.md +21 -81
  45. package/resource/doc/{chatuikit → chatkit}/vue/components/avatar.md +0 -33
  46. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -48
  47. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +3 -5
  48. package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +0 -5
  49. package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -15
  50. package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
  51. package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
  52. package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -492
  53. package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
  54. package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
  55. package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +2 -223
  56. package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -252
  57. package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
  58. package/resource/doc/{chatuikit → chatkit}/vue/components/tuikit.md +7 -21
  59. package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +3 -62
  60. package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
  61. package/resource/doc/{chatuikit → chatkit}/vue/integration.md +22 -23
  62. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +18 -89
  63. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
  64. package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +28 -141
  65. package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +20 -112
  66. package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +59 -193
  67. package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
  68. package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +94 -344
  69. package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +107 -515
  70. package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +33 -173
  71. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +14 -93
  72. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -179
  73. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +19 -107
  74. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -166
  75. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -163
  76. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +69 -443
  77. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
  78. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +107 -492
  79. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +23 -165
  80. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +35 -111
  81. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +35 -193
  82. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +31 -144
  83. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +24 -116
  84. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +37 -171
  85. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +79 -459
  86. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +69 -320
  87. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +85 -502
  88. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +32 -169
  89. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audience-list.md +18 -89
  90. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audio-effect.md +34 -192
  91. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-barrage.md +28 -141
  92. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-co-guest-interaction.md +50 -259
  93. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-gift.md +75 -455
  94. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-host-interaction.md +51 -265
  95. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-integration.md +61 -427
  96. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-room-list.md +33 -173
  97. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-co-guest-interaction.md +44 -203
  98. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-integration.md +56 -416
  99. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audience-list.md +35 -111
  100. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audio-effect.md +35 -193
  101. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-barrage.md +31 -144
  102. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-co-guest-interaction.md +43 -252
  103. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-gift.md +79 -459
  104. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-host-interaction.md +46 -264
  105. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-integration.md +61 -445
  106. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-room-list.md +32 -169
  107. package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -2
  108. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
  109. package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
  110. package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +10 -49
  111. package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +26 -144
  112. package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +12 -75
  113. package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +36 -227
  114. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +215 -0
  115. package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
  116. package/resource/doc/livekit/preset/live/vue/live-list-integration.md +241 -0
  117. package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +299 -0
  118. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +300 -0
  119. package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +743 -0
  120. package/resource/doc/roomkit/vue/faq.md +1 -0
  121. package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
  122. package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
  123. package/resource/doc/roomkit/vue/features/device-state.md +24 -44
  124. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
  125. package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
  126. package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
  127. package/resource/doc/roomkit/vue/features/room-state.md +25 -34
  128. package/resource/doc/roomkit/vue/features/room-view.md +30 -125
  129. package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
  130. package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
  131. package/resource/doc/roomkit/vue/features/virtual-background.md +13 -29
  132. package/resource/doc/roomkit/vue/integration.md +21 -76
  133. package/resource/doc/rtcengine/faq/common/error_code.md +1 -0
  134. package/resource/doc/rtcengine/faq/web/web.md +14 -24
  135. package/resource/doc/rtcengine/web/api.md +1 -3
  136. package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +3 -10
  137. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +1 -5
  138. package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -2
  139. package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -4
  140. package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +3 -5
  141. package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +1 -7
  142. package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +0 -2
  143. package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -8
  144. package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +11 -11
  145. package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +12 -88
  146. package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -5
  147. package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +30 -37
  148. package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +13 -90
  149. package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -2
  150. package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -2
  151. package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +19 -19
  152. package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
  153. package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -5
  154. package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
  155. package/resource/doc/trtc/C++/ITRTCCloud.md +686 -2835
  156. package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
  157. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +202 -1022
  158. package/resource/doc/trtc/C++/ITXDeviceManager.md +126 -767
  159. package/resource/doc/trtc/C++/TRTCCloudCallback.md +579 -2147
  160. package/resource/doc/trtc/C++/TRTCTypeDef.md +703 -3378
  161. package/resource/doc/trtc/C++/TXLiteAVCode.md +116 -908
  162. package/resource/doc/trtc/android/TRTCCloud.md +606 -2573
  163. package/resource/doc/trtc/android/TRTCCloudDef.md +752 -3640
  164. package/resource/doc/trtc/android/TRTCCloudListener.md +581 -2008
  165. package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
  166. package/resource/doc/trtc/android/TXAudioEffectManager.md +202 -1022
  167. package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
  168. package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
  169. package/resource/doc/trtc/android/TXLiteAVCode.md +114 -892
  170. package/resource/doc/trtc/iOS/TRTCCloud.md +694 -2904
  171. package/resource/doc/trtc/iOS/TRTCCloudDef.md +726 -3498
  172. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +543 -2028
  173. package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
  174. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +174 -877
  175. package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
  176. package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
  177. package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
  178. package/server.js +1 -5
  179. package/server.js.map +1 -1
  180. package/tools/call/get_callkit_api.js +32 -0
  181. package/tools/call/get_callkit_api.js.map +1 -0
  182. package/tools/call/get_native_call_uikit_integration.js +34 -0
  183. package/tools/call/get_native_call_uikit_integration.js.map +1 -0
  184. package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
  185. package/tools/call/get_web_call_uikit_integration.js.map +1 -0
  186. package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
  187. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
  188. package/tools/chat/get_native_chat_uikit_integration.js +45 -0
  189. package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
  190. package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
  191. package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
  192. package/tools/chat/get_web_chat_uikit_integration.js +45 -0
  193. package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
  194. package/tools/common/get_faq.js +265 -0
  195. package/tools/common/get_faq.js.map +1 -0
  196. package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
  197. package/tools/common/get_usersig.js.map +1 -0
  198. package/tools/common/present_framework_choice.js +63 -0
  199. package/tools/common/present_framework_choice.js.map +1 -0
  200. package/tools/definitions/get_callkit_api_def.js +29 -0
  201. package/tools/definitions/get_callkit_api_def.js.map +1 -0
  202. package/tools/definitions/get_faq_def.js +17 -18
  203. package/tools/definitions/get_faq_def.js.map +1 -1
  204. package/tools/definitions/get_native_call_uikit_integration_def.js +15 -34
  205. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  206. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
  207. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
  208. package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -41
  209. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  210. package/tools/definitions/get_native_livekit_core_features_def.js +34 -0
  211. package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
  212. package/tools/definitions/get_native_livekit_core_integration_def.js +34 -0
  213. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
  214. package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
  215. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
  216. package/tools/definitions/get_usersig_def.js +17 -22
  217. package/tools/definitions/get_usersig_def.js.map +1 -1
  218. package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
  219. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  220. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
  221. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
  222. package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
  223. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  224. package/tools/definitions/get_web_live_uikit_integration_def.js +15 -18
  225. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  226. package/tools/definitions/get_web_livekit_api_def.js +30 -0
  227. package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
  228. package/tools/definitions/get_web_livekit_component_detail_def.js +32 -0
  229. package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
  230. package/tools/definitions/get_web_room_uikit_integration_def.js +15 -46
  231. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  232. package/tools/definitions/get_web_roomkit_feature_detail_def.js +31 -0
  233. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
  234. package/tools/definitions/get_web_trtc_sdk_api_def.js +27 -0
  235. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
  236. package/tools/definitions/get_web_trtc_sdk_integration_def.js +27 -0
  237. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
  238. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +27 -0
  239. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
  240. package/tools/definitions/present_framework_choice_def.js +24 -12
  241. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  242. package/tools/index.js +47 -61
  243. package/tools/index.js.map +1 -1
  244. package/tools/live/get_native_livekit_core_features.js +65 -0
  245. package/tools/live/get_native_livekit_core_features.js.map +1 -0
  246. package/tools/live/get_native_livekit_core_integration.js +59 -0
  247. package/tools/live/get_native_livekit_core_integration.js.map +1 -0
  248. package/tools/live/get_web_live_uikit_integration.js +48 -0
  249. package/tools/live/get_web_live_uikit_integration.js.map +1 -0
  250. package/tools/live/get_web_livekit_api.js +32 -0
  251. package/tools/live/get_web_livekit_api.js.map +1 -0
  252. package/tools/live/get_web_livekit_component_detail.js +34 -0
  253. package/tools/live/get_web_livekit_component_detail.js.map +1 -0
  254. package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
  255. package/tools/room/get_web_room_uikit_integration.js.map +1 -0
  256. package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
  257. package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
  258. package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
  259. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
  260. package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
  261. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
  262. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
  263. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
  264. package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
  265. package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
  266. package/utils/generate-structured-result.js +61 -17
  267. package/utils/generate-structured-result.js.map +1 -1
  268. package/utils/report-cls-client.js +12 -1
  269. package/utils/report-cls-client.js.map +1 -1
  270. package/utils/report-es-client.js +2 -2
  271. package/resource/doc/chatuikit/android/workflow.md +0 -713
  272. package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1371
  273. package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -932
  274. package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1119
  275. package/resource/doc/chatuikit/flutter/workflow.md +0 -941
  276. package/resource/doc/chatuikit/react/components/conversation-list.md +0 -1017
  277. package/resource/doc/chatuikit/react/components/search.md +0 -745
  278. package/resource/doc/chatuikit/react/create-group.md +0 -23
  279. package/resource/doc/chatuikit/react/init.md +0 -26
  280. package/resource/doc/chatuikit/react/workflow.md +0 -258
  281. package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
  282. package/resource/doc/chatuikit/vue/create-group.md +0 -25
  283. package/resource/doc/chatuikit/vue/init.md +0 -40
  284. package/resource/doc/chatuikit/vue/workflow.md +0 -395
  285. package/resource/doc/livekit/live/android/workflow.md +0 -320
  286. package/resource/doc/livekit/live/flutter/workflow.md +0 -353
  287. package/resource/doc/livekit/live/ios/workflow.md +0 -454
  288. package/resource/doc/livekit/live/vue/components/barrage.md +0 -616
  289. package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -446
  290. package/resource/doc/livekit/live/vue/faq.md +0 -0
  291. package/resource/doc/livekit/live/vue/live-list-integration.md +0 -200
  292. package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -269
  293. package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -269
  294. package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -595
  295. package/resource/doc/livekit/live/vue/states/live-state.md +0 -3591
  296. package/resource/doc/livekit/live/vue/workflow.md +0 -218
  297. package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -312
  298. package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -430
  299. package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -679
  300. package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -671
  301. package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -271
  302. package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
  303. package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
  304. package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
  305. package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
  306. package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -865
  307. package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -657
  308. package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -437
  309. package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -335
  310. package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
  311. package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -327
  312. package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -507
  313. package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
  314. package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -659
  315. package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
  316. package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -814
  317. package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1000
  318. package/resource/doc/roomkit/vue/features/workflow.md +0 -553
  319. package/resource/doc/roomkit/vue/workflow.md +0 -733
  320. package/resource/doc/tuicallkit/android/workflow.md +0 -441
  321. package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -784
  322. package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -610
  323. package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -938
  324. package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -897
  325. package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -469
  326. package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -781
  327. package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -398
  328. package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
  329. package/resource/doc/tuicallkit/react/api.md +0 -1404
  330. package/resource/doc/tuicallkit/vue/api.md +0 -1406
  331. package/resource/doc/tuicallkit/vue/faq.md +0 -36
  332. package/tools/call/get-native-call-integration.js +0 -43
  333. package/tools/call/get-native-call-integration.js.map +0 -1
  334. package/tools/call/get-web-call-api.js +0 -27
  335. package/tools/call/get-web-call-api.js.map +0 -1
  336. package/tools/call/get-web-call-integration.js.map +0 -1
  337. package/tools/chat/get-native-chat-feature-detail.js +0 -30
  338. package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
  339. package/tools/chat/get-native-chat-integration.js +0 -45
  340. package/tools/chat/get-native-chat-integration.js.map +0 -1
  341. package/tools/chat/get-web-chat-component-detail.js +0 -31
  342. package/tools/chat/get-web-chat-component-detail.js.map +0 -1
  343. package/tools/chat/get-web-chat-integration.js +0 -45
  344. package/tools/chat/get-web-chat-integration.js.map +0 -1
  345. package/tools/chat/get-web-chat-uikit-init.js +0 -28
  346. package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
  347. package/tools/chat/get-web-create-group-doc.js +0 -28
  348. package/tools/chat/get-web-create-group-doc.js.map +0 -1
  349. package/tools/common/get-faq.js +0 -91
  350. package/tools/common/get-faq.js.map +0 -1
  351. package/tools/common/get-usersig.js.map +0 -1
  352. package/tools/common/present-framework-choice.js +0 -16
  353. package/tools/common/present-framework-choice.js.map +0 -1
  354. package/tools/common/present-scenario-choice.js +0 -16
  355. package/tools/common/present-scenario-choice.js.map +0 -1
  356. package/tools/common/record-prompt.js +0 -55
  357. package/tools/common/record-prompt.js.map +0 -1
  358. package/tools/common/record-result.js +0 -60
  359. package/tools/common/record-result.js.map +0 -1
  360. package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
  361. package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
  362. package/tools/definitions/get_native_live_api_def.js +0 -23
  363. package/tools/definitions/get_native_live_api_def.js.map +0 -1
  364. package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -87
  365. package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
  366. package/tools/definitions/get_native_live_uikit_integration_def.js +0 -75
  367. package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
  368. package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -63
  369. package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
  370. package/tools/definitions/get_trtc_native_api_def.js +0 -16
  371. package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
  372. package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
  373. package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
  374. package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
  375. package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
  376. package/tools/definitions/get_web_create_group_doc_def.js +0 -18
  377. package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
  378. package/tools/definitions/get_web_live_state_detail_def.js +0 -19
  379. package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
  380. package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
  381. package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
  382. package/tools/definitions/get_web_room_feature_detail_def.js +0 -92
  383. package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
  384. package/tools/definitions/get_web_room_state_detail_def.js +0 -19
  385. package/tools/definitions/get_web_room_state_detail_def.js.map +0 -1
  386. package/tools/definitions/present_scenario_choice_def.js +0 -53
  387. package/tools/definitions/present_scenario_choice_def.js.map +0 -1
  388. package/tools/definitions/record_prompt_def.js +0 -58
  389. package/tools/definitions/record_prompt_def.js.map +0 -1
  390. package/tools/definitions/record_result_def.js +0 -46
  391. package/tools/definitions/record_result_def.js.map +0 -1
  392. package/tools/live/get-native-live-uikit-integration.js +0 -177
  393. package/tools/live/get-native-live-uikit-integration.js.map +0 -1
  394. package/tools/live/get-web-live-component-detail.js +0 -31
  395. package/tools/live/get-web-live-component-detail.js.map +0 -1
  396. package/tools/live/get-web-live-state-detail.js +0 -31
  397. package/tools/live/get-web-live-state-detail.js.map +0 -1
  398. package/tools/live/get-web-live-uikit-integration.js +0 -52
  399. package/tools/live/get-web-live-uikit-integration.js.map +0 -1
  400. package/tools/live/get_native_live_uikit_extra_features.js +0 -105
  401. package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
  402. package/tools/live/get_native_live_uikit_interaction.js +0 -194
  403. package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
  404. package/tools/native_live/get-native-live-api.js +0 -31
  405. package/tools/native_live/get-native-live-api.js.map +0 -1
  406. package/tools/room/get-web-room-feature-detail.js.map +0 -1
  407. package/tools/room/get-web-room-integration.js.map +0 -1
  408. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
  409. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
  410. package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
  411. package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
  412. package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
  413. package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
  414. package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
  415. package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
  416. package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
  417. package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
  418. package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
  419. package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
  420. package/tools/trtc/get-trtc-native-api.js +0 -31
  421. package/tools/trtc/get-trtc-native-api.js.map +0 -1
  422. package/utils/handle-component-name.js +0 -33
  423. package/utils/handle-component-name.js.map +0 -1
  424. /package/resource/doc/{chatuikit/iOS/workflow.md → callkit/core-sdk/.gitkeep} +0 -0
  425. /package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +0 -0
  426. /package/resource/doc/{tuicallkit/react/faq.md → callkit/faq/web-faq.md} +0 -0
  427. /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
  428. /package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +0 -0
  429. /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
  430. /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
  431. /package/resource/doc/roomkit/faq/common/{error_code.md → error-code.md} +0 -0
@@ -1,77 +1,24 @@
1
1
  This document guides you through building a voice chat room application with host broadcasting and audience participation features using the **AtomicXCore** SDK's `LiveListStore` and `LiveSeatStore`.
2
2
 
3
3
  ## Core Concepts
4
- <table>
5
- <tr>
6
- <td rowspan="1" colSpan="1" >**Core Concept**</td>
7
-
8
- <td rowspan="1" colSpan="1" >**Type**</td>
9
-
10
- <td rowspan="1" colSpan="1" >**Core Responsibilities & Description**</td>
11
- </tr>
12
-
13
- <tr>
14
- <td rowspan="1" colSpan="1" >`LiveListStore`</td>
15
-
16
- <td rowspan="1" colSpan="1" >`class`</td>
17
-
18
- <td rowspan="1" colSpan="1" >- `createLive()`: Start live stream as host.<br>- `endLive()`: End live stream as host.<br>- `joinLive()`: Audience joins live room.<br>- `leaveLive()`: Leave live room.</td>
19
- </tr>
20
-
21
- <tr>
22
- <td rowspan="1" colSpan="1" >`LiveInfo`</td>
23
-
24
- <td rowspan="1" colSpan="1" >`struct`</td>
25
-
26
- <td rowspan="1" colSpan="1" >- `liveID`: Unique room identifier.<br>- `seatLayoutTemplateID`: Layout template ID (e.g., 600 for dynamic grid).</td>
27
- </tr>
28
-
29
- <tr>
30
- <td rowspan="1" colSpan="1" >`LiveSeatStore`</td>
31
-
32
- <td rowspan="1" colSpan="1" >`class`</td>
33
-
34
- <td rowspan="1" colSpan="1" >- Core seat management class. Manages all seat information and seat-related operations in the room.<br>- Provides a real-time seat list data stream via liveSeatState.seatList.</td>
35
- </tr>
36
-
37
- <tr>
38
- <td rowspan="1" colSpan="1" >`LiveSeatState`</td>
39
-
40
- <td rowspan="1" colSpan="1" >`struct`</td>
41
-
42
- <td rowspan="1" colSpan="1" >Represents the current state of all seats.<br>- `seatList`: a StateFlow containing the real-time seat list.<br>- `speakingUsers`: users currently speaking and their volume.</td>
43
- </tr>
44
-
45
- <tr>
46
- <td rowspan="1" colSpan="1" >`SeatInfo`</td>
47
-
48
- <td rowspan="1" colSpan="1" >`class`</td>
49
-
50
- <td rowspan="1" colSpan="1" >Data model for a single seat. The seat list (seatList) emitted by LiveSeatStore is a list of SeatInfo objects.<br>Key fields:<br>- `index`: seat position.<br>- `isLocked`: whether the seat is locked.<br>- `userInfo`: user information for the seat. If the seat is empty, this field is empty.</td>
51
- </tr>
52
-
53
- <tr>
54
- <td rowspan="1" colSpan="1" >`SeatUserInfo`</td>
55
-
56
- <td rowspan="1" colSpan="1" >`class`</td>
57
-
58
- <td rowspan="1" colSpan="1" >Detailed data model for the user occupying a seat. When a user successfully takes a seat, the userInfo field in SeatInfo is populated.<br>Key fields:<br>- `userID`: unique user ID.<br>- `userName`: user nickname.<br>- `avatarURL`: user avatar URL.<br>- `microphoneStatus`: microphone status (on/off).<br>- `cameraStatus`: camera status (on/off).</td>
59
- </tr>
60
- </table>
61
-
4
+ | **Core Concept** | **Type** | **Core Responsibilities & Description** |
5
+ | --- | --- | --- |
6
+ | `LiveListStore` | `class` | - `createLive()`: Start live stream as host.<br>- `endLive()`: End live stream as host.<br>- `joinLive()`: Audience joins live room.<br>- `leaveLive()`: Leave live room. |
7
+ | `LiveInfo` | `struct` | - `liveID`: Unique room identifier.<br>- `seatLayoutTemplateID`: Layout template ID (e.g., 600 for dynamic grid). |
8
+ | `LiveSeatStore` | `class` | - Core seat management class. Manages all seat information and seat-related operations in the room.<br>- Provides a real-time seat list data stream via liveSeatState.seatList. |
9
+ | `LiveSeatState` | `struct` | Represents the current state of all seats.<br>- `seatList`: a StateFlow containing the real-time seat list.<br>- `speakingUsers`: users currently speaking and their volume. |
10
+ | `SeatInfo` | `class` | Data model for a single seat. The seat list (seatList) emitted by LiveSeatStore is a list of SeatInfo objects.<br>Key fields:<br>- `index`: seat position.<br>- `isLocked`: whether the seat is locked.<br>- `userInfo`: user information for the seat. If the seat is empty, this field is empty. |
11
+ | `SeatUserInfo` | `class` | Detailed data model for the user occupying a seat. When a user successfully takes a seat, the userInfo field in SeatInfo is populated.<br>Key fields:<br>- `userID`: unique user ID.<br>- `userName`: user nickname.<br>- `avatarURL`: user avatar URL.<br>- `microphoneStatus`: microphone status (on/off).<br>- `cameraStatus`: camera status (on/off). |
62
12
 
63
13
  ## Prerequisites
64
14
 
65
15
  ### Step 1: Activate the Service
66
16
 
67
- See [Activate Service](https://write.woa.com/document/141936672617742336) to obtain either the trial or paid version of the SDK.Then, go to [the Console](https://console.trtc.io/app) for application management, and get the following:
17
+ See Activate Service to obtain either the trial or paid version of the SDK.Then, go to [the Console](https://console.trtc.io/app) for application management, and get the following:
68
18
  - `SDKAppID`: Application identifier (required). Tencent Cloud uses `SDKAppID` for billing and details.
69
19
 
70
20
  - `SDKSecretKey`: Application secret key, used to initialize the configuration file with secret information.
71
21
 
72
- ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027182498/e0818e31c9f311f09e745254007c27c5.png)
73
-
74
-
75
22
  ### Step 2: Import AtomicXCore into Your Project
76
23
  1. **Install the Component**: Add `pod 'AtomicXCore'` to your `Podfile`, then run `pod install`.
77
24
 
@@ -86,18 +33,16 @@ See [Activate Service](https://write.woa.com/document/141936672617742336) to obt
86
33
  <key>NSMicrophoneUsageDescription</key>
87
34
  <string>TUILiveKit needs microphone permission to enable sound in recorded videos</string>
88
35
  ```
89
- ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027182498/e07effb5c9f311f0a93d52540044a08e.png)
90
-
91
36
 
92
37
  ### Step 3: Implement Login Logic
93
38
 
94
39
  Call `LoginStore.shared.login` in your project to complete authentication. **This is required before using any functionality of AtomicXCore**.
95
40
 
96
41
  > **Note:**
97
- >
42
+ >
98
43
 
99
44
  > We recommend calling LoginStore.shared.login only after your app's own user authentication is successful, to ensure clear and consistent login logic.
100
- >
45
+ >
101
46
 
102
47
  ``` swift
103
48
  import AtomicXCore
@@ -119,40 +64,11 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
119
64
  ```
120
65
 
121
66
  **Login API Parameter Description**
122
- <table>
123
- <tr>
124
- <td rowspan="1" colSpan="1" >Parameter</td>
125
-
126
- <td rowspan="1" colSpan="1" >Type</td>
127
-
128
- <td rowspan="1" colSpan="1" >Description</td>
129
- </tr>
130
-
131
- <tr>
132
- <td rowspan="1" colSpan="1" >`sdkAppID`</td>
133
-
134
- <td rowspan="1" colSpan="1" >`Int`</td>
135
-
136
- <td rowspan="1" colSpan="1" >Get this from [TRTC console > Application management](https://console.trtc.io/app).</td>
137
- </tr>
138
-
139
- <tr>
140
- <td rowspan="1" colSpan="1" >`userID`</td>
141
-
142
- <td rowspan="1" colSpan="1" >`String`</td>
143
-
144
- <td rowspan="1" colSpan="1" >The unique ID for the current user. Must contain only English letters, numbers, hyphens, and underscores.</td>
145
- </tr>
146
-
147
- <tr>
148
- <td rowspan="1" colSpan="1" >`userSig`</td>
149
-
150
- <td rowspan="1" colSpan="1" >`String`</td>
151
-
152
- <td rowspan="1" colSpan="1" >A ticket for Tencent Cloud authentication. Please note:<br>- **Development Environment**: You can use the local `GenerateTestUserSig.genTestSig` function to generate a UserSig or generate a temporary UserSig via the [UserSig Generation Tool](https://console.trtc.io/usersig).<br>- **Production Environment**: To prevent key leakage, you must use a server-side method to generate UserSig. For details, see [Generating UserSig on the Server](https://write.woa.com/document/89644530319802368).<br>- For more information, see [How to Calculate and Use UserSig](https://write.woa.com/document/89644530319802368).</td>
153
- </tr>
154
- </table>
155
-
67
+ | Parameter | Type | Description |
68
+ | --- | --- | --- |
69
+ | `sdkAppID` | `Int` | Get this from [TRTC console > Application management](https://console.trtc.io/app). |
70
+ | `userID` | `String` | The unique ID for the current user. Must contain only English letters, numbers, hyphens, and underscores. |
71
+ | `userSig` | `String` | A ticket for Tencent Cloud authentication. Please note:<br>- **Development Environment**: You can use the local `GenerateTestUserSig.genTestSig` function to generate a UserSig or generate a temporary UserSig via the [UserSig Generation Tool](https://console.trtc.io/usersig).<br>- **Production Environment**: To prevent key leakage, you must use a server-side method to generate UserSig. For details, see Generating UserSig on the Server.<br>- For more information, see How to Calculate and Use UserSig. |
156
72
 
157
73
  ## Building a Basic Voice Chat Room
158
74
 
@@ -183,7 +99,7 @@ class YourAnchorViewController: UIViewController {
183
99
  override func viewDidLoad() {
184
100
  super.viewDidLoad()
185
101
  // Initialize your layout here
186
- // setupUI()
102
+ // setupUI()
187
103
 
188
104
  // Listen for seat list changes
189
105
  observeSeatList()
@@ -231,7 +147,7 @@ import AtomicXCore
231
147
  class YourAnchorViewController: UIViewController {
232
148
  // ... other code ...
233
149
  private let liveID = "test_voice_room_001"
234
-
150
+
235
151
  override func viewDidLoad() {
236
152
  super.viewDidLoad()
237
153
  // ... other code ...
@@ -245,11 +161,8 @@ class YourAnchorViewController: UIViewController {
245
161
 
246
162
  liveInfo.liveID = liveID
247
163
  liveInfo.liveName = "test voice chat room"
248
- liveInfo.isSeatEnabled = true
249
- liveInfo.keepOwnerOnSeat = true
250
- liveInfo.seatLayoutTemplateID = 70 // Use correct ID per product spec
164
+ liveInfo.seatTemplate = SeatLayoutTemplate.AudioSalon(seatCount: 9) // Set the live streaming template to the voice chat room template, with 9 seats
251
165
  liveInfo.seatMode = .apply
252
- liveInfo.maxSeatCount = 10
253
166
 
254
167
  liveListStore.createLive(liveInfo) { [weak self] result in
255
168
  guard let self = self else { return }
@@ -267,177 +180,28 @@ class YourAnchorViewController: UIViewController {
267
180
  ```
268
181
 
269
182
  **LiveInfo Parameter Reference:**
270
- <table>
271
- <tr>
272
- <td rowspan="1" colSpan="1" >**Parameter Name**</td>
273
-
274
- <td rowspan="1" colSpan="1" >**Type**</td>
275
-
276
- <td rowspan="1" colSpan="1" >**Required**</td>
277
-
278
- <td rowspan="1" colSpan="1" >**Description**</td>
279
- </tr>
280
-
281
- <tr>
282
- <td rowspan="1" colSpan="1" >`liveID`</td>
283
-
284
- <td rowspan="1" colSpan="1" >`String`</td>
285
-
286
- <td rowspan="1" colSpan="1" >Required</td>
287
-
288
- <td rowspan="1" colSpan="1" >Unique identifier for the live room</td>
289
- </tr>
290
-
291
- <tr>
292
- <td rowspan="1" colSpan="1" >`liveName`</td>
293
-
294
- <td rowspan="1" colSpan="1" >`String`</td>
295
-
296
- <td rowspan="1" colSpan="1" >Optional</td>
297
-
298
- <td rowspan="1" colSpan="1" >Room title</td>
299
- </tr>
300
-
301
- <tr>
302
- <td rowspan="1" colSpan="1" >`notice`</td>
303
-
304
- <td rowspan="1" colSpan="1" >`String`</td>
305
-
306
- <td rowspan="1" colSpan="1" >Optional</td>
307
-
308
- <td rowspan="1" colSpan="1" >Room announcement</td>
309
- </tr>
310
-
311
- <tr>
312
- <td rowspan="1" colSpan="1" >`isMessageDisable`</td>
313
-
314
- <td rowspan="1" colSpan="1" >`Bool`</td>
315
-
316
- <td rowspan="1" colSpan="1" >Optional</td>
317
-
318
- <td rowspan="1" colSpan="1" >Mute chat (`true`: muted, `false`: not muted)</td>
319
- </tr>
320
-
321
- <tr>
322
- <td rowspan="1" colSpan="1" >`isPublicVisible`</td>
323
-
324
- <td rowspan="1" colSpan="1" >`Bool`</td>
325
-
326
- <td rowspan="1" colSpan="1" >Optional</td>
327
-
328
- <td rowspan="1" colSpan="1" >Public visibility (`true`: visible, `false`: not visible)</td>
329
- </tr>
330
-
331
- <tr>
332
- <td rowspan="1" colSpan="1" >`isSeatEnabled`</td>
333
-
334
- <td rowspan="1" colSpan="1" >`Bool`</td>
335
-
336
- <td rowspan="1" colSpan="1" >Optional</td>
337
-
338
- <td rowspan="1" colSpan="1" >Enable seat feature (`true`: enabled, `false`: disabled)</td>
339
- </tr>
340
-
341
- <tr>
342
- <td rowspan="1" colSpan="1" >`keepOwnerOnSeat`</td>
343
-
344
- <td rowspan="1" colSpan="1" >`Bool`</td>
345
-
346
- <td rowspan="1" colSpan="1" >Optional</td>
347
-
348
- <td rowspan="1" colSpan="1" >Keep host on seat</td>
349
- </tr>
350
-
351
- <tr>
352
- <td rowspan="1" colSpan="1" >`maxSeatCount`</td>
353
-
354
- <td rowspan="1" colSpan="1" >`Int`</td>
355
-
356
- <td rowspan="1" colSpan="1" >Required</td>
357
-
358
- <td rowspan="1" colSpan="1" >Maximum number of seats</td>
359
- </tr>
360
-
361
- <tr>
362
- <td rowspan="1" colSpan="1" >`seatMode`</td>
363
-
364
- <td rowspan="1" colSpan="1" >`TakeSeatMode`</td>
365
-
366
- <td rowspan="1" colSpan="1" >Optional</td>
367
-
368
- <td rowspan="1" colSpan="1" >Seat mode (`.free`: free seat, `.apply`: apply for seat)</td>
369
- </tr>
370
-
371
- <tr>
372
- <td rowspan="1" colSpan="1" >`seatLayoutTemplateID`</td>
373
-
374
- <td rowspan="1" colSpan="1" >`UInt`</td>
375
-
376
- <td rowspan="1" colSpan="1" >Required</td>
377
-
378
- <td rowspan="1" colSpan="1" >Seat layout template ID</td>
379
- </tr>
380
-
381
- <tr>
382
- <td rowspan="1" colSpan="1" >`coverURL`</td>
383
-
384
- <td rowspan="1" colSpan="1" >`String`</td>
385
-
386
- <td rowspan="1" colSpan="1" >Optional</td>
387
-
388
- <td rowspan="1" colSpan="1" >Room cover image URL</td>
389
- </tr>
390
-
391
- <tr>
392
- <td rowspan="1" colSpan="1" >`backgroundURL`</td>
393
-
394
- <td rowspan="1" colSpan="1" >`String`</td>
395
-
396
- <td rowspan="1" colSpan="1" >Optional</td>
397
-
398
- <td rowspan="1" colSpan="1" >Room background image URL</td>
399
- </tr>
400
-
401
- <tr>
402
- <td rowspan="1" colSpan="1" >`categoryList`</td>
403
-
404
- <td rowspan="1" colSpan="1" >`[NSNumber]`</td>
405
-
406
- <td rowspan="1" colSpan="1" >Optional</td>
407
-
408
- <td rowspan="1" colSpan="1" >Room category tags</td>
409
- </tr>
410
-
411
- <tr>
412
- <td rowspan="1" colSpan="1" >`activityStatus`</td>
413
-
414
- <td rowspan="1" colSpan="1" >`Int`</td>
415
-
416
- <td rowspan="1" colSpan="1" >Optional</td>
417
-
418
- <td rowspan="1" colSpan="1" >Live activity status</td>
419
- </tr>
420
-
421
- <tr>
422
- <td rowspan="1" colSpan="1" >`isGiftEnabled`</td>
423
-
424
- <td rowspan="1" colSpan="1" >`Bool`</td>
425
-
426
- <td rowspan="1" colSpan="1" >Optional</td>
427
-
428
- <td rowspan="1" colSpan="1" >Enable gift feature (`true`: enabled, `false`: disabled)</td>
429
- </tr>
430
- </table>
431
-
183
+ | **Parameter Name** | **Type** | **Required** | **Description** |
184
+ | --- | --- | --- | --- |
185
+ | `liveID` | `String` | Required | Unique identifier for the live room |
186
+ | `liveName` | `String` | Optional | Room title |
187
+ | `notice` | `String` | Optional | Room announcement |
188
+ | `isMessageDisable` | `Bool` | Optional | Mute chat (`true`: muted, `false`: not muted) |
189
+ | `isPublicVisible` | `Bool` | Optional | Public visibility (`true`: visible, `false`: not visible) |
190
+ | `seatMode` | `TakeSeatMode` | Optional | Seat mode (`.free`: free seat, `.apply`: apply for seat) |
191
+ | `seatTemplate` | `SeatLayoutTemplate` | Required | Seat layout template ID |
192
+ | `coverURL` | `String` | Optional | Room cover image URL |
193
+ | `backgroundURL` | `String` | Optional | Room background image URL |
194
+ | `categoryList` | `[NSNumber]` | Optional | Room category tags |
195
+ | `activityStatus` | `Int` | Optional | Live activity status |
196
+ | `isGiftEnabled` | `Bool` | Optional | Enable gift feature (`true`: enabled, `false`: disabled) |
432
197
 
433
198
  #### **4. Build the Mic Seat UI**
434
199
 
435
200
  > **Note:**
436
- >
201
+ >
437
202
 
438
203
  > For seat UI logic and effects, refer to the open-source [SeatGridView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/SeatGridview/SeatGridView.swift) in TUILiveKit.
439
- >
440
-
204
+ >
441
205
 
442
206
  Use your `LiveSeatStore` instance to subscribe to `state.seatList` and update the UI in real time:
443
207
  ``` swift
@@ -512,7 +276,7 @@ class YourAudienceViewController: UIViewController {
512
276
  private let liveListStore = LiveListStore.shared
513
277
 
514
278
  // Use the same liveID as the host
515
- private let liveID = "test_voice_room_001"
279
+ private let liveID = "test_voice_room_001"
516
280
  private lazy var liveSeatStore = LiveSeatStore.create(liveID: liveID)
517
281
 
518
282
  private var cancellables = Set<AnyCancellable>()
@@ -574,7 +338,7 @@ class YourAudienceViewController: UIViewController {
574
338
 
575
339
  #### **3. Build the Mic Seat UI**
576
340
 
577
- Building the seat UI for audience members is identical to the host process. Refer to the host [Build the Mic Seat UI.](https://write.woa.com/#15f887ab-f1bb-41ec-9143-c1e791d875fb)
341
+ Building the seat UI for audience members is identical to the host process. Refer to the host Build the Mic Seat UI.
578
342
 
579
343
  #### **4. Leave the Voice Chat Room**
580
344
 
@@ -585,7 +349,7 @@ import AtomicXCore
585
349
 
586
350
  class YourAudienceViewController: UIViewController {
587
351
  // ... other code ...
588
-
352
+
589
353
  private func leaveLive() {
590
354
  liveListStore.leaveLive { result in
591
355
  switch result {
@@ -603,8 +367,6 @@ class YourAudienceViewController: UIViewController {
603
367
 
604
368
  After completing these steps, you will have a functional voice chat live streaming room. For advanced features, see "Enriching Voice Chat Room Scenarios" below.
605
369
 
606
- ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027182498/a05436e9c9f511f09e745254007c27c5.png)
607
-
608
370
  ## Advanced Features
609
371
 
610
372
  ### Implementing Speaking Wave Animation for Users on Seat
@@ -613,17 +375,13 @@ In voice chat rooms, it's common to show a wave animation over the avatar of use
613
375
 
614
376
  #### Example
615
377
 
616
- ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027182498/3e599bf8c9f711f0a4a55254001c06ec.gif)
617
-
618
-
619
378
  #### Implementation
620
379
 
621
380
  > **Note:**
622
- >
381
+ >
623
382
 
624
383
  > For a complete implementation of the speaking wave animation, refer to [SeatGridView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/SeatGridview/SeatGridView.swift) in TUILiveKit.
625
- >
626
-
384
+ >
627
385
 
628
386
  In your `YourAnchorViewController` or `YourAudienceViewController`, subscribe to `speakingUsers` and update the UI accordingly:
629
387
  ``` swift
@@ -643,7 +401,7 @@ class YourAnchorViewController: UIViewController {
643
401
  }
644
402
 
645
403
  private func observeSpeakingUsersState() {
646
- liveSeatStore.state
404
+ liveSeatStore.state
647
405
  .subscribe(StatePublisherSelector(keyPath: \LiveSeatState.speakingUsers))
648
406
  .removeDuplicates()
649
407
  .receive(on: DispatchQueue.main)
@@ -665,7 +423,6 @@ In live streaming room, the host may need to synchronize custom information to a
665
423
 
666
424
  2. On the audience side, subscribe to `LiveListState.currentLive` and listen for changes in `metaData`. When a relevant key is updated, parse its value and update your business state.
667
425
 
668
-
669
426
  #### Code Example
670
427
  ``` swift
671
428
  import AtomicXCore
@@ -717,166 +474,28 @@ private func subscribeToDataUpdates() {
717
474
  ## Enriching Voice Chat Room Scenarios
718
475
 
719
476
  After implementing the basic voice chat room, enhance your application with the following features:
720
- <table>
721
- <tr>
722
- <td rowspan="1" colSpan="1" >**Feature**</td>
723
-
724
- <td rowspan="1" colSpan="1" >**Description**</td>
725
-
726
- <td rowspan="1" colSpan="1" >**Store**</td>
727
-
728
- <td rowspan="1" colSpan="1" >**Implementation Guide**</td>
729
- </tr>
730
-
731
- <tr>
732
- <td rowspan="1" colSpan="1" >**Audience Take Seat**</td>
733
-
734
- <td rowspan="1" colSpan="1" >Audience members can apply to take a seat and interact with the host in real time.</td>
735
-
736
- <td rowspan="1" colSpan="1" >[CoGuestStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore)</td>
737
-
738
- <td rowspan="1" colSpan="1" >[Implementation](https://write.woa.com/document/194571595735859200)</td>
739
- </tr>
740
-
741
- <tr>
742
- <td rowspan="1" colSpan="1" >**Host Cross-Room PK**</td>
743
-
744
- <td rowspan="1" colSpan="1" >Hosts from different rooms can connect for interaction or PK.</td>
745
-
746
- <td rowspan="1" colSpan="1" >[CoHostStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore)<br>[BattleStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore)</td>
747
-
748
- <td rowspan="1" colSpan="1" >[Implementation](https://write.woa.com/document/194571595881611264)</td>
749
- </tr>
750
-
751
- <tr>
752
- <td rowspan="1" colSpan="1" >**Add Barrage Chat**</td>
753
-
754
- <td rowspan="1" colSpan="1" >Room members can send and receive real-time text messages.</td>
755
-
756
- <td rowspan="1" colSpan="1" >[BarrageStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore)</td>
757
-
758
- <td rowspan="1" colSpan="1" >[Implementation](https://write.woa.com/document/195218523643924480)</td>
759
- </tr>
760
-
761
- <tr>
762
- <td rowspan="1" colSpan="1" >**Gift System**</td>
763
-
764
- <td rowspan="1" colSpan="1" >Audience can send virtual gifts to hosts to increase interaction and engagement.</td>
765
-
766
- <td rowspan="1" colSpan="1" >[GiftStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore)</td>
767
-
768
- <td rowspan="1" colSpan="1" >[Implementation](https://write.woa.com/document/195218406733824000)</td>
769
- </tr>
770
- </table>
771
-
477
+ | **Feature** | **Description** | **Store** | **Implementation Guide** |
478
+ | --- | --- | --- | --- |
479
+ | **Audience Take Seat** | Audience members can apply to take a seat and interact with the host in real time. | [CoGuestStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore) | Implementation |
480
+ | **Host Cross-Room PK** | Hosts from different rooms can connect for interaction or PK. | [CoHostStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore)<br>[BattleStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore) | Implementation |
481
+ | **Add Barrage Chat** | Room members can send and receive real-time text messages. | [BarrageStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore) | Implementation |
482
+ | **Gift System** | Audience can send virtual gifts to hosts to increase interaction and engagement. | [GiftStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore) | Implementation |
772
483
 
773
484
  ## API Documentation
774
- <table>
775
- <tr>
776
- <td rowspan="1" colSpan="1" >**Store/Component**</td>
777
-
778
- <td rowspan="1" colSpan="1" >**Description**</td>
779
-
780
- <td rowspan="1" colSpan="1" >**API Docs**</td>
781
- </tr>
782
-
783
- <tr>
784
- <td rowspan="1" colSpan="1" >`LiveListStore`</td>
785
-
786
- <td rowspan="1" colSpan="1" >Manages the full live room lifecycle: create, join, leave, destroy room; query room list; modify room info; listen for room status changes.</td>
787
-
788
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveliststore)</td>
789
- </tr>
790
-
791
- <tr>
792
- <td rowspan="1" colSpan="1" >`LiveSeatStore`</td>
793
-
794
- <td rowspan="1" colSpan="1" >Seat management: handle seat list, user status, seat operations (take seat, leave seat, kick, lock, toggle mic/camera), and seat events.</td>
795
-
796
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveseatstore)</td>
797
- </tr>
798
-
799
- <tr>
800
- <td rowspan="1" colSpan="1" >`DeviceStore`</td>
801
-
802
- <td rowspan="1" colSpan="1" >Audio/video device control: microphone, camera, screen sharing, device status monitoring.</td>
803
-
804
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/devicestore/)</td>
805
- </tr>
806
-
807
- <tr>
808
- <td rowspan="1" colSpan="1" >`CoGuestStore`</td>
809
-
810
- <td rowspan="1" colSpan="1" >Audience co-host management: application, invitation, acceptance, rejection, member permissions, status sync.</td>
811
-
812
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore/)</td>
813
- </tr>
814
-
815
- <tr>
816
- <td rowspan="1" colSpan="1" >`CoHostStore`</td>
817
-
818
- <td rowspan="1" colSpan="1" >Host cross-room connection: supports multiple layouts, initiate/accept/reject connection, manage co-host interaction.</td>
819
-
820
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore/)</td>
821
- </tr>
822
-
823
- <tr>
824
- <td rowspan="1" colSpan="1" >`BattleStore`</td>
825
-
826
- <td rowspan="1" colSpan="1" >Host PK battle: initiate PK, manage PK status, synchronize scores, listen for battle results.</td>
827
-
828
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore)</td>
829
- </tr>
830
-
831
- <tr>
832
- <td rowspan="1" colSpan="1" >`GiftStore`</td>
833
-
834
- <td rowspan="1" colSpan="1" >Gift interaction: fetch gift list, send/receive gifts, listen for gift events.</td>
835
-
836
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore/)</td>
837
- </tr>
838
-
839
- <tr>
840
- <td rowspan="1" colSpan="1" >`BarrageStore`</td>
841
-
842
- <td rowspan="1" colSpan="1" >Barrage (chat overlay): send text/custom barrage, maintain barrage list, monitor barrage status.</td>
843
-
844
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore)</td>
845
- </tr>
846
-
847
- <tr>
848
- <td rowspan="1" colSpan="1" >`LikeStore`</td>
849
-
850
- <td rowspan="1" colSpan="1" >Like interaction: send likes, listen for like events, synchronize like count.</td>
851
-
852
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/likestore)</td>
853
- </tr>
854
-
855
- <tr>
856
- <td rowspan="1" colSpan="1" >`LiveAudienceStore`</td>
857
-
858
- <td rowspan="1" colSpan="1" >Audience management: get real-time audience list, count, entry/exit events.</td>
859
-
860
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore)</td>
861
- </tr>
862
-
863
- <tr>
864
- <td rowspan="1" colSpan="1" >`AudioEffectStore`</td>
865
-
866
- <td rowspan="1" colSpan="1" >Audio effects: voice change, reverb, in-ear monitoring, effect switching.</td>
867
-
868
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/audioeffectstore)</td>
869
- </tr>
870
-
871
- <tr>
872
- <td rowspan="1" colSpan="1" >`BaseBeautyStore`</td>
873
-
874
- <td rowspan="1" colSpan="1" >Basic beauty: adjust smoothing/whitening/redness (0-100), reset beauty status, synchronize effect parameters.</td>
875
-
876
- <td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/basebeautystore)</td>
877
- </tr>
878
- </table>
879
-
485
+ | **Store/Component** | **Description** | **API Docs** |
486
+ | --- | --- | --- |
487
+ | `LiveListStore` | Manages the full live room lifecycle: create, join, leave, destroy room; query room list; modify room info; listen for room status changes. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveliststore) |
488
+ | `LiveSeatStore` | Seat management: handle seat list, user status, seat operations (take seat, leave seat, kick, lock, toggle mic/camera), and seat events. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveseatstore) |
489
+ | `DeviceStore` | Audio/video device control: microphone, camera, screen sharing, device status monitoring. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/devicestore/) |
490
+ | `CoGuestStore` | Audience co-host management: application, invitation, acceptance, rejection, member permissions, status sync. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore/) |
491
+ | `CoHostStore` | Host cross-room connection: supports multiple layouts, initiate/accept/reject connection, manage co-host interaction. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore/) |
492
+ | `BattleStore` | Host PK battle: initiate PK, manage PK status, synchronize scores, listen for battle results. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore) |
493
+ | `GiftStore` | Gift interaction: fetch gift list, send/receive gifts, listen for gift events. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore/) |
494
+ | `BarrageStore` | Barrage (chat overlay): send text/custom barrage, maintain barrage list, monitor barrage status. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore) |
495
+ | `LikeStore` | Like interaction: send likes, listen for like events, synchronize like count. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/likestore) |
496
+ | `LiveAudienceStore` | Audience management: get real-time audience list, count, entry/exit events. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore) |
497
+ | `AudioEffectStore` | Audio effects: voice change, reverb, in-ear monitoring, effect switching. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/audioeffectstore) |
498
+ | `BaseBeautyStore` | Basic beauty: adjust smoothing/whitening/redness (0-100), reset beauty status, synchronize effect parameters. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/basebeautystore) |
880
499
 
881
500
  ## FAQs
882
501
 
@@ -887,12 +506,9 @@ After implementing the basic voice chat room, enhance your application with the
887
506
 
888
507
  - **Check network**: Confirm the device has a stable network connection.
889
508
 
890
-
891
509
  ### Why is the seat list not displayed or not updating?
892
510
  - **Check store initialization**: Confirm you create the `LiveSeatStore` instance (`LiveSeatStore.create(liveID: liveID)`) with the same `liveID` before calling `createLive` or `joinLive`.
893
511
 
894
512
  - **Check data subscription**: Make sure you use Combine to subscribe to `liveSeatStore.state.seatList`, and the `cancellables` lifecycle matches your `ViewController`.
895
513
 
896
514
  - **Check API calls**: Ensure `createLive` (host) or `joinLive` (audience) was called successfully (check the `.success` branch in `switch result`).
897
-
898
-