@tencentcloud/sdk-mcp 1.3.9 → 1.4.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 (514) hide show
  1. package/index.js +1 -1
  2. package/index.js.map +1 -1
  3. package/package.json +2 -2
  4. package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/android-faq.md} +75 -308
  5. package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +2 -2
  6. package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/flutter-faq.md} +83 -315
  7. package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/ios-faq.md} +76 -313
  8. package/resource/doc/{tuicallkit/vue/faq.md → callkit/faq/web-faq.md} +78 -311
  9. package/resource/doc/callkit/preset/android/api.md +330 -0
  10. package/resource/doc/{tuicallkit → callkit/preset}/android/integration.md +63 -420
  11. package/resource/doc/callkit/preset/flutter/api.md +401 -0
  12. package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +53 -273
  13. package/resource/doc/callkit/preset/ios/api.md +282 -0
  14. package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +39 -120
  15. package/resource/doc/callkit/preset/react/api.md +600 -0
  16. package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +6 -6
  17. package/resource/doc/callkit/preset/vue/api.md +600 -0
  18. package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +5 -5
  19. package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -37
  20. package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
  21. package/resource/doc/{chatuikit → chatkit}/android/integration.md +30 -126
  22. package/resource/doc/chatkit/faq/android_sdk/client-api.md +280 -0
  23. package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +4 -17
  24. package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -2
  25. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +183 -0
  26. package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
  27. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +279 -0
  28. package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +1 -1
  29. package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +4 -4
  30. package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
  31. package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +20 -95
  32. package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -37
  33. package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
  34. package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +78 -280
  35. package/resource/doc/{chatuikit/vue → chatkit/react}/components/avatar.md +0 -1
  36. package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +7 -12
  37. package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +10 -17
  38. package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +1 -1
  39. package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -1
  40. package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +122 -703
  41. package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
  42. package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
  43. package/resource/doc/chatkit/react/components/conversation-preview.md +116 -0
  44. package/resource/doc/chatkit/react/components/conversation-search.md +57 -0
  45. package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -186
  46. package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +21 -113
  47. package/resource/doc/chatkit/react/components/search.md +282 -0
  48. package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +5 -26
  49. package/resource/doc/{chatuikit → chatkit}/react/integration.md +37 -104
  50. package/resource/doc/{chatuikit/react → chatkit/vue}/components/avatar.md +0 -1
  51. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -13
  52. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +13 -18
  53. package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +1 -2
  54. package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -1
  55. package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
  56. package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
  57. package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -316
  58. package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
  59. package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
  60. package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +1 -23
  61. package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -134
  62. package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
  63. package/resource/doc/chatkit/vue/components/tuikit.md +45 -0
  64. package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +4 -4
  65. package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
  66. package/resource/doc/{chatuikit → chatkit}/vue/integration.md +53 -121
  67. package/resource/doc/livekit/core-sdk/live/android/api-reference/AudioEffectStore.md +283 -0
  68. package/resource/doc/livekit/core-sdk/live/android/api-reference/BarrageStore.md +148 -0
  69. package/resource/doc/livekit/core-sdk/live/android/api-reference/BattleStore.md +316 -0
  70. package/resource/doc/livekit/core-sdk/live/android/api-reference/CameraView.md +57 -0
  71. package/resource/doc/livekit/core-sdk/live/android/api-reference/CoGuestStore.md +419 -0
  72. package/resource/doc/livekit/core-sdk/live/android/api-reference/CoHostStore.md +325 -0
  73. package/resource/doc/livekit/core-sdk/live/android/api-reference/DeviceStore.md +436 -0
  74. package/resource/doc/livekit/core-sdk/live/android/api-reference/GiftStore.md +165 -0
  75. package/resource/doc/livekit/core-sdk/live/android/api-reference/LikeStore.md +49 -0
  76. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveAudienceStore.md +239 -0
  77. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveCoreView.md +74 -0
  78. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveSeatStore.md +417 -0
  79. package/resource/doc/livekit/core-sdk/live/android/api-reference/LoginStore.md +207 -0
  80. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +17 -88
  81. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
  82. package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +26 -139
  83. package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +16 -99
  84. package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +54 -161
  85. package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
  86. package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +91 -338
  87. package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +108 -492
  88. package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +27 -165
  89. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/AudioEffectStore.md +279 -0
  90. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BarrageStore.md +158 -0
  91. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BaseBeautyStore.md +155 -0
  92. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BattleStore.md +304 -0
  93. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoGuestStore.md +394 -0
  94. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoHostStore.md +303 -0
  95. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/DeviceStore.md +410 -0
  96. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/GiftStore.md +160 -0
  97. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LikeStore.md +51 -0
  98. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveAudienceStore.md +231 -0
  99. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveCoreView.md +143 -0
  100. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveSeatStore.md +375 -0
  101. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LoginStore.md +170 -0
  102. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +13 -91
  103. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -177
  104. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +18 -102
  105. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -164
  106. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -161
  107. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +66 -460
  108. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
  109. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +160 -543
  110. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +22 -161
  111. package/resource/doc/livekit/core-sdk/live/ios/api-reference/AudioEffectStore.md +287 -0
  112. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BarrageStore.md +165 -0
  113. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BaseBeautyStore.md +143 -0
  114. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BattleStore.md +298 -0
  115. package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoGuestStore.md +349 -0
  116. package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoHostStore.md +297 -0
  117. package/resource/doc/livekit/core-sdk/live/ios/api-reference/DeviceStore.md +471 -0
  118. package/resource/doc/livekit/core-sdk/live/ios/api-reference/GiftStore.md +179 -0
  119. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LikeStore.md +49 -0
  120. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveAudienceStore.md +238 -0
  121. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveCoreView.md +74 -0
  122. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveSeatStore.md +412 -0
  123. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LoginStore.md +173 -0
  124. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +23 -96
  125. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +33 -195
  126. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +35 -150
  127. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +20 -105
  128. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +35 -140
  129. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +77 -457
  130. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +70 -317
  131. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +90 -473
  132. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +28 -163
  133. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audience-list.md +17 -88
  134. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audio-effect.md +34 -192
  135. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-barrage.md +26 -139
  136. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-co-guest-interaction.md +53 -262
  137. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-gift.md +75 -455
  138. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-host-interaction.md +60 -272
  139. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-integration.md +63 -440
  140. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-room-list.md +23 -151
  141. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-audience-list.md +13 -91
  142. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-audio-effect.md +34 -177
  143. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-barrage.md +18 -102
  144. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-co-guest-interaction.md +44 -201
  145. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-gift.md +66 -460
  146. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-integration.md +57 -419
  147. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-room-list.md +24 -157
  148. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audience-list.md +23 -96
  149. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audio-effect.md +33 -195
  150. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-barrage.md +35 -150
  151. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-co-guest-interaction.md +45 -254
  152. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-gift.md +77 -457
  153. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-host-interaction.md +52 -261
  154. package/resource/doc/livekit/core-sdk/voice/ios/voice-integration.md +478 -0
  155. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-room-list.md +36 -167
  156. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-audience-list.md +15 -45
  157. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-audio-effect.md +23 -137
  158. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-barrage.md +25 -131
  159. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-co-guest-interaction.md +70 -366
  160. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-gift.md +70 -424
  161. package/resource/doc/livekit/core-sdk/voice/uni-app/voice-integration.md +323 -0
  162. package/resource/doc/livekit/{voice → core-sdk/voice}/uni-app/voice-room-list.md +24 -116
  163. package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -3
  164. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
  165. package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
  166. package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +9 -48
  167. package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +27 -145
  168. package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +13 -76
  169. package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +33 -224
  170. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +211 -0
  171. package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
  172. package/resource/doc/livekit/preset/live/vue/live-list-integration.md +244 -0
  173. package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +301 -0
  174. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +307 -0
  175. package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +754 -0
  176. package/resource/doc/roomkit/android/features/call-user-to-room.md +234 -0
  177. package/resource/doc/roomkit/android/features/room-participant-state.md +850 -0
  178. package/resource/doc/roomkit/android/features/room-state.md +358 -0
  179. package/resource/doc/roomkit/android/features/schedule-room.md +336 -0
  180. package/resource/doc/roomkit/android/integration.md +433 -0
  181. package/resource/doc/roomkit/{common/error_code.md → faq/common/error-code.md} +1 -1
  182. package/resource/doc/roomkit/flutter/features/call-user-to-room.md +228 -0
  183. package/resource/doc/roomkit/flutter/features/room-participant-state.md +796 -0
  184. package/resource/doc/roomkit/flutter/features/room-state.md +324 -0
  185. package/resource/doc/roomkit/flutter/features/schedule-room.md +324 -0
  186. package/resource/doc/roomkit/flutter/integration.md +405 -0
  187. package/resource/doc/roomkit/ios/features/call-user-to-room.md +226 -0
  188. package/resource/doc/roomkit/ios/features/room-participant-state.md +821 -0
  189. package/resource/doc/roomkit/ios/features/room-state.md +320 -0
  190. package/resource/doc/roomkit/ios/features/schedule-room.md +318 -0
  191. package/resource/doc/roomkit/ios/integration.md +384 -0
  192. package/resource/doc/roomkit/vue/faq.md +1 -0
  193. package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
  194. package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
  195. package/resource/doc/roomkit/vue/features/device-state.md +24 -44
  196. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
  197. package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
  198. package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
  199. package/resource/doc/roomkit/vue/features/room-state.md +25 -36
  200. package/resource/doc/roomkit/vue/features/room-view.md +30 -127
  201. package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
  202. package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
  203. package/resource/doc/roomkit/vue/features/virtual-background.md +13 -34
  204. package/resource/doc/roomkit/vue/integration.md +21 -80
  205. package/resource/doc/rtcengine/faq/common/userSig.md +17 -141
  206. package/resource/doc/rtcengine/faq/web/web.md +15 -22
  207. package/resource/doc/rtcengine/web/api.md +17 -21
  208. package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +4 -10
  209. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +4 -8
  210. package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +3 -3
  211. package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -3
  212. package/resource/doc/rtcengine/web/plugin/22-advanced-audio-mixer.md +6 -6
  213. package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +2 -2
  214. package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +2 -4
  215. package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +1 -2
  216. package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +2 -6
  217. package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +13 -14
  218. package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +10 -90
  219. package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -8
  220. package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +31 -35
  221. package/resource/doc/rtcengine/web/plugin/35-advanced-ai-denoiser.md +0 -2
  222. package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +7 -49
  223. package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -1
  224. package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -3
  225. package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +20 -20
  226. package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
  227. package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -4
  228. package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
  229. package/resource/doc/trtc/C++/ITRTCCloud.md +718 -2847
  230. package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
  231. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +207 -1041
  232. package/resource/doc/trtc/C++/ITXDeviceManager.md +127 -768
  233. package/resource/doc/trtc/C++/TRTCCloudCallback.md +634 -2259
  234. package/resource/doc/trtc/C++/TRTCTypeDef.md +726 -3465
  235. package/resource/doc/trtc/C++/TXLiteAVCode.md +117 -916
  236. package/resource/doc/trtc/android/TRTCCloud.md +638 -2612
  237. package/resource/doc/trtc/android/TRTCCloudDef.md +769 -3697
  238. package/resource/doc/trtc/android/TRTCCloudListener.md +609 -2070
  239. package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
  240. package/resource/doc/trtc/android/TXAudioEffectManager.md +207 -1049
  241. package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
  242. package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
  243. package/resource/doc/trtc/android/TXLiteAVCode.md +115 -900
  244. package/resource/doc/trtc/iOS/TRTCCloud.md +726 -2930
  245. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +580 -2099
  246. package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
  247. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +179 -896
  248. package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
  249. package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
  250. package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
  251. package/resource/doc/trtc/iOS/TXLiveSDKTypeDef.md +747 -3559
  252. package/server.js +1 -5
  253. package/server.js.map +1 -1
  254. package/tools/call/get_callkit_api.js +32 -0
  255. package/tools/call/get_callkit_api.js.map +1 -0
  256. package/tools/call/get_native_call_uikit_integration.js +34 -0
  257. package/tools/call/get_native_call_uikit_integration.js.map +1 -0
  258. package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
  259. package/tools/call/get_web_call_uikit_integration.js.map +1 -0
  260. package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
  261. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
  262. package/tools/chat/get_native_chat_uikit_integration.js +45 -0
  263. package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
  264. package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
  265. package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
  266. package/tools/chat/get_web_chat_uikit_integration.js +45 -0
  267. package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
  268. package/tools/common/get_faq.js +265 -0
  269. package/tools/common/get_faq.js.map +1 -0
  270. package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
  271. package/tools/common/get_usersig.js.map +1 -0
  272. package/tools/common/present_framework_choice.js +63 -0
  273. package/tools/common/present_framework_choice.js.map +1 -0
  274. package/tools/common/record_skill_session.js +58 -0
  275. package/tools/common/record_skill_session.js.map +1 -0
  276. package/tools/definitions/get_callkit_api_def.js +28 -0
  277. package/tools/definitions/get_callkit_api_def.js.map +1 -0
  278. package/tools/definitions/get_faq_def.js +18 -19
  279. package/tools/definitions/get_faq_def.js.map +1 -1
  280. package/tools/definitions/get_native_call_uikit_integration_def.js +15 -34
  281. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  282. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
  283. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
  284. package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -41
  285. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  286. package/tools/definitions/get_native_livekit_core_features_def.js +33 -0
  287. package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
  288. package/tools/definitions/get_native_livekit_core_integration_def.js +33 -0
  289. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
  290. package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
  291. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
  292. package/tools/definitions/get_usersig_def.js +17 -24
  293. package/tools/definitions/get_usersig_def.js.map +1 -1
  294. package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
  295. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  296. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
  297. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
  298. package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
  299. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  300. package/tools/definitions/get_web_live_uikit_integration_def.js +13 -18
  301. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  302. package/tools/definitions/get_web_livekit_api_def.js +27 -0
  303. package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
  304. package/tools/definitions/get_web_livekit_component_detail_def.js +29 -0
  305. package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
  306. package/tools/definitions/get_web_room_uikit_integration_def.js +13 -46
  307. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  308. package/tools/definitions/get_web_roomkit_feature_detail_def.js +30 -0
  309. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
  310. package/tools/definitions/get_web_trtc_sdk_api_def.js +25 -0
  311. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
  312. package/tools/definitions/get_web_trtc_sdk_integration_def.js +25 -0
  313. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
  314. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +25 -0
  315. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
  316. package/tools/definitions/present_framework_choice_def.js +23 -12
  317. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  318. package/tools/definitions/record_skill_session_def.js +31 -0
  319. package/tools/definitions/record_skill_session_def.js.map +1 -0
  320. package/tools/index.js +49 -61
  321. package/tools/index.js.map +1 -1
  322. package/tools/live/get_native_livekit_core_features.js +65 -0
  323. package/tools/live/get_native_livekit_core_features.js.map +1 -0
  324. package/tools/live/get_native_livekit_core_integration.js +59 -0
  325. package/tools/live/get_native_livekit_core_integration.js.map +1 -0
  326. package/tools/live/get_web_live_uikit_integration.js +48 -0
  327. package/tools/live/get_web_live_uikit_integration.js.map +1 -0
  328. package/tools/live/get_web_livekit_api.js +32 -0
  329. package/tools/live/get_web_livekit_api.js.map +1 -0
  330. package/tools/live/get_web_livekit_component_detail.js +34 -0
  331. package/tools/live/get_web_livekit_component_detail.js.map +1 -0
  332. package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
  333. package/tools/room/get_web_room_uikit_integration.js.map +1 -0
  334. package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
  335. package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
  336. package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
  337. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
  338. package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
  339. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
  340. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
  341. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
  342. package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
  343. package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
  344. package/utils/generate-structured-result.js +61 -17
  345. package/utils/generate-structured-result.js.map +1 -1
  346. package/utils/report-cls-client.js +21 -1
  347. package/utils/report-cls-client.js.map +1 -1
  348. package/utils/report-es-client.js +1 -1
  349. package/resource/doc/chatuikit/android/workflow.md +0 -713
  350. package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1376
  351. package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -860
  352. package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1371
  353. package/resource/doc/chatuikit/flutter/workflow.md +0 -816
  354. package/resource/doc/chatuikit/iOS/workflow.md +0 -0
  355. package/resource/doc/chatuikit/react/components/conversation-list.md +0 -765
  356. package/resource/doc/chatuikit/react/components/search.md +0 -885
  357. package/resource/doc/chatuikit/react/create-group.md +0 -22
  358. package/resource/doc/chatuikit/react/init.md +0 -25
  359. package/resource/doc/chatuikit/react/workflow.md +0 -254
  360. package/resource/doc/chatuikit/uniapp-app/faq.md +0 -0
  361. package/resource/doc/chatuikit/uniapp-app/integration.md +0 -619
  362. package/resource/doc/chatuikit/uniapp-app/workflow.md +0 -576
  363. package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
  364. package/resource/doc/chatuikit/vue/components/tuikit.md +0 -110
  365. package/resource/doc/chatuikit/vue/create-group.md +0 -26
  366. package/resource/doc/chatuikit/vue/init.md +0 -35
  367. package/resource/doc/chatuikit/vue/workflow.md +0 -395
  368. package/resource/doc/livekit/live/android/workflow.md +0 -322
  369. package/resource/doc/livekit/live/flutter/workflow.md +0 -353
  370. package/resource/doc/livekit/live/ios/workflow.md +0 -352
  371. package/resource/doc/livekit/live/vue/components/barrage.md +0 -615
  372. package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -442
  373. package/resource/doc/livekit/live/vue/faq.md +0 -0
  374. package/resource/doc/livekit/live/vue/live-list-integration.md +0 -195
  375. package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -293
  376. package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -381
  377. package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -598
  378. package/resource/doc/livekit/live/vue/states/live-state.md +0 -2656
  379. package/resource/doc/livekit/live/vue/workflow.md +0 -219
  380. package/resource/doc/livekit/voice/android/workflow.md +0 -333
  381. package/resource/doc/livekit/voice/flutter/workflow.md +0 -359
  382. package/resource/doc/livekit/voice/ios/voice-integration.md +0 -853
  383. package/resource/doc/livekit/voice/ios/workflow.md +0 -358
  384. package/resource/doc/livekit/voice/uni-app/voice-integration.md +0 -613
  385. package/resource/doc/livekit/voice/uni-app/workflow.md +0 -369
  386. package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -334
  387. package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -434
  388. package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -685
  389. package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -712
  390. package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -284
  391. package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
  392. package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
  393. package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
  394. package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
  395. package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -879
  396. package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -668
  397. package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -456
  398. package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -332
  399. package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
  400. package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -328
  401. package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -505
  402. package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
  403. package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -676
  404. package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
  405. package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -820
  406. package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1065
  407. package/resource/doc/roomkit/vue/features/workflow.md +0 -553
  408. package/resource/doc/roomkit/vue/workflow.md +0 -733
  409. package/resource/doc/tuicallkit/android/workflow.md +0 -432
  410. package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -786
  411. package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -663
  412. package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -932
  413. package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -926
  414. package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -452
  415. package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -779
  416. package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -635
  417. package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
  418. package/resource/doc/tuicallkit/react/api.md +0 -1512
  419. package/resource/doc/tuicallkit/react/faq.md +0 -986
  420. package/resource/doc/tuicallkit/vue/api.md +0 -1512
  421. package/tools/call/get-native-call-integration.js +0 -43
  422. package/tools/call/get-native-call-integration.js.map +0 -1
  423. package/tools/call/get-web-call-api.js +0 -27
  424. package/tools/call/get-web-call-api.js.map +0 -1
  425. package/tools/call/get-web-call-integration.js.map +0 -1
  426. package/tools/chat/get-native-chat-feature-detail.js +0 -30
  427. package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
  428. package/tools/chat/get-native-chat-integration.js +0 -45
  429. package/tools/chat/get-native-chat-integration.js.map +0 -1
  430. package/tools/chat/get-web-chat-component-detail.js +0 -31
  431. package/tools/chat/get-web-chat-component-detail.js.map +0 -1
  432. package/tools/chat/get-web-chat-integration.js +0 -45
  433. package/tools/chat/get-web-chat-integration.js.map +0 -1
  434. package/tools/chat/get-web-chat-uikit-init.js +0 -28
  435. package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
  436. package/tools/chat/get-web-create-group-doc.js +0 -28
  437. package/tools/chat/get-web-create-group-doc.js.map +0 -1
  438. package/tools/common/get-faq.js +0 -91
  439. package/tools/common/get-faq.js.map +0 -1
  440. package/tools/common/get-usersig.js.map +0 -1
  441. package/tools/common/present-framework-choice.js +0 -16
  442. package/tools/common/present-framework-choice.js.map +0 -1
  443. package/tools/common/present-scenario-choice.js +0 -16
  444. package/tools/common/present-scenario-choice.js.map +0 -1
  445. package/tools/common/record-prompt.js +0 -55
  446. package/tools/common/record-prompt.js.map +0 -1
  447. package/tools/common/record-result.js +0 -60
  448. package/tools/common/record-result.js.map +0 -1
  449. package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
  450. package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
  451. package/tools/definitions/get_native_live_api_def.js +0 -22
  452. package/tools/definitions/get_native_live_api_def.js.map +0 -1
  453. package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -109
  454. package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
  455. package/tools/definitions/get_native_live_uikit_integration_def.js +0 -75
  456. package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
  457. package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -63
  458. package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
  459. package/tools/definitions/get_trtc_native_api_def.js +0 -17
  460. package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
  461. package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
  462. package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
  463. package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
  464. package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
  465. package/tools/definitions/get_web_create_group_doc_def.js +0 -18
  466. package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
  467. package/tools/definitions/get_web_live_state_detail_def.js +0 -19
  468. package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
  469. package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
  470. package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
  471. package/tools/definitions/get_web_room_feature_detail_def.js +0 -92
  472. package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
  473. package/tools/definitions/present_scenario_choice_def.js +0 -53
  474. package/tools/definitions/present_scenario_choice_def.js.map +0 -1
  475. package/tools/definitions/record_prompt_def.js +0 -58
  476. package/tools/definitions/record_prompt_def.js.map +0 -1
  477. package/tools/definitions/record_result_def.js +0 -46
  478. package/tools/definitions/record_result_def.js.map +0 -1
  479. package/tools/live/get-native-live-uikit-integration.js +0 -177
  480. package/tools/live/get-native-live-uikit-integration.js.map +0 -1
  481. package/tools/live/get-web-live-component-detail.js +0 -31
  482. package/tools/live/get-web-live-component-detail.js.map +0 -1
  483. package/tools/live/get-web-live-state-detail.js +0 -31
  484. package/tools/live/get-web-live-state-detail.js.map +0 -1
  485. package/tools/live/get-web-live-uikit-integration.js +0 -52
  486. package/tools/live/get-web-live-uikit-integration.js.map +0 -1
  487. package/tools/live/get_native_live_uikit_extra_features.js +0 -105
  488. package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
  489. package/tools/live/get_native_live_uikit_interaction.js +0 -194
  490. package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
  491. package/tools/native_live/get-native-live-api.js +0 -31
  492. package/tools/native_live/get-native-live-api.js.map +0 -1
  493. package/tools/room/get-web-room-feature-detail.js.map +0 -1
  494. package/tools/room/get-web-room-integration.js.map +0 -1
  495. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
  496. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
  497. package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
  498. package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
  499. package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
  500. package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
  501. package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
  502. package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
  503. package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
  504. package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
  505. package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
  506. package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
  507. package/tools/trtc/get-trtc-native-api.js +0 -31
  508. package/tools/trtc/get-trtc-native-api.js.map +0 -1
  509. package/utils/handle-component-name.js +0 -33
  510. package/utils/handle-component-name.js.map +0 -1
  511. /package/resource/doc/{rtcengine/web → callkit/core-sdk}/.gitkeep +0 -0
  512. /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
  513. /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
  514. /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
