@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
@@ -0,0 +1,299 @@
1
+ This guide provides a comprehensive overview of the **Viewer Page** in the TUILiveKit Demo. Use this documentation to quickly integrate our pre-built viewer page into your project, or leverage the details here to fully customize its style, layout, and features to fit your specific needs.
2
+
3
+ ## Feature Overview
4
+
5
+ The viewer page comes with default functionality and styling out of the box. If these defaults don’t match your requirements, you can easily tailor the UI. The numbers in the screenshot map to the main feature categories. Core features include: **stream information display, live video area, online audience, audio/video controls, live duration, resolution switching, fullscreen mode, chat interaction, and message list**.
6
+ - **Live Video Playback**: High-definition, low-latency streaming.
7
+
8
+ - **Live Comments Interaction**: Real-time live comments for audience engagement.
9
+
10
+ - **Audience List**: View details about online audience members.
11
+
12
+ - **Fullscreen Playback**: Immersive viewing experience.
13
+
14
+ - **H5 Mobile Platform Support**: Works seamlessly across platforms.
15
+
16
+ ## Quick Integration
17
+
18
+ ### Step 1: Environment Setup and Activate the Service
19
+
20
+ Before you begin, see Preparation for instructions on integrating required components and implementing login.
21
+
22
+ ### Step 2: Install Dependencies
23
+
24
+ Install the necessary packages using your preferred package manager:
25
+
26
+ 【npm】
27
+ ``` bash
28
+ npm install tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 --save
29
+ ```
30
+
31
+ 【pnpm】
32
+ ``` bash
33
+ pnpm add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
34
+ ```
35
+
36
+ 【yarn】
37
+ ``` bash
38
+ yarn add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
39
+ ```
40
+
41
+ ### Step 3: Integrate Viewer Page
42
+
43
+ Create a `live-player.vue` file in your project. Copy and paste the following code to add the **viewer page**.
44
+
45
+ > **Note:**
46
+ >
47
+
48
+ > You can use the code below directly, or refer to [Audience Viewing](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/TUILiveKit/component/LivePlayer/LivePlayerPC.vue) for the full source.
49
+ >
50
+
51
+ ``` typescript
52
+ <template>
53
+ <UIKitProvider theme="dark">
54
+ <div class="container">
55
+ <!-- Live Core Area -->
56
+ <section class="live">
57
+ <header class="header">
58
+ <IconArrowStrokeBack class="back-btn" size="20" />
59
+ <Avatar :src="currentLive?.liveOwner.avatarUrl" :size="32" class="avatar" />
60
+ <span class="user-name">{{ currentLive?.liveOwner.userName || currentLive?.liveOwner.userId }}</span>
61
+ </header>
62
+ <LiveCoreView class="player" />
63
+ </section>
64
+
65
+ <div class="sidebar">
66
+ <!-- Online Audience List -->
67
+ <section class="audience">
68
+ <header class="section-header">
69
+ <h3> Online Audience <span>({{ audienceList.length }})</span></h3>
70
+ </header>
71
+ <LiveAudienceList class="list" />
72
+ </section>
73
+
74
+ <!-- Message List & Input Box -->
75
+ <section class="barrage">
76
+ <header class="section-header">
77
+ <h3>Message List</h3>
78
+ </header>
79
+ <BarrageList class="list" />
80
+ <BarrageInput class="input" height="48px" />
81
+ </section>
82
+ </div>
83
+ </div>
84
+ </UIKitProvider>
85
+ </template>
86
+
87
+ <script setup lang="ts">
88
+ import { onMounted } from 'vue';
89
+ import { LiveAudienceList, BarrageList, BarrageInput, useLiveAudienceState, LiveCoreView, useLiveListState, Avatar, useLoginState } from 'tuikit-atomicx-vue3';
90
+ import { UIKitProvider, IconArrowStrokeBack } from '@tencentcloud/uikit-base-component-vue3';
91
+
92
+ const { audienceList } = useLiveAudienceState();
93
+ const { currentLive, joinLive } = useLiveListState();
94
+ const { login, setSelfInfo } = useLoginState();
95
+
96
+ const liveId = 'live_xxxx' // Enter the ID of the live stream you want to watch
97
+
98
+ async function initLogin() {
99
+ try {
100
+ await login({
101
+ sdkAppId: 0, // SDKAppID, refer to Step 1 for details
102
+ userId: '', // UserID, refer to Step 1 for details
103
+ userSig: '', // userSig, refer to Step 1 for details
104
+ });
105
+ } catch (error) {
106
+ console.error('Login failed:', error);
107
+ }
108
+ }
109
+
110
+ onMounted(async () => {
111
+ await initLogin();
112
+ await setSelfInfo({
113
+ userName: 'Your Name/Nickname', // Username
114
+ avatarUrl: '', // Avatar URL
115
+ });
116
+ await joinLive({ liveId });
117
+ });
118
+ </script>
119
+
120
+ <style>html,body,#app{height:100%;width:100%;margin:0;padding:0;overflow:hidden}:global(body){font-size:15px;line-height:1.6;text-rendering:optimizeLegibility;}:global(*),:global(*::before),:global(*::after){box-sizing:border-box;margin:0;}.container{display:grid;grid-template-columns:1fr 320px;height:100%;width:100%;gap:16px;padding:16px;background:var(--bg-color-default);box-sizing:border-box;overflow:hidden;}.live{display:flex;flex-direction:column;background:var(--bg-color-operate);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color);}.header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--stroke-color-primary);}.back-btn{cursor:pointer;color:var(--text-color-tertiary);transition:color 0.2s;}.back-btn:hover{color:var(--text-color-link-hover);}.avatar{border:1px solid var(--uikit-color-white-7);}.user-name{color:var(--text-color-primary);font-weight:500;}.player{flex:1;background:var(--uikit-color-black-1);min-height:0;}.sidebar{display:flex;flex-direction:column;gap:16px;height:100%;overflow:hidden;}.audience{display:flex;flex-direction:column;background:var(--bg-color-operate);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color);flex:1;min-height:0;}.barrage{display:flex;flex-direction:column;background:var(--bg-color-operate);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color);flex:1;min-height:0;}.section-header{padding:16px;border-bottom:1px solid var(--stroke-color-primary);background:var(--bg-color-operate);}.section-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-color-primary);}.section-header span{font-weight:400;color:var(--text-color-secondary);font-size:14px;}.list{flex:1;min-height:0;overflow-y:auto;}.input{border-top:1px solid var(--stroke-color-primary);flex-shrink:0;height:48px;}@media (max-width:1200px){.container{grid-template-columns:1fr;grid-template-rows:60% 20% 20%;gap:12px;}.sidebar{gap:12px;}.audience,.barrage{min-height:200px;}}@media (max-width:768px){.container{padding:8px;gap:8px;grid-template-rows:50% 25% 25%;}.header,.section-header{padding:12px;}.sidebar{gap:8px;}}</style>
121
+ ```
122
+
123
+ #### Core API Parameters
124
+
125
+ ##### setSelfInfo
126
+
127
+ Configure user information.
128
+ | Parameters | Type | Required | Description |
129
+ | --- | --- | --- | --- |
130
+ | userName | String | Yes | User nickname, shown in the live room and chat area. |
131
+ | avatarUrl | String | No | URL of the user's avatar image. |
132
+
133
+ ### Step 4: Start the Project
134
+
135
+ Open your terminal, navigate to your project directory, and run the following command to launch the project. You’ll then be able to view the live stream.
136
+
137
+ > **Note:**
138
+ >
139
+
140
+ > After the command runs successfully, enter your local access URL in your browser (for example, `http://localhost:5173/live-player`; the port may vary based on your setup) to access the viewer page.
141
+ >
142
+
143
+ ``` bash
144
+ npm run dev
145
+ ```
146
+
147
+ ## Play Live Stream
148
+
149
+ ### Step 1: Start a Live Stream
150
+ - **Method 1 (Recommended):**
151
+
152
+ Use our [Online Hosting Website](https://web.sdk.qcloud.com/trtc/livekit/pusher/index.html) to start a live stream. After starting, copy the live stream room ID.
153
+
154
+ - **Method 2:**
155
+
156
+ Integrate our Host Streaming (Web Desktop Browser) to start a live stream. After starting, copy the live stream room ID.
157
+
158
+ > **Tips:**
159
+ >
160
+
161
+ > Use different **userID** for hosting and viewing. If the same user ID logs in on multiple devices, the later login will force the earlier device offline (**kick offline**).
162
+ >
163
+
164
+ ### Step 2: Watch the Live Stream
165
+
166
+ Refer to the sample code from Step 3 of Quick Integration. Enter the corresponding `liveId` to join the live room and view the stream.
167
+
168
+ ### Step 3: Router Configuration
169
+
170
+ To enable navigation from the Live Stream List or homepage to the live room, configure Vue Router. In your project’s **src** directory, create a **router** folder and an **index.ts** file. Import and use the router in your main entry file (such as **main.ts** or **index.ts**). For reference, see the [GitHub code example](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/main.ts). If you need the Live Stream List feature, check the Live Stream List documentation.
171
+
172
+ > **Note:**
173
+ >
174
+
175
+ > In the code below, `live-player.vue` refers to the sample file created in Step 3.
176
+ >
177
+
178
+ ``` typescript
179
+ // src/router/index.ts
180
+ import { createRouter, createWebHistory } from 'vue-router';
181
+
182
+ const routes = [
183
+ {
184
+ path: '/live-player',
185
+ component: () => import('../live-player.vue'),
186
+ },
187
+ // To add the Live Stream List feature, include the following route. Update the path as needed for your project.
188
+ // {
189
+ // path: '/live-list',
190
+ // component: () => import('../live-list.vue'),
191
+ // },
192
+ ];
193
+
194
+ const router = createRouter({
195
+ history: createWebHistory(),
196
+ routes,
197
+ });
198
+ export default router;
199
+
200
+ // src/main.ts
201
+ import { createApp } from 'vue';
202
+ import App from './App.vue';
203
+ import router from './router';
204
+
205
+ const app = createApp(App);
206
+ app.use(router);
207
+ app.mount('#app');
208
+ ```
209
+
210
+ ## Customization
211
+
212
+ ### Customize Theme and Language
213
+
214
+ You can change the default theme and language by setting parameters in `UIKitProvider` within `App.vue`.
215
+ | UIKitProvider Parameter | Options | Default Value |
216
+ | --- | --- | --- |
217
+ | theme | "light" | "dark" |
218
+ | language | "zh-CN" | "en-US" |
219
+
220
+ ``` typescript
221
+ <UIKitProvider theme="light">
222
+ <router-view />
223
+ </UIKitProvider>
224
+
225
+ <script setup lang="ts">
226
+ import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
227
+ ```
228
+
229
+ ### Customize Button and Icon
230
+
231
+ To add, remove, or replace buttons, icons, or other controls for UI customization, follow the example below. Use the screenshot to locate the relevant code in `live-player.vue` and update the UI as needed.
232
+
233
+ You can also customize the **audience viewer page** to match your project requirements. In addition to layout adjustments, you can **add, remove, or modify** elements such as **color theme, fonts, border radius, buttons, icons, input boxes, pop-ups**, and more.
234
+ | Category | Feature | Description |
235
+ | --- | --- | --- |
236
+ | Asset Management | Customize asset management area display | Adjust icon size, color, or replace icons. |
237
+ | Live Tools | Customize live tool information display | Adjust icon size, color, or replace icons. |
238
+ | Online Audience | Customize audience information display | Supports: - Show/hide audience level. - Customize audience info font and color. - Use your preferred icon style. |
239
+ | Message List | Customize live comments area display | Supports: - Show/hide chat input area. - Customize chat bubble style, audience level, and more. |
240
+
241
+ ## FAQs
242
+
243
+ ### Browser Autoplay Restrictions?
244
+
245
+ Modern browsers restrict autoplay for media with sound: playback must be triggered by explicit user interaction (such as a click or tap). This prevents websites from playing audio unexpectedly. Most browsers allow muted video to autoplay, but on iOS Safari in low power mode and in iOS WKWebView with custom restrictions (such as iOS WeChat browser), even muted video may be blocked.
246
+
247
+ #### Autoplay Failure Handling?
248
+
249
+ If a user's Media Engagement Index (MEI) for your site is below the required threshold, attempts to autoplay sound-enabled video will fail. By default, when the SDK detects autoplay failure, it displays a dialog prompting the user to interact with the page (for example, by clicking the **Confirm** button). Once the user interacts, audio playback resumes as expected.
250
+
251
+ #### Customizing Autoplay Failure UI?
252
+
253
+ To customize the user experience when autoplay fails (such as replacing the default popup), listen for the SDK's `onAutoplayFailed` callback. Below is a Vue3 sample that listens for the event and displays a custom dialog:
254
+ ``` java
255
+ import TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';
256
+ import { useUIKit, TUIMessageBox } from '@tencentcloud/uikit-base-component-vue3';
257
+ import { useRoomEngine } from 'tuikit-atomicx-vue3';
258
+
259
+ const roomEngine = useRoomEngine();
260
+
261
+ let isShowAutoPlayDialog = false;
262
+
263
+ export default function useCustomizedAutoPlayDialog() {
264
+ const { t } = useUIKit();
265
+ TUIRoomEngine.once('ready', () => {
266
+ roomEngine.instance?.on(TUIRoomEvents.onAutoPlayFailed, () => {
267
+ if (!isShowAutoPlayDialog) {
268
+ isShowAutoPlayDialog = true;
269
+ TUIMessageBox.alert({
270
+ title: t('RoomCommon.Attention'),
271
+ content: t('RoomNotifications.AudioPlaybackFailed'),
272
+ showClose: false,
273
+ modal: false,
274
+ confirmText: t('Confirm'),
275
+ callback: () => {
276
+ isShowAutoPlayDialog = false;
277
+ },
278
+ });
279
+ }
280
+ });
281
+ });
282
+ }
283
+
284
+ export { useCustomizedAutoPlayDialog };
285
+ ```
286
+
287
+ > **Note:**
288
+ >
289
+
290
+ > Make sure to install the required `@tencentcloud/tuiroom-engine-js` package.
291
+ >
292
+
293
+ ## Next Steps
294
+
295
+ You’ve now integrated the audience viewing feature. To further enhance your application, consider adding the following features:
296
+ | Feature | Description | Integration Guide |
297
+ | --- | --- | --- |
298
+ | Live Stream List | Displays the live stream list interface and features, including live stream list and room information display. | Live Stream List |
299
+ | Web Monitoring | Operations platform for live room management. | Web Monitoring Page |
@@ -0,0 +1,300 @@
1
+ This guide provides a comprehensive overview of the **Viewer Page** in the TUILiveKit Demo. Use this documentation to quickly integrate our pre-built viewer page into your project, or leverage the details here to fully customize its style, layout, and features to fit your specific needs.
2
+
3
+ ## Feature Overview
4
+
5
+ The viewer page comes with default functionality and styling out of the box. If these defaults don’t match your requirements, you can easily tailor the UI. The numbers in the screenshot map to the main feature categories. Core features include: **stream information display, live video area, online audience, audio/video controls, live duration, resolution switching, fullscreen mode, chat interaction, and message list**.
6
+ - **Live Video Playback**: High-definition, low-latency streaming.
7
+
8
+ - **Live Comments Interaction**: Real-time live comments for audience engagement.
9
+
10
+ - **Audience List**: View details about online audience members.
11
+
12
+ - **Fullscreen Playback**: Immersive viewing experience.
13
+
14
+ - **H5 Mobile Platform Support**: Works seamlessly across platforms.
15
+
16
+ ## Quick Integration
17
+
18
+ ### Step 1: Environment Setup and Activate the Service
19
+
20
+ Before you begin, see Preparation for instructions on integrating required components and implementing login.
21
+
22
+ ### Step 2: Install Dependencies
23
+
24
+ Install the necessary packages using your preferred package manager:
25
+
26
+ 【npm】
27
+ ``` bash
28
+ npm install tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 --save
29
+ ```
30
+
31
+ 【pnpm】
32
+ ``` bash
33
+ pnpm add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
34
+ ```
35
+
36
+ 【yarn】
37
+ ``` bash
38
+ yarn add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
39
+ ```
40
+
41
+ ### Step 3: Integrate Viewer Page
42
+
43
+ Create a `live-player.vue` file in your project. Copy and paste the following code to add the **viewer page**.
44
+
45
+ > **Note:**
46
+ >
47
+
48
+ > You can use the code below directly, or refer to [Audience Viewing](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/TUILiveKit/component/LivePlayer/LivePlayerPC.vue) for the full source.
49
+ >
50
+
51
+ ``` typescript
52
+ <template>
53
+ <UIKitProvider theme="dark">
54
+ <div class="container">
55
+ <!-- Live Core Area -->
56
+ <section class="live">
57
+ <header class="header">
58
+ <IconArrowStrokeBack class="back-btn" size="20" />
59
+ <Avatar :src="currentLive?.liveOwner.avatarUrl" :size="32" class="avatar" />
60
+ <span class="user-name">{{ currentLive?.liveOwner.userName || currentLive?.liveOwner.userId }}</span>
61
+ </header>
62
+ <LiveCoreView class="player" />
63
+ </section>
64
+
65
+ <div class="sidebar">
66
+ <!-- Online Audience List -->
67
+ <section class="audience">
68
+ <header class="section-header">
69
+ <h3> Online Audience <span>({{ audienceList.length }})</span></h3>
70
+ </header>
71
+ <LiveAudienceList class="list" />
72
+ </section>
73
+
74
+ <!-- Message List & Input Box -->
75
+ <section class="barrage">
76
+ <header class="section-header">
77
+ <h3>Message List</h3>
78
+ </header>
79
+ <BarrageList class="list" />
80
+ <BarrageInput class="input" height="48px" />
81
+ </section>
82
+ </div>
83
+ </div>
84
+ </UIKitProvider>
85
+ </template>
86
+
87
+ <script setup lang="ts">
88
+ import { onMounted } from 'vue';
89
+ import { LiveAudienceList, BarrageList, BarrageInput, useLiveAudienceState, LiveCoreView, useLiveListState, Avatar, useLoginState } from 'tuikit-atomicx-vue3';
90
+ import { UIKitProvider, IconArrowStrokeBack } from '@tencentcloud/uikit-base-component-vue3';
91
+
92
+ const { audienceList } = useLiveAudienceState();
93
+ const { currentLive } = useLiveListState();
94
+ const { login, setSelfInfo } = useLoginState();
95
+
96
+ const liveId = 'live_xxxx' // Enter the ID of the live stream you want to watch
97
+
98
+ async function initLogin() {
99
+ try {
100
+ await login({
101
+ sdkAppId: 0, // SDKAppID, refer to Step 1 for details
102
+ userId: '', // UserID, refer to Step 1 for details
103
+ userSig: '', // userSig, refer to Step 1 for details
104
+ });
105
+ } catch (error) {
106
+ console.error('Login failed:', error);
107
+ }
108
+ }
109
+
110
+ onMounted(async () => {
111
+ await initLogin();
112
+ await setSelfInfo({
113
+ userName: 'Your Name/Nickname', // Username
114
+ avatarUrl: '', // Avatar URL
115
+ });
116
+ await joinLive({ liveId });
117
+ });
118
+
119
+ </script>
120
+
121
+ <style>html,body,#app{height:100%;width:100%;margin:0;padding:0;overflow:hidden}:global(body){font-size:15px;line-height:1.6;text-rendering:optimizeLegibility;}:global(*),:global(*::before),:global(*::after){box-sizing:border-box;margin:0;}.container{display:grid;grid-template-columns:1fr 320px;height:100%;width:100%;gap:16px;padding:16px;background:var(--bg-color-default);box-sizing:border-box;overflow:hidden;}.live{display:flex;flex-direction:column;background:var(--bg-color-operate);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color);}.header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--stroke-color-primary);}.back-btn{cursor:pointer;color:var(--text-color-tertiary);transition:color 0.2s;}.back-btn:hover{color:var(--text-color-link-hover);}.avatar{border:1px solid var(--uikit-color-white-7);}.user-name{color:var(--text-color-primary);font-weight:500;}.player{flex:1;background:var(--uikit-color-black-1);min-height:0;}.sidebar{display:flex;flex-direction:column;gap:16px;height:100%;overflow:hidden;}.audience{display:flex;flex-direction:column;background:var(--bg-color-operate);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color);flex:1;min-height:0;}.barrage{display:flex;flex-direction:column;background:var(--bg-color-operate);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color);flex:1;min-height:0;}.section-header{padding:16px;border-bottom:1px solid var(--stroke-color-primary);background:var(--bg-color-operate);}.section-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-color-primary);}.section-header span{font-weight:400;color:var(--text-color-secondary);font-size:14px;}.list{flex:1;min-height:0;overflow-y:auto;}.input{border-top:1px solid var(--stroke-color-primary);flex-shrink:0;height:48px;}@media (max-width:1200px){.container{grid-template-columns:1fr;grid-template-rows:60% 20% 20%;gap:12px;}.sidebar{gap:12px;}.audience,.barrage{min-height:200px;}}@media (max-width:768px){.container{padding:8px;gap:8px;grid-template-rows:50% 25% 25%;}.header,.section-header{padding:12px;}.sidebar{gap:8px;}}</style>
122
+ ```
123
+
124
+ #### Core API Parameters
125
+
126
+ ##### setSelfInfo
127
+
128
+ Configure user information.
129
+ | Parameter | Type | Required | Description |
130
+ | --- | --- | --- | --- |
131
+ | userName | String | Yes | User nickname, shown in the live room and chat area. |
132
+ | avatarUrl | String | No | URL of the user's avatar image. |
133
+
134
+ ### Step 4: Start the Project
135
+
136
+ Open your terminal, navigate to your project directory, and run the following command to launch the project. You’ll then be able to view the live stream.
137
+
138
+ > **Note:**
139
+ >
140
+
141
+ > After the command runs successfully, enter your local access URL in your browser (for example, `http://localhost:5173/live-player`; the port may vary based on your setup) to access the viewer page.
142
+ >
143
+
144
+ ``` bash
145
+ npm run dev
146
+ ```
147
+
148
+ ## Play Live Stream
149
+
150
+ ### Step 1: Start a Live Stream
151
+ - **Method 1 (Recommended):**
152
+
153
+ Use our [Online Hosting Website](https://web.sdk.qcloud.com/trtc/livekit/pusher/index.html) to start a live stream. After starting, copy the live stream room ID.
154
+
155
+ - **Method 2:**
156
+
157
+ Integrate our Host Streaming (Web Desktop Browser) to start a live stream. After starting, copy the live stream room ID.
158
+
159
+ > **Important Tip:****:**
160
+ >
161
+
162
+ > Use different **userID** for hosting and viewing. If the same user ID logs in on multiple devices, the later login will force the earlier device offline (**kick offline**).
163
+ >
164
+
165
+ ### Step 2: Watch the Live Stream
166
+
167
+ Refer to the sample code from Step 3 of Quick Integration. Enter the corresponding `liveId` to join the live room and view the stream.
168
+
169
+ ### Step 3: Router Configuration
170
+
171
+ To enable navigation from the Live Stream List or homepage to the live room, configure Vue Router. In your project’s **src** directory, create a **router** folder and an **index.ts** file. Import and use the router in your main entry file (such as **main.ts** or **index.ts**). For reference, see the [GitHub code example](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/main.ts). If you need the Live Stream List feature, check the Live Stream List documentation.
172
+
173
+ > **Note:**
174
+ >
175
+
176
+ > In the code below, `live-player.vue` refers to the sample file created in Step 3.
177
+ >
178
+
179
+ ``` typescript
180
+ // src/router/index.ts
181
+ import { createRouter, createWebHistory } from 'vue-router';
182
+
183
+ const routes = [
184
+ {
185
+ path: '/live-player',
186
+ component: () => import('../live-player.vue'),
187
+ },
188
+ // To add the Live Stream List feature, include the following route. Update the path as needed for your project.
189
+ // {
190
+ // path: '/live-list',
191
+ // component: () => import('../live-list.vue'),
192
+ // },
193
+ ];
194
+
195
+ const router = createRouter({
196
+ history: createWebHistory(),
197
+ routes,
198
+ });
199
+ export default router;
200
+
201
+ // src/main.ts
202
+ import { createApp } from 'vue';
203
+ import App from './App.vue';
204
+ import router from './router';
205
+
206
+ const app = createApp(App);
207
+ app.use(router);
208
+ app.mount('#app');
209
+ ```
210
+
211
+ ## Customization
212
+
213
+ ### Theme and Language Configuration
214
+
215
+ You can change the default theme and language by setting parameters in `UIKitProvider` within `App.vue`.
216
+ | UIKitProvider Parameter | Options | Default Value |
217
+ | --- | --- | --- |
218
+ | theme | "light" | "dark" |
219
+ | language | "zh-CN" | "en-US" |
220
+
221
+ ``` typescript
222
+ <UIKitProvider theme="light">
223
+ <router-view />
224
+ </UIKitProvider>
225
+
226
+ <script setup lang="ts">
227
+ import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
228
+ ```
229
+
230
+ ### Button and Icon Customization
231
+
232
+ To add, remove, or replace buttons, icons, or other controls for UI customization, follow the example below. Use the screenshot to locate the relevant code in `live-player.vue` and update the UI as needed.
233
+
234
+ You can also customize the **audience viewer page** to match your project requirements. In addition to layout adjustments, you can **add, remove, or modify** elements such as **color theme, fonts, border radius, buttons, icons, input boxes, pop-ups**, and more.
235
+ | Category | Feature | Description |
236
+ | --- | --- | --- |
237
+ | Asset Management | Customize asset management area display | Adjust icon size, color, or replace icons. |
238
+ | Live Tools | Customize live tool information display | Adjust icon size, color, or replace icons. |
239
+ | Online Audience | Customize audience information display | Supports: - Show/hide audience level. - Customize audience info font and color. - Use your preferred icon style. |
240
+ | Message List | Customize live comments area display | Supports: - Show/hide chat input area. - Customize chat bubble style, audience level, and more. |
241
+
242
+ ## FAQs
243
+
244
+ ### Browser Autoplay Restrictions?
245
+
246
+ Modern browsers restrict autoplay for media with sound: playback must be triggered by explicit user interaction (such as a click or tap). This prevents websites from playing audio unexpectedly. Most browsers allow muted video to autoplay, but on iOS Safari in low power mode and in iOS WKWebView with custom restrictions (such as iOS WeChat browser), even muted video may be blocked.
247
+
248
+ #### Autoplay Failure Handling?
249
+
250
+ If a user's Media Engagement Index (MEI) for your site is below the required threshold, attempts to autoplay sound-enabled video will fail. By default, when the SDK detects autoplay failure, it displays a dialog prompting the user to interact with the page (for example, by clicking the **Confirm** button). Once the user interacts, audio playback resumes as expected.
251
+
252
+ #### Customizing Autoplay Failure UI?
253
+
254
+ To customize the user experience when autoplay fails (such as replacing the default popup), listen for the SDK's `onAutoplayFailed` callback. Below is a Vue3 sample that listens for the event and displays a custom dialog:
255
+ ``` java
256
+ import TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';
257
+ import { useUIKit, TUIMessageBox } from '@tencentcloud/uikit-base-component-vue3';
258
+ import { useRoomEngine } from 'tuikit-atomicx-vue3';
259
+
260
+ const roomEngine = useRoomEngine();
261
+
262
+ let isShowAutoPlayDialog = false;
263
+
264
+ export default function useCustomizedAutoPlayDialog() {
265
+ const { t } = useUIKit();
266
+ TUIRoomEngine.once('ready', () => {
267
+ roomEngine.instance?.on(TUIRoomEvents.onAutoPlayFailed, () => {
268
+ if (!isShowAutoPlayDialog) {
269
+ isShowAutoPlayDialog = true;
270
+ TUIMessageBox.alert({
271
+ title: t('RoomCommon.Attention'),
272
+ content: t('RoomNotifications.AudioPlaybackFailed'),
273
+ showClose: false,
274
+ modal: false,
275
+ confirmText: t('Confirm'),
276
+ callback: () => {
277
+ isShowAutoPlayDialog = false;
278
+ },
279
+ });
280
+ }
281
+ });
282
+ });
283
+ }
284
+
285
+ export { useCustomizedAutoPlayDialog };
286
+ ```
287
+
288
+ > **Note:**
289
+ >
290
+
291
+ > Make sure to install the required `@tencentcloud/tuiroom-engine-js` package.
292
+ >
293
+
294
+ ## Next Steps
295
+
296
+ You’ve now integrated the audience viewing feature. To further enhance your application, consider adding the following features:
297
+ | Feature | Description | Integration Guide |
298
+ | --- | --- | --- |
299
+ | Live Stream List | Displays the live stream list interface and features, including live stream list and room information display. | Live Stream List |
300
+ | Web Monitoring | Operations platform for live room management. | Web Monitoring Page |