@@ -6,14 +6,11 @@
6
6
 
7
7
  通过下方的视图层级示意图,您可以直观了解 **LiveCoreWidget** 在直播界面中的位置和作用:
8
8
 
9
- ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100032457995/ac234e1ee0a811f095ab5254001c06ec.png)
10
-
11
-
12
9
  ## 准备工作
13
10
 
14
11
  ### 步骤1:开通服务
15
12
 
16
- 请参见 [开通服务](https://write.woa.com/document/141302177829593088),获取体验版或付费版 SDK。
13
+ 请参见 开通服务,获取体验版或付费版 SDK。
17
14
 
18
15
  ### 步骤2:在当前项目中导入 AtomicXCore
19
16
  1. **安装组件**:请在您的 `pubspec.yaml` 文件中添加 `atomic_x_core` 依赖,然后执行 `flutter pub get`。
@@ -24,9 +21,6 @@
24
21
  ```
25
22
  2. **配置工程权限:**Android 和 iOS 工程都需要配置权限。
26
23
 
27
-
28
-
29
-
30
24
  【Android】
31
25
 
32
26
  请在 `android/app/src/main/AndroidManifest.xml` 文件中添加相机和麦克风的使用权限说明。
@@ -58,24 +52,20 @@ end
58
52
  **Info.plist**
59
53
  ``` xml
60
54
  <key>NSCameraUsageDescription</key>
61
- <string>TUILiveKit需要访问你的相机权限,开启后录制的视频才会有画面</string>
55
+ <string>TUILiveKit需要访问您的相机权限,开启后录制的视频才会有画面</string>
62
56
  <key>NSMicrophoneUsageDescription</key>
63
57
  <string>TUILiveKit需要访问您的麦克风权限,开启后录制的视频才会有声音</string>
64
58
  ```
65
59
 
66
- ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100032457995/8b552502e52811f095b0525400e889b2.png)
67
-
68
-
69
-
70
60
  ### 步骤3:实现登录逻辑
71
61
 
72
62
  在您的项目中调用 `LoginStore.shared.login` 完成登录,**这是使用 AtomicXCore 所有功能的关键前提**。
73
63
 
74
64
  > **重要:**
75
- >
65
+ >
76
66
 
77
67
  > 推荐在您 App 自身的用户账户登录成功后,再调用 LoginStore.shared.login,以确保登录业务逻辑的清晰和一致。
78
- >
68
+ >
79
69
 
80
70
  ``` java
81
71
  import 'package:flutter/material.dart';
@@ -101,48 +91,18 @@ void main() async {
101
91
  ```
102
92
 
103
93
  **登录接口参数说明:**
104
- <table>
105
- <tr>
106
- <td rowspan="1" colSpan="1" >**参数**</td>
107
-
108
- <td rowspan="1" colSpan="1" >**类型**</td>
109
-
110
- <td rowspan="1" colSpan="1" >**说明**</td>
111
- </tr>
112
-
113
- <tr>
114
- <td rowspan="1" colSpan="1" >`sdkAppID`</td>
115
-
116
- <td rowspan="1" colSpan="1" >`int`</td>
117
-
118
- <td rowspan="1" colSpan="1" >从 [控制台](https://console.cloud.tencent.com/trtc) 获取,通常是以 `140` 或 `160` 开头的 10 位整数。</td>
119
- </tr>
120
-
121
- <tr>
122
- <td rowspan="1" colSpan="1" >`userID`</td>
123
-
124
- <td rowspan="1" colSpan="1" >`String`</td>
125
-
126
- <td rowspan="1" colSpan="1" >当前用户的唯一 ID,仅包含英文字母、数字、连字符和下划线。为避免多端登录冲突,**请勿使用**`1`、`123`**等简单 ID**。</td>
127
- </tr>
128
-
129
- <tr>
130
- <td rowspan="1" colSpan="1" >`userSig`</td>
131
-
132
- <td rowspan="1" colSpan="1" >`String`</td>
133
-
134
- <td rowspan="1" colSpan="1" >用于腾讯云鉴权的票据。请注意:<br>- 开发环境:您可以采用本地 `GenerateTestUserSig.genTestSig` 函数生成 userSig 或者通过 [UserSig 辅助工具](https://console.cloud.tencent.com/im/tool-usersig) 生成临时的 UserSig。<br>- 生产环境:为了防止密钥泄露,请务必采用服务端生成 UserSig 的方式。详细信息请参考 [服务端生成 UserSig](https://cloud.tencent.com/document/product/647/17275)。<br>更多信息请参见 [如何计算及使用 UserSig](https://cloud.tencent.com/document/product/647/17275)。</td>
135
- </tr>
136
- </table>
137
-
94
+ | **参数** | **类型** | **说明** |
95
+ | --- | --- | --- |
96
+ | `sdkAppID` | `int` | 从 [控制台](https://console.cloud.tencent.com/trtc) 获取,通常是以 `140` 或 `160` 开头的 10 位整数。 |
97
+ | `userID` | `String` | 当前用户的唯一 ID,仅包含英文字母、数字、连字符和下划线。为避免多端登录冲突,**请勿使用**`1`、`123`**等简单 ID**。 |
98
+ | `userSig` | `String` | 用于腾讯云鉴权的票据。请注意:<br>- 开发环境:您可以采用本地 `GenerateTestUserSig.genTestSig` 函数生成 userSig 或者通过 [UserSig 辅助工具](https://console.cloud.tencent.com/im/tool-usersig) 生成临时的 UserSig。<br>- 生产环境:为了防止密钥泄露,请务必采用服务端生成 UserSig 的方式。详细信息请参考 [服务端生成 UserSig](https://cloud.tencent.com/document/product/647/17275)。<br>更多信息请参见 [如何计算及使用 UserSig](https://cloud.tencent.com/document/product/647/17275)。 |
138
99
 
139
100
  ## 搭建基础直播间
140
101
 
141
102
  ### 步骤1:实现主播开播
142
103
 
143
104
  主播开播涉及“预览”和“直播”两个阶段。由于底层视频渲染机制不同,我们需要构建一个状态机来管理视图切换,从而避免预览时出现黑屏。
144
- 1. **核心逻辑与状态定义**
145
-
105
+ 1. **核心逻辑与状态定义。**
146
106
 
147
107
  首先,在您的 State 类中定义核心控制器,并增加一个 _isLiveStarted 标记,用于区分当前是“预览态”还是“直播态”。
148
108
 
@@ -151,30 +111,28 @@ void main() async {
151
111
  // 核心控制器
152
112
  late final LiveCoreController _controller;
153
113
  // 状态标记:false = 预览中; true = 直播中
154
- bool _isLiveStarted = false;
155
-
114
+ bool _isLiveStarted = false;
115
+
156
116
  @override
157
117
  void initState() {
158
118
  super.initState();
159
119
  _controller = LiveCoreController.create(CoreViewType.pushView);
160
120
  _controller.setLiveID(widget.liveId);
161
-
121
+
162
122
  // 初始化时直接打开设备(详见下一步)
163
123
  _openDevices();
164
124
  }
165
125
  }
166
126
  ```
167
- 2. **打开摄像头和麦克风**
168
-
127
+ 2. **打开摄像头和麦克风。**
169
128
 
170
129
  通过调用 **DeviceStore** 的 `openLocalCamera`、`openLocalMicrophone` 接口打开摄像头和麦克风,**您无需做额外操作,LiveCoreWidget 会自动预览当前摄像头的视频流**,示例代码如下:
171
-
172
130
 
173
131
  > **注意:**
174
- >
132
+ >
175
133
 
176
134
  > 此步骤对于预览至关重要。只有打开设备,后续的 VideoView 才有画面可渲染。
177
- >
135
+ >
178
136
 
179
137
  ``` java
180
138
  void _openDevices() {
@@ -184,64 +142,62 @@ void main() async {
184
142
  DeviceStore.shared.openLocalMicrophone();
185
143
  }
186
144
  ```
187
- 3. **构建预览视图**
188
-
145
+ 3. **构建预览视图。**
189
146
 
190
147
  这是最关键的一步。我们需要根据 `_isLiveStarted` 的状态选择不同的组件:
191
148
 
192
- - **预览态:**使用 `VideoView` + `setLocalVideoView`(直接渲染本地采集数据)。
193
-
194
- - **直播态:**使用 `LiveCoreWidget`(渲染直播间流数据)。
195
-
196
- ``` java
197
- // 3.1 封装预览视图组件
198
- Widget _buildLocalPreview() {
199
- return Container(
200
- color: Colors.black,
201
- child: VideoView(
202
- onViewCreated: (viewId) {
203
- // 关键:将本地摄像头画面绑定到预览 View
204
- TUIRoomEngine.sharedInstance().setLocalVideoView(viewId);
205
- },
206
- onViewDisposed: (viewId) {
207
- // 销毁时解绑
208
- TUIRoomEngine.sharedInstance().setLocalVideoView(0);
209
- },
210
- ),
211
- );
212
- }
213
-
214
- // 3.2 组合主视图
215
- @override
216
- Widget build(BuildContext context) {
217
- return Scaffold(
218
- body: Stack(
219
- children: [
220
- // 视图层:根据状态自动切换
221
- Positioned.fill(
222
- child: _isLiveStarted
223
- ? LiveCoreWidget(controller: _controller) // 直播中:用核心组件
224
- : _buildLocalPreview(), // 预览中:用 VideoView
225
- ),
226
-
227
- // UI 层:开播按钮(仅在预览时显示)
228
- if (!_isLiveStarted)
229
- Positioned(
230
- bottom: 50, left: 0, right: 0,
231
- child: Center(
232
- child: ElevatedButton(
233
- onPressed: _startLive, // 下一步实现此方法
234
- child: const Text('开始直播'),
235
- ),
236
- ),
237
- ),
238
- ],
239
- ),
240
- );
241
- }
242
- ```
243
- 4. **实现开播与关播逻辑**
244
-
149
+ - **预览态:**使用 `VideoView` + `setLocalVideoView`(直接渲染本地采集数据)。
150
+
151
+ - **直播态:**使用 `LiveCoreWidget`(渲染直播间流数据)。
152
+
153
+ ``` java
154
+ // 3.1 封装预览视图组件
155
+ Widget _buildLocalPreview() {
156
+ return Container(
157
+ color: Colors.black,
158
+ child: VideoView(
159
+ onViewCreated: (viewId) {
160
+ // 关键:将本地摄像头画面绑定到预览 View
161
+ TUIRoomEngine.sharedInstance().setLocalVideoView(viewId);
162
+ },
163
+ onViewDisposed: (viewId) {
164
+ // 销毁时解绑
165
+ TUIRoomEngine.sharedInstance().setLocalVideoView(0);
166
+ },
167
+ ),
168
+ );
169
+ }
170
+
171
+ // 3.2 组合主视图
172
+ @override
173
+ Widget build(BuildContext context) {
174
+ return Scaffold(
175
+ body: Stack(
176
+ children: [
177
+ // 视图层:根据状态自动切换
178
+ Positioned.fill(
179
+ child: _isLiveStarted
180
+ ? LiveCoreWidget(controller: _controller) // 直播中:用核心组件
181
+ : _buildLocalPreview(), // 预览中:用 VideoView
182
+ ),
183
+
184
+ // UI 层:开播按钮(仅在预览时显示)
185
+ if (!_isLiveStarted)
186
+ Positioned(
187
+ bottom: 50, left: 0, right: 0,
188
+ child: Center(
189
+ child: ElevatedButton(
190
+ onPressed: _startLive, // 下一步实现此方法
191
+ child: const Text('开始直播'),
192
+ ),
193
+ ),
194
+ ),
195
+ ],
196
+ ),
197
+ );
198
+ }
199
+ ```
200
+ 4. **实现开播与关播逻辑。**
245
201
 
246
202
  通过调用 **LiveListStore** 的 `createLive` 接口开始视频直播,示例代码如下:
247
203
 
@@ -251,13 +207,13 @@ void main() async {
251
207
  final liveInfo = LiveInfo(
252
208
  liveID: widget.liveId, // 房间唯一标识
253
209
  liveName: "Atomic Live Demo", // 房间标题
254
- seatLayoutTemplateID: 600, // 布局模式:600 代表默认动态宫格
255
- keepOwnerOnSeat: true, // 房主是否始终占有一个麦位
210
+ // 布局模式:videoDynamicGrid9Seats 代表动态 9 宫格布局
211
+ seatTemplate: VideoDynamicGrid9Seats(),
256
212
  );
257
-
213
+
258
214
  // 2. 发起开播请求
259
215
  final result = await LiveListStore.shared.createLive(liveInfo);
260
-
216
+
261
217
  if (result.isSuccess) {
262
218
  debugPrint("开播成功");
263
219
  // 3. 关键步骤:更新状态
@@ -275,170 +231,22 @@ void main() async {
275
231
 
276
232
  **LiveInfo 参数说明:**
277
233
 
278
- <table>
279
- <tr>
280
- <td rowspan="1" colSpan="1" >**参数名**</td>
281
-
282
- <td rowspan="1" colSpan="1" >**类型**</td>
283
-
284
- <td rowspan="1" colSpan="1" >**属性**</td>
285
-
286
- <td rowspan="1" colSpan="1" >**描述**</td>
287
- </tr>
288
-
289
- <tr>
290
- <td rowspan="1" colSpan="1" >`liveID`</td>
291
-
292
- <td rowspan="1" colSpan="1" >`String`</td>
293
-
294
- <td rowspan="1" colSpan="1" >必填</td>
295
-
296
- <td rowspan="1" colSpan="1" >直播间的唯一标识符。</td>
297
- </tr>
298
-
299
- <tr>
300
- <td rowspan="1" colSpan="1" >`liveName`</td>
301
-
302
- <td rowspan="1" colSpan="1" >`String`</td>
303
-
304
- <td rowspan="1" colSpan="1" >选填</td>
305
-
306
- <td rowspan="1" colSpan="1" >直播间的标题。</td>
307
- </tr>
308
-
309
- <tr>
310
- <td rowspan="1" colSpan="1" >`notice`</td>
311
-
312
- <td rowspan="1" colSpan="1" >`String`</td>
313
-
314
- <td rowspan="1" colSpan="1" >选填</td>
315
-
316
- <td rowspan="1" colSpan="1" >直播间的公告信息。</td>
317
- </tr>
318
-
319
- <tr>
320
- <td rowspan="1" colSpan="1" >`isMessageDisable`</td>
321
-
322
- <td rowspan="1" colSpan="1" >`bool`</td>
323
-
324
- <td rowspan="1" colSpan="1" >选填</td>
325
-
326
- <td rowspan="1" colSpan="1" >是否禁言(`true`:是,`false`:否)。</td>
327
- </tr>
328
-
329
- <tr>
330
- <td rowspan="1" colSpan="1" >`isPublicVisible`</td>
331
-
332
- <td rowspan="1" colSpan="1" >`bool`</td>
333
-
334
- <td rowspan="1" colSpan="1" >选填</td>
335
-
336
- <td rowspan="1" colSpan="1" >是否公开可见(`true`:是,`false`:否)。</td>
337
- </tr>
338
-
339
- <tr>
340
- <td rowspan="1" colSpan="1" >`isSeatEnabled`</td>
341
-
342
- <td rowspan="1" colSpan="1" >`bool`</td>
343
-
344
- <td rowspan="1" colSpan="1" >选填</td>
345
-
346
- <td rowspan="1" colSpan="1" >是否启用麦位功能(`true`:是,`false`:否)。</td>
347
- </tr>
348
-
349
- <tr>
350
- <td rowspan="1" colSpan="1" >`keepOwnerOnSeat`</td>
351
-
352
- <td rowspan="1" colSpan="1" >`bool`</td>
353
-
354
- <td rowspan="1" colSpan="1" >选填</td>
355
-
356
- <td rowspan="1" colSpan="1" >是否保持房主在麦位上。</td>
357
- </tr>
358
-
359
- <tr>
360
- <td rowspan="1" colSpan="1" >`maxSeatCount`</td>
361
-
362
- <td rowspan="1" colSpan="1" >`int`</td>
363
-
364
- <td rowspan="1" colSpan="1" >选填</td>
365
-
366
- <td rowspan="1" colSpan="1" >最大麦位数量。</td>
367
- </tr>
368
-
369
- <tr>
370
- <td rowspan="1" colSpan="1" >`seatMode`</td>
371
-
372
- <td rowspan="1" colSpan="1" >`TakeSeatMode`</td>
373
-
374
- <td rowspan="1" colSpan="1" >选填</td>
375
-
376
- <td rowspan="1" colSpan="1" >上麦模式(`TakeSeatMode.free`:自由上麦,`TakeSeatMode.apply`:申请上麦)。</td>
377
- </tr>
378
-
379
- <tr>
380
- <td rowspan="1" colSpan="1" >`seatLayoutTemplateID`</td>
381
-
382
- <td rowspan="1" colSpan="1" >`int`</td>
383
-
384
- <td rowspan="1" colSpan="1" >必填</td>
385
-
386
- <td rowspan="1" colSpan="1" >麦位布局模板 ID。</td>
387
- </tr>
388
-
389
- <tr>
390
- <td rowspan="1" colSpan="1" >`coverURL`</td>
391
-
392
- <td rowspan="1" colSpan="1" >`String`</td>
393
-
394
- <td rowspan="1" colSpan="1" >选填</td>
395
-
396
- <td rowspan="1" colSpan="1" >直播间的封面图片地址。</td>
397
- </tr>
398
-
399
- <tr>
400
- <td rowspan="1" colSpan="1" >`backgroundURL`</td>
401
-
402
- <td rowspan="1" colSpan="1" >`String`</td>
403
-
404
- <td rowspan="1" colSpan="1" >选填</td>
405
-
406
- <td rowspan="1" colSpan="1" >直播间的背景图片地址。</td>
407
- </tr>
408
-
409
- <tr>
410
- <td rowspan="1" colSpan="1" >`categoryList`</td>
411
-
412
- <td rowspan="1" colSpan="1" >`List<int>`</td>
413
-
414
- <td rowspan="1" colSpan="1" >选填</td>
415
-
416
- <td rowspan="1" colSpan="1" >直播间的分类标签列表。</td>
417
- </tr>
418
-
419
- <tr>
420
- <td rowspan="1" colSpan="1" >`activityStatus`</td>
421
-
422
- <td rowspan="1" colSpan="1" >`int`</td>
423
-
424
- <td rowspan="1" colSpan="1" >选填</td>
425
-
426
- <td rowspan="1" colSpan="1" >直播活动状态。</td>
427
- </tr>
428
-
429
- <tr>
430
- <td rowspan="1" colSpan="1" >`isGiftEnabled`</td>
431
-
432
- <td rowspan="1" colSpan="1" >`bool`</td>
433
-
434
- <td rowspan="1" colSpan="1" >选填</td>
435
-
436
- <td rowspan="1" colSpan="1" >是否启用礼物功能(`true`:是,`false`:否)。</td>
437
- </tr>
438
- </table>
439
-
440
- 5. **结束直播**
441
-
234
+ | **参数名** | **类型** | **属性** | **描述** |
235
+ | --- | --- | --- | --- |
236
+ | `liveID` | `String` | 必填 | 直播间的唯一标识符。 |
237
+ | `liveName` | `String` | 选填 | 直播间的标题。 |
238
+ | `notice` | `String` | 选填 | 直播间的公告信息。 |
239
+ | `isMessageDisable` | `Boolean` | 选填 | 是否禁言(`true`:是,`false`:否)。 |
240
+ | `isPublicVisible` | `Boolean` | 选填 | 是否公开可见(`true`:是,`false`:否)。 |
241
+ | `seatMode` | `TakeSeatMode` | 选填 | 上麦模式(`FREE`:自由上麦,`APPLY`:申请上麦)。 |
242
+ | `seatTemplate` | `SeatLayoutTemplate` | 必填 | 麦位布局模板。 |
243
+ | `coverURL` | `String` | 选填 | 直播间的封面图片地址。 |
244
+ | `backgroundURL` | `String` | 选填 | 直播间的背景图片地址。 |
245
+ | `categoryList` | `List<Int>` | 选填 | 直播间的分类标签列表。 |
246
+ | `activityStatus` | `Int` | 选填 | 直播活动状态。 |
247
+ | `isGiftEnabled` | `Boolean` | 选填 | 是否启用礼物功能(`true`:是,`false`:否)。 |
248
+
249
+ 5. **结束直播。**
442
250
 
443
251
  直播结束后,主播可以调用 **LiveListStore** 的 `endLive` 接口结束直播。SDK 会处理停止推流和销毁房间的逻辑。
444
252
 
@@ -447,7 +255,7 @@ void main() async {
447
255
  // 1. 调用接口结束直播
448
256
  // SDK 内部会自动停止推流、销毁房间并清理媒体资源
449
257
  final result = await LiveListStore.shared.endLive();
450
-
258
+
451
259
  if (result.isSuccess) {
452
260
  debugPrint("关播成功");
453
261
  // 2. 退出当前页面
@@ -459,8 +267,7 @@ void main() async {
459
267
  }
460
268
  }
461
269
  ```
462
- 6. **完整代码参考**
463
-
270
+ 6. **完整代码参考。**
464
271
 
465
272
  为了方便您快速集成,我们将上述步骤整合为完整的 `YourAnchorPage` 文件。您可以直接复制以下代码:
466
273
 
@@ -468,19 +275,19 @@ void main() async {
468
275
  import 'package:flutter/material.dart';
469
276
  import 'package:atomic_x_core/atomicxcore.dart';
470
277
  import 'package:rtc_room_engine/rtc_room_engine.dart'; // 引入 RTC 引擎
471
-
278
+
472
279
  class YourAnchorPage extends StatefulWidget {
473
280
  final String liveId;
474
281
  const YourAnchorPage({super.key, required this.liveId});
475
-
282
+
476
283
  @override
477
284
  State<YourAnchorPage> createState() => _YourAnchorPageState();
478
285
  }
479
-
286
+
480
287
  class _YourAnchorPageState extends State<YourAnchorPage> {
481
288
  late final LiveCoreController _controller;
482
289
  bool _isLiveStarted = false; // 直播状态标记
483
-
290
+
484
291
  @override
485
292
  void initState() {
486
293
  super.initState();
@@ -488,12 +295,12 @@ void main() async {
488
295
  _controller.setLiveID(widget.liveId);
489
296
  _openDevices(); // 步骤2:打开设备
490
297
  }
491
-
298
+
492
299
  void _openDevices() {
493
300
  DeviceStore.shared.openLocalCamera(true);
494
301
  DeviceStore.shared.openLocalMicrophone();
495
302
  }
496
-
303
+
497
304
  // 步骤3:构建预览
498
305
  Widget _buildLocalPreview() {
499
306
  return Container(
@@ -504,16 +311,15 @@ void main() async {
504
311
  ),
505
312
  );
506
313
  }
507
-
314
+
508
315
  // 步骤4:开播逻辑
509
316
  Future<void> _startLive() async {
510
317
  final liveInfo = LiveInfo(
511
318
  liveID: widget.liveId,
512
319
  liveName: "Test Live",
513
- seatLayoutTemplateID: 600,
514
- keepOwnerOnSeat: true,
320
+ seatTemplate: VideoDynamicGrid9Seats()
515
321
  );
516
-
322
+
517
323
  final result = await LiveListStore.shared.createLive(liveInfo);
518
324
  if (result.isSuccess) {
519
325
  setState(() {
@@ -521,7 +327,7 @@ void main() async {
521
327
  });
522
328
  }
523
329
  }
524
-
330
+
525
331
  @override
526
332
  Widget build(BuildContext context) {
527
333
  return Scaffold(
@@ -552,51 +358,46 @@ void main() async {
552
358
 
553
359
  观众观看流程如下,通过简单几步操作,即可实现观众观看直播。
554
360
 
555
- ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100032457995/116894aee55e11f095b0525400e889b2.png)
556
-
557
-
558
361
  > **提示:**
559
- >
362
+ >
560
363
 
561
364
  > 观众进房拉流的业务代码,您也可以参考 TUILiveKit 开源项目中的 [audience_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/live_stream/features/audience/audience_widget.dart) 文件来了解完整的实现逻辑。
562
- >
563
-
564
- 1. **实现观众拉流页面**
365
+ >
565
366
 
367
+ 1. **实现观众拉流页面。**
566
368
 
567
369
  在您的观众页面中,创建 `LiveCoreWidget` 实例,并通过 `LiveCoreController` 控制直播行为。
568
-
569
370
 
570
371
  > **注意:**
571
- >
372
+ >
572
373
 
573
374
  > **必须确保 LiveCoreWidget 在调用 joinLive() 之前已经完成初始化并处于渲染树中。**
574
- >
375
+ >
575
376
 
576
377
  > **原理分析:**`LiveCoreWidget` 在 `initState` 中会执行 `controller.init() `以注册对 `currentLive` 信息的监听。如果先调用` joinLive()` 导致房间信息更新,而此时 `Widget` 尚未渲染(监听器未注册),则无法触发内部的自动拉流逻辑,导致画面黑屏。
577
- >
378
+ >
578
379
 
579
380
  ``` java
580
381
  import 'package:flutter/material.dart';
581
382
  import 'package:atomic_x_core/atomicxcore.dart';
582
-
383
+
583
384
  /// YourAudiencePage 代表您的观众观看页面
584
385
  class _YourAudiencePageState extends State<YourAudiencePage> {
585
386
  late final LiveCoreController _controller;
586
387
  bool _isJoining = true;
587
-
388
+
588
389
  @override
589
390
  void initState() {
590
391
  super.initState();
591
392
  _controller = LiveCoreController.create(CoreViewType.playView);
592
393
  _controller.setLiveID(widget.liveId);
593
-
594
- // 修正:在第一帧渲染完成后再进房,确保 LiveCoreWidget 已完成 init()
394
+
395
+ // 修正:在第一帧渲染完成后再进房,确保 LiveCoreWidget 已完成 init()
595
396
  WidgetsBinding.instance.addPostFrameCallback((_) {
596
397
  _joinLive();
597
398
  });
598
399
  }
599
-
400
+
600
401
  Future<void> _joinLive() async {
601
402
  final result = await LiveListStore.shared.joinLive(widget.liveId);
602
403
  if (result.isSuccess) {
@@ -606,7 +407,7 @@ void main() async {
606
407
  debugPrint("joinLive error: ${result.errorMessage}");
607
408
  }
608
409
  }
609
-
410
+
610
411
  @override
611
412
  Widget build(BuildContext context) {
612
413
  return Scaffold(
@@ -614,7 +415,7 @@ void main() async {
614
415
  children: [
615
416
  // 必须始终渲染,不可根据 _isJoining 状态移除,否则会导致监听失效
616
417
  LiveCoreWidget(controller: _controller),
617
-
418
+
618
419
  if (_isJoining)
619
420
  const Center(child: CircularProgressIndicator(color: Colors.white)),
620
421
  ],
@@ -623,28 +424,27 @@ void main() async {
623
424
  }
624
425
  }
625
426
  ```
626
- 2. **进入直播间观看**
627
-
427
+ 2. **进入直播间观看。**
628
428
 
629
429
  通过调用 **LiveListStore** 的 `joinLive` 接口加入直播,**您无需做额外操作,LiveCoreWidget 会自动播放当前房间的视频流**,完整示例代码如下:
630
430
 
631
431
  ``` java
632
432
  import 'package:flutter/material.dart';
633
433
  import 'package:atomic_x_core/atomicxcore.dart';
634
-
434
+
635
435
  /// YourAudiencePage 代表您的观众观看页面
636
436
  class YourAudiencePage extends StatefulWidget {
637
437
  final String liveId;
638
-
438
+
639
439
  const YourAudiencePage({super.key, required this.liveId});
640
-
440
+
641
441
  @override
642
442
  State<YourAudiencePage> createState() => _YourAudiencePageState();
643
443
  }
644
-
444
+
645
445
  class _YourAudiencePageState extends State<YourAudiencePage> {
646
446
  late final LiveCoreController _controller;
647
-
447
+
648
448
  @override
649
449
  void initState() {
650
450
  super.initState();
@@ -653,12 +453,12 @@ void main() async {
653
453
  // 进入直播间
654
454
  _joinLive();
655
455
  }
656
-
456
+
657
457
  Future<void> _joinLive() async {
658
458
  // 调用 LiveListStore.shared.joinLive 进入直播间
659
459
  // - liveId: 与主播开播同样的 liveId
660
460
  final result = await LiveListStore.shared.joinLive(widget.liveId);
661
-
461
+
662
462
  if (result.isSuccess) {
663
463
  debugPrint("joinLive success");
664
464
  } else {
@@ -667,7 +467,7 @@ void main() async {
667
467
  // if (mounted) Navigator.of(context).pop();
668
468
  }
669
469
  }
670
-
470
+
671
471
  @override
672
472
  Widget build(BuildContext context) {
673
473
  return Scaffold(
@@ -680,39 +480,38 @@ void main() async {
680
480
  }
681
481
  }
682
482
  ```
683
- 3. **退出直播**
684
-
483
+ 3. **退出直播。**
685
484
 
686
485
  观众退出直播间时,需要调用 **LiveListStore** 的 `leaveLive` 接口退出直播。SDK 会自动停止拉流并退出房间。
687
486
 
688
487
  ``` java
689
488
  import 'package:flutter/material.dart';
690
489
  import 'package:atomic_x_core/atomicxcore.dart';
691
-
490
+
692
491
  /// YourAudiencePage 代表您的观众观看页面
693
492
  class YourAudiencePage extends StatefulWidget {
694
493
  final String liveId;
695
-
494
+
696
495
  const YourAudiencePage({super.key, required this.liveId});
697
-
496
+
698
497
  @override
699
498
  State<YourAudiencePage> createState() => _YourAudiencePageState();
700
499
  }
701
-
500
+
702
501
  class _YourAudiencePageState extends State<YourAudiencePage> {
703
502
  // ... 其他代码 ...
704
-
503
+
705
504
  // 退出直播
706
505
  Future<void> _leaveLive() async {
707
506
  final result = await LiveListStore.shared.leaveLive();
708
-
507
+
709
508
  if (result.isSuccess) {
710
509
  debugPrint("leaveLive success");
711
510
  } else {
712
511
  debugPrint("leaveLive error: ${result.errorMessage}");
713
512
  }
714
513
  }
715
-
514
+
716
515
  // ... 其他代码 ...
717
516
  }
718
517
  ```
@@ -811,217 +610,38 @@ class _YourAudiencePageState extends State<YourAudiencePage> {
811
610
 
812
611
  ### 运行效果
813
612
 
814
- 集成 **LiveCoreWidget** 后,您将得到一个纯净的视频渲染视图,它已具备完整的直播业务能力,但没有任何交互 UI。您可以参考下一章节 [丰富直播场景](https://write.woa.com/#.E4.B8.B0.E5.AF.8C.E7.9B.B4.E6.92.AD.E5.9C.BA.E6.99.AF) 来完善直播场景。
815
- <table>
816
- <tr>
817
- <td rowspan="1" colSpan="1" ></td>
818
-
819
- <td rowspan="1" colSpan="1" >**动态宫格布局**</td>
820
-
821
- <td rowspan="1" colSpan="1" >**浮动小窗布局**</td>
822
-
823
- <td rowspan="1" colSpan="1" >**固定宫格布局**</td>
824
-
825
- <td rowspan="1" colSpan="1" >**固定小窗布局**</td>
826
- </tr>
827
-
828
- <tr>
829
- <td rowspan="1" colSpan="1" >**模板 ID**</td>
830
-
831
- <td rowspan="1" colSpan="1" >600</td>
832
-
833
- <td rowspan="1" colSpan="1" >601</td>
834
-
835
- <td rowspan="1" colSpan="1" >800</td>
836
-
837
- <td rowspan="1" colSpan="1" >801</td>
838
- </tr>
839
-
840
- <tr>
841
- <td rowspan="1" colSpan="1" >**描述**</td>
842
-
843
- <td rowspan="1" colSpan="1" >默认布局,可根据连麦人数动态调整宫格大小。</td>
844
-
845
- <td rowspan="1" colSpan="1" >连麦嘉宾以浮动小窗形式显示。</td>
846
-
847
- <td rowspan="1" colSpan="1" >连麦人数固定,每个嘉宾占据一个固定宫格。</td>
848
-
849
- <td rowspan="1" colSpan="1" >连麦人数固定,嘉宾以固定小窗形式显示。</td>
850
- </tr>
851
- </table>
852
-
613
+ 集成 **LiveCoreWidget** 后,您将得到一个纯净的视频渲染视图,它已具备完整的直播业务能力,但没有任何交互 UI。您可以参考下一章节 丰富直播场景 来完善直播场景。
614
+ | **布局类型** | **动态宫格布局** | **浮动小窗布局** | **固定宫格布局** | **固定小窗布局** |
615
+ | --- | --- | --- | --- | --- |
616
+ | **模板 ID** | 600 | 601 | 800 | 801 |
617
+ | **描述** | 默认布局,可根据连麦人数动态调整宫格大小。 | 连麦嘉宾以浮动小窗形式显示。 | 连麦人数固定,每个嘉宾占据一个固定宫格。 | 连麦人数固定,嘉宾以固定小窗形式显示。 |
853
618
 
854
619
  ## 丰富直播场景
855
620
 
856
621
  当您完成了基础的直播功能后,您可以参考以下功能指南来为直播添加丰富的互动玩法。
857
- <table>
858
- <tr>
859
- <td rowspan="1" colSpan="1" >**直播功能**</td>
860
-
861
- <td rowspan="1" colSpan="1" >**功能介绍**</td>
862
-
863
- <td rowspan="1" colSpan="1" >**功能 Stores**</td>
864
-
865
- <td rowspan="1" colSpan="1" >**实现指南**</td>
866
- </tr>
867
-
868
- <tr>
869
- <td rowspan="1" colSpan="1" >**实现观众音视频连线**</td>
870
-
871
- <td rowspan="1" colSpan="1" >观众申请上麦,与主播进行实时视频互动。</td>
872
-
873
- <td rowspan="1" colSpan="1" >[CoGuestStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html)</td>
874
-
875
- <td rowspan="1" colSpan="1" >[实现观众连线](https://write.woa.com/document/191126722261704704)</td>
876
- </tr>
877
-
878
- <tr>
879
- <td rowspan="1" colSpan="1" >**实现主播跨房连线 PK**</td>
880
-
881
- <td rowspan="1" colSpan="1" >两个不同房间的主播进行连线,实现互动或 PK。</td>
882
-
883
- <td rowspan="1" colSpan="1" >[CoHostStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_host_store/CoHostStore-class.html) / [BattleStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_battle_store/BattleStore-class.html)</td>
884
-
885
- <td rowspan="1" colSpan="1" >[实现主播连线 PK](https://write.woa.com/document/191126592718098432)</td>
886
- </tr>
887
-
888
- <tr>
889
- <td rowspan="1" colSpan="1" >**添加弹幕聊天功能**</td>
890
-
891
- <td rowspan="1" colSpan="1" >观众可以在直播间发送和接收实时文字消息。</td>
892
-
893
- <td rowspan="1" colSpan="1" >[BarrageStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_barrage_barrage_store/BarrageStore-class.html)</td>
894
-
895
- <td rowspan="1" colSpan="1" >[实现弹幕功能](https://write.woa.com/document/191126817095999488)</td>
896
- </tr>
897
-
898
- <tr>
899
- <td rowspan="1" colSpan="1" >**构建礼物赠送系统**</td>
900
-
901
- <td rowspan="1" colSpan="1" >观众可以向主播赠送虚拟礼物,增加互动和趣味性。</td>
902
-
903
- <td rowspan="1" colSpan="1" >[GiftStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftStore-class.html)</td>
904
-
905
- <td rowspan="1" colSpan="1" >[实现礼物功能](https://write.woa.com/document/191127024797196288)</td>
906
- </tr>
907
- </table>
908
-
622
+ | **直播功能** | **功能介绍** | **功能 Stores** | **实现指南** |
623
+ | --- | --- | --- | --- |
624
+ | **实现观众音视频连线** | 观众申请上麦,与主播进行实时视频互动。 | [CoGuestStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html) | 实现观众连线 |
625
+ | **实现主播跨房连线 PK** | 两个不同房间的主播进行连线,实现互动或 PK。 | [CoHostStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_host_store/CoHostStore-class.html) / [BattleStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_battle_store/BattleStore-class.html) | 实现主播连线 PK |
626
+ | **添加弹幕聊天功能** | 观众可以在直播间发送和接收实时文字消息。 | [BarrageStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_barrage_barrage_store/BarrageStore-class.html) | 实现弹幕功能 |
627
+ | **构建礼物赠送系统** | 观众可以向主播赠送虚拟礼物,增加互动和趣味性。 | [GiftStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftStore-class.html) | 实现礼物功能 |
909
628
 
910
629
  ## API 文档
911
- <table>
912
- <tr>
913
- <td rowspan="1" colSpan="1" >**Store/Component**</td>
914
-
915
- <td rowspan="1" colSpan="1" >**功能描述**</td>
916
-
917
- <td rowspan="1" colSpan="1" >**API 文档**</td>
918
- </tr>
919
-
920
- <tr>
921
- <td rowspan="1" colSpan="1" >**LiveCoreWidget**</td>
922
-
923
- <td rowspan="1" colSpan="1" >直播视频流展示与交互的核心视图组件:负责视频流渲染和视图挂件处理,支持主播直播、观众连麦、主播连线等场景。</td>
924
-
925
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreWidget-class.html)</td>
926
- </tr>
927
-
928
- <tr>
929
- <td rowspan="1" colSpan="1" >**LiveCoreController**</td>
930
-
931
- <td rowspan="1" colSpan="1" >LiveCoreWidget 的控制器:用于设置直播 ID、控制预览等操作。</td>
932
-
933
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreController-class.html)</td>
934
- </tr>
935
-
936
- <tr>
937
- <td rowspan="1" colSpan="1" >**LiveListStore**</td>
938
-
939
- <td rowspan="1" colSpan="1" >直播间全生命周期管理:创建 / 加入 / 离开 / 销毁房间,查询房间列表,修改直播信息(名称、公告等),监听直播状态(如被踢出、结束)。</td>
940
-
941
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html)</td>
942
- </tr>
943
-
944
- <tr>
945
- <td rowspan="1" colSpan="1" >**DeviceStore**</td>
946
-
947
- <td rowspan="1" colSpan="1" >音视频设备控制:麦克风(开关 / 音量)、摄像头(开关 / 切换 / 画质)、屏幕共享,设备状态实时监听。</td>
948
-
949
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_device_store/DeviceStore-class.html)</td>
950
- </tr>
951
-
952
- <tr>
953
- <td rowspan="1" colSpan="1" >**CoGuestStore**</td>
954
-
955
- <td rowspan="1" colSpan="1" >观众连麦管理:连麦申请 / 邀请 / 同意 / 拒绝,连麦成员权限控制(麦克风 / 摄像头),状态同步。</td>
956
-
957
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html)</td>
958
- </tr>
959
-
960
- <tr>
961
- <td rowspan="1" colSpan="1" >**CoHostStore**</td>
962
-
963
- <td rowspan="1" colSpan="1" >主播跨房连线:支持多布局模板(动态网格等),发起 / 接受 / 拒绝连线,连麦主播互动管理。</td>
964
-
965
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_host_store/CoHostStore-class.html)</td>
966
- </tr>
967
-
968
- <tr>
969
- <td rowspan="1" colSpan="1" >**BattleStore**</td>
970
-
971
- <td rowspan="1" colSpan="1" >主播 PK 对战:发起 PK(配置时长 / 对手),管理 PK 状态(开始 / 结束),同步分数,监听对战结果。</td>
972
-
973
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_battle_store/BattleStore-class.html)</td>
974
- </tr>
975
-
976
- <tr>
977
- <td rowspan="1" colSpan="1" >**GiftStore**</td>
978
-
979
- <td rowspan="1" colSpan="1" >礼物互动:获取礼物列表,发送 / 接收礼物,监听礼物事件(含发送者、礼物详情)。</td>
980
-
981
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftStore-class.html)</td>
982
- </tr>
983
-
984
- <tr>
985
- <td rowspan="1" colSpan="1" >**BarrageStore**</td>
986
-
987
- <td rowspan="1" colSpan="1" >弹幕功能:发送文本 / 自定义弹幕,维护弹幕列表,实时监听弹幕状态。</td>
988
-
989
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_barrage_barrage_store/BarrageStore-class.html)</td>
990
- </tr>
991
-
992
- <tr>
993
- <td rowspan="1" colSpan="1" >**LikeStore**</td>
994
-
995
- <td rowspan="1" colSpan="1" >点赞互动:发送点赞,监听点赞事件,同步总点赞数。</td>
996
-
997
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_like_store/LikeStore-class.html)</td>
998
- </tr>
999
-
1000
- <tr>
1001
- <td rowspan="1" colSpan="1" >**LiveAudienceStore**</td>
1002
-
1003
- <td rowspan="1" colSpan="1" >观众管理:获取实时观众列表(ID / 名称 / 头像),统计观众数量,监听观众进出事件。</td>
1004
-
1005
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_audience_store/LiveAudienceStore-class.html)</td>
1006
- </tr>
1007
-
1008
- <tr>
1009
- <td rowspan="1" colSpan="1" >**AudioEffectStore**</td>
1010
-
1011
- <td rowspan="1" colSpan="1" >音频特效:变声(童声 / 男声)、混响(KTV 等)、耳返调节,实时切换特效。</td>
1012
-
1013
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_audio_effect_store/AudioEffectStore-class.html)</td>
1014
- </tr>
1015
-
1016
- <tr>
1017
- <td rowspan="1" colSpan="1" >**BaseBeautyStore**</td>
1018
-
1019
- <td rowspan="1" colSpan="1" >基础美颜:调节磨皮 / 美白 / 红润(0-100 级),重置美颜状态,同步效果参数。</td>
1020
-
1021
- <td rowspan="1" colSpan="1" >[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_base_beauty_store/BaseBeautyStore-class.html)</td>
1022
- </tr>
1023
- </table>
1024
-
630
+ | **Store/Component** | **功能描述** | **API 文档** |
631
+ | --- | --- | --- |
632
+ | **LiveCoreWidget** | 直播视频流展示与交互的核心视图组件:负责视频流渲染和视图挂件处理,支持主播直播、观众连麦、主播连线等场景。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreWidget-class.html) |
633
+ | **LiveCoreController** | LiveCoreWidget 的控制器:用于设置直播 ID、控制预览等操作。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreController-class.html) |
634
+ | **LiveListStore** | 直播间全生命周期管理:创建 / 加入 / 离开 / 销毁房间,查询房间列表,修改直播信息(名称、公告等),监听直播状态(例如被踢出、结束)。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html) |
635
+ | **DeviceStore** | 音视频设备控制:麦克风(开关 / 音量)、摄像头(开关 / 切换 / 画质)、屏幕共享,设备状态实时监听。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_device_store/DeviceStore-class.html) |
636
+ | **CoGuestStore** | 观众连麦管理:连麦申请 / 邀请 / 同意 / 拒绝,连麦成员权限控制(麦克风 / 摄像头),状态同步。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html) |
637
+ | **CoHostStore** | 主播跨房连线:支持多布局模板(动态网格等),发起 / 接受 / 拒绝连线,连麦主播互动管理。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_host_store/CoHostStore-class.html) |
638
+ | **BattleStore** | 主播 PK 对战:发起 PK(配置时长 / 对手),管理 PK 状态(开始 / 结束),同步分数,监听对战结果。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_battle_store/BattleStore-class.html) |
639
+ | **GiftStore** | 礼物互动:获取礼物列表,发送 / 接收礼物,监听礼物事件(含发送者、礼物详情)。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftStore-class.html) |
640
+ | **BarrageStore** | 弹幕功能:发送文本 / 自定义弹幕,维护弹幕列表,实时监听弹幕状态。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_barrage_barrage_store/BarrageStore-class.html) |
641
+ | **LikeStore** | 点赞互动:发送点赞,监听点赞事件,同步总点赞数。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_like_store/LikeStore-class.html) |
642
+ | **LiveAudienceStore** | 观众管理:获取实时观众列表(ID / 名称 / 头像),统计观众数量,监听观众进出事件。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_audience_store/LiveAudienceStore-class.html) |
643
+ | **AudioEffectStore** | 音频特效:变声(童声 / 男声)、混响(KTV 等)、耳返调节,实时切换特效。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_audio_effect_store/AudioEffectStore-class.html) |
644
+ | **BaseBeautyStore** | 基础美颜:调节磨皮 / 美白 / 红润(0-100 级),重置美颜状态,同步效果参数。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_base_beauty_store/BaseBeautyStore-class.html) |
1025
645
 
1026
646
  ## 常见问题
1027
647
 
@@ -1034,14 +654,12 @@ class _YourAudiencePageState extends State<YourAudiencePage> {
1034
654
 
1035
655
  - **检查网络**:请检查设备网络连接是否正常。
1036
656
 
1037
-
1038
657
  ### 观众端调用了 joinLive 且返回 Success,但依然没有视频画面?
1039
- - **时序问题:**是否在 LiveCoreWidget 挂载前就执行了 joinLive?请参考上文使用 addPostFrameCallback。
1040
-
1041
- - **Controller 类型:**创建时是否正确传入了 CoreViewType.playView?
658
+ - **时序问题:**是否在 `LiveCoreWidget` 挂载前就执行了 `joinLive`?请参考上文使用 `addPostFrameCallback`。
1042
659
 
1043
- - **Widget 持久性:**在进房过程中,LiveCoreWidget 是否因为 setState 被意外销毁或重新创建?请确保其在 Widget 树中的稳定性。
660
+ - **Controller 类型:**创建时是否正确传入了 `CoreViewType.playView`?
1044
661
 
662
+ - **Widget 持久性:**在进房过程中,`LiveCoreWidget` 是否因为 `setState` 被意外销毁或重新创建?请确保其在 Widget 树中的稳定性。
1045
663
 
1046
664
  ### Flutter 项目如何请求权限?
1047
665
 
@@ -1067,4 +685,3 @@ void dispose() {
1067
685
  super.dispose();
1068
686
  }
1069
687
  ```
1070
-