@tencent-rtc/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.
- package/package.json +2 -2
- package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/android-faq.md} +10 -22
- package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/flutter-faq.md} +10 -22
- package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/ios-faq.md} +10 -22
- package/resource/doc/callkit/preset/android/api.md +296 -0
- package/resource/doc/{tuicallkit → callkit/preset}/android/integration.md +53 -365
- package/resource/doc/callkit/preset/flutter/api.md +410 -0
- package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +35 -97
- package/resource/doc/callkit/preset/ios/api.md +80 -0
- package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +37 -118
- package/resource/doc/callkit/preset/react/api.md +501 -0
- package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +5 -20
- package/resource/doc/callkit/preset/vue/api.md +501 -0
- package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +4 -19
- package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -38
- package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
- package/resource/doc/{chatuikit → chatkit}/android/integration.md +28 -121
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +281 -0
- package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +0 -1
- package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -1
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +199 -0
- package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +235 -0
- package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +3 -3
- package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
- package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +18 -87
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -38
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +47 -165
- package/resource/doc/{chatuikit → chatkit}/react/components/avatar.md +0 -33
- package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +8 -49
- package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +6 -35
- package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +0 -6
- package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -11
- package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +96 -502
- package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
- package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
- package/resource/doc/chatkit/react/components/conversation-preview.md +118 -0
- package/resource/doc/chatkit/react/components/conversation-search.md +60 -0
- package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -337
- package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +20 -212
- package/resource/doc/chatkit/react/components/search.md +243 -0
- package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +1 -47
- package/resource/doc/{chatuikit → chatkit}/react/integration.md +21 -81
- package/resource/doc/{chatuikit → chatkit}/vue/components/avatar.md +0 -33
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -48
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +3 -5
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +0 -5
- package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -15
- package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
- package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
- package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -492
- package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
- package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
- package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +2 -223
- package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -252
- package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
- package/resource/doc/{chatuikit → chatkit}/vue/components/tuikit.md +7 -21
- package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +3 -62
- package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
- package/resource/doc/{chatuikit → chatkit}/vue/integration.md +22 -23
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +18 -89
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +28 -141
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +20 -112
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +59 -193
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +94 -344
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +107 -515
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +33 -173
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +14 -93
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -179
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +19 -107
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -166
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -163
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +69 -443
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +107 -492
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +23 -165
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +35 -111
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +35 -193
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +31 -144
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +24 -116
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +37 -171
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +79 -459
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +69 -320
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +85 -502
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +32 -169
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audience-list.md +18 -89
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audio-effect.md +34 -192
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-barrage.md +28 -141
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-co-guest-interaction.md +50 -259
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-gift.md +75 -455
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-host-interaction.md +51 -265
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-integration.md +61 -427
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-room-list.md +33 -173
- package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-co-guest-interaction.md +44 -203
- package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-integration.md +56 -416
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audience-list.md +35 -111
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audio-effect.md +35 -193
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-barrage.md +31 -144
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-co-guest-interaction.md +43 -252
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-gift.md +79 -459
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-host-interaction.md +46 -264
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-integration.md +61 -445
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-room-list.md +32 -169
- package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -2
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
- package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
- package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +10 -49
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +26 -144
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +12 -75
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +36 -227
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +215 -0
- package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
- package/resource/doc/livekit/preset/live/vue/live-list-integration.md +241 -0
- package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +299 -0
- package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +300 -0
- package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +743 -0
- package/resource/doc/roomkit/vue/faq.md +1 -0
- package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
- package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
- package/resource/doc/roomkit/vue/features/device-state.md +24 -44
- package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
- package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
- package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
- package/resource/doc/roomkit/vue/features/room-state.md +25 -34
- package/resource/doc/roomkit/vue/features/room-view.md +30 -125
- package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
- package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
- package/resource/doc/roomkit/vue/features/virtual-background.md +13 -29
- package/resource/doc/roomkit/vue/integration.md +21 -76
- package/resource/doc/rtcengine/faq/common/error_code.md +1 -0
- package/resource/doc/rtcengine/faq/web/web.md +14 -24
- package/resource/doc/rtcengine/web/api.md +1 -3
- package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +3 -10
- package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +1 -5
- package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -2
- package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -4
- package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +3 -5
- package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +1 -7
- package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +0 -2
- package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -8
- package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +11 -11
- package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +12 -88
- package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -5
- package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +30 -37
- package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +13 -90
- package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -2
- package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -2
- package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +19 -19
- package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
- package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -5
- package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
- package/resource/doc/trtc/C++/ITRTCCloud.md +686 -2835
- package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +202 -1022
- package/resource/doc/trtc/C++/ITXDeviceManager.md +126 -767
- package/resource/doc/trtc/C++/TRTCCloudCallback.md +579 -2147
- package/resource/doc/trtc/C++/TRTCTypeDef.md +703 -3378
- package/resource/doc/trtc/C++/TXLiteAVCode.md +116 -908
- package/resource/doc/trtc/android/TRTCCloud.md +606 -2573
- package/resource/doc/trtc/android/TRTCCloudDef.md +752 -3640
- package/resource/doc/trtc/android/TRTCCloudListener.md +581 -2008
- package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
- package/resource/doc/trtc/android/TXAudioEffectManager.md +202 -1022
- package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
- package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
- package/resource/doc/trtc/android/TXLiteAVCode.md +114 -892
- package/resource/doc/trtc/iOS/TRTCCloud.md +694 -2904
- package/resource/doc/trtc/iOS/TRTCCloudDef.md +726 -3498
- package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +543 -2028
- package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
- package/resource/doc/trtc/iOS/TXAudioEffectManager.md +174 -877
- package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
- package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
- package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
- package/server.js +1 -5
- package/server.js.map +1 -1
- package/tools/call/get_callkit_api.js +32 -0
- package/tools/call/get_callkit_api.js.map +1 -0
- package/tools/call/get_native_call_uikit_integration.js +34 -0
- package/tools/call/get_native_call_uikit_integration.js.map +1 -0
- package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
- package/tools/call/get_web_call_uikit_integration.js.map +1 -0
- package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
- package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
- package/tools/chat/get_native_chat_uikit_integration.js +45 -0
- package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
- package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
- package/tools/chat/get_web_chat_uikit_integration.js +45 -0
- package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
- package/tools/common/get_faq.js +265 -0
- package/tools/common/get_faq.js.map +1 -0
- package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
- package/tools/common/get_usersig.js.map +1 -0
- package/tools/common/present_framework_choice.js +63 -0
- package/tools/common/present_framework_choice.js.map +1 -0
- package/tools/common/record_skill_session.js +58 -0
- package/tools/common/record_skill_session.js.map +1 -0
- package/tools/definitions/get_callkit_api_def.js +29 -0
- package/tools/definitions/get_callkit_api_def.js.map +1 -0
- package/tools/definitions/get_faq_def.js +17 -18
- package/tools/definitions/get_faq_def.js.map +1 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js +15 -34
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
- package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -41
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +34 -0
- package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js +34 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
- package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
- package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
- package/tools/definitions/get_usersig_def.js +17 -22
- package/tools/definitions/get_usersig_def.js.map +1 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +15 -18
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_livekit_api_def.js +30 -0
- package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
- package/tools/definitions/get_web_livekit_component_detail_def.js +32 -0
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +15 -46
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +31 -0
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_api_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
- package/tools/definitions/present_framework_choice_def.js +24 -12
- package/tools/definitions/present_framework_choice_def.js.map +1 -1
- package/tools/definitions/record_skill_session_def.js +31 -0
- package/tools/definitions/record_skill_session_def.js.map +1 -0
- package/tools/index.js +49 -61
- package/tools/index.js.map +1 -1
- package/tools/live/get_native_livekit_core_features.js +65 -0
- package/tools/live/get_native_livekit_core_features.js.map +1 -0
- package/tools/live/get_native_livekit_core_integration.js +59 -0
- package/tools/live/get_native_livekit_core_integration.js.map +1 -0
- package/tools/live/get_web_live_uikit_integration.js +48 -0
- package/tools/live/get_web_live_uikit_integration.js.map +1 -0
- package/tools/live/get_web_livekit_api.js +32 -0
- package/tools/live/get_web_livekit_api.js.map +1 -0
- package/tools/live/get_web_livekit_component_detail.js +34 -0
- package/tools/live/get_web_livekit_component_detail.js.map +1 -0
- package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
- package/tools/room/get_web_room_uikit_integration.js.map +1 -0
- package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
- package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
- package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
- package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
- package/utils/generate-structured-result.js +61 -17
- package/utils/generate-structured-result.js.map +1 -1
- package/utils/report-cls-client.js +21 -1
- package/utils/report-cls-client.js.map +1 -1
- package/utils/report-es-client.js +2 -2
- package/resource/doc/chatuikit/android/workflow.md +0 -713
- package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1371
- package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -932
- package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1119
- package/resource/doc/chatuikit/flutter/workflow.md +0 -941
- package/resource/doc/chatuikit/react/components/conversation-list.md +0 -1017
- package/resource/doc/chatuikit/react/components/search.md +0 -745
- package/resource/doc/chatuikit/react/create-group.md +0 -23
- package/resource/doc/chatuikit/react/init.md +0 -26
- package/resource/doc/chatuikit/react/workflow.md +0 -258
- package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
- package/resource/doc/chatuikit/vue/create-group.md +0 -25
- package/resource/doc/chatuikit/vue/init.md +0 -40
- package/resource/doc/chatuikit/vue/workflow.md +0 -395
- package/resource/doc/livekit/live/android/workflow.md +0 -320
- package/resource/doc/livekit/live/flutter/workflow.md +0 -353
- package/resource/doc/livekit/live/ios/workflow.md +0 -454
- package/resource/doc/livekit/live/vue/components/barrage.md +0 -616
- package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -446
- package/resource/doc/livekit/live/vue/faq.md +0 -0
- package/resource/doc/livekit/live/vue/live-list-integration.md +0 -200
- package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -269
- package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -269
- package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -595
- package/resource/doc/livekit/live/vue/states/live-state.md +0 -3591
- package/resource/doc/livekit/live/vue/workflow.md +0 -218
- package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -312
- package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -430
- package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -679
- package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -671
- package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -271
- package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
- package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
- package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
- package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
- package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -865
- package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -657
- package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -437
- package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -335
- package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
- package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -327
- package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -507
- package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
- package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -659
- package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
- package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -814
- package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1000
- package/resource/doc/roomkit/vue/features/workflow.md +0 -553
- package/resource/doc/roomkit/vue/workflow.md +0 -733
- package/resource/doc/tuicallkit/android/workflow.md +0 -441
- package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -784
- package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -610
- package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -938
- package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -897
- package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -469
- package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -781
- package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -398
- package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
- package/resource/doc/tuicallkit/react/api.md +0 -1404
- package/resource/doc/tuicallkit/vue/api.md +0 -1406
- package/resource/doc/tuicallkit/vue/faq.md +0 -36
- package/tools/call/get-native-call-integration.js +0 -43
- package/tools/call/get-native-call-integration.js.map +0 -1
- package/tools/call/get-web-call-api.js +0 -27
- package/tools/call/get-web-call-api.js.map +0 -1
- package/tools/call/get-web-call-integration.js.map +0 -1
- package/tools/chat/get-native-chat-feature-detail.js +0 -30
- package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
- package/tools/chat/get-native-chat-integration.js +0 -45
- package/tools/chat/get-native-chat-integration.js.map +0 -1
- package/tools/chat/get-web-chat-component-detail.js +0 -31
- package/tools/chat/get-web-chat-component-detail.js.map +0 -1
- package/tools/chat/get-web-chat-integration.js +0 -45
- package/tools/chat/get-web-chat-integration.js.map +0 -1
- package/tools/chat/get-web-chat-uikit-init.js +0 -28
- package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
- package/tools/chat/get-web-create-group-doc.js +0 -28
- package/tools/chat/get-web-create-group-doc.js.map +0 -1
- package/tools/common/get-faq.js +0 -91
- package/tools/common/get-faq.js.map +0 -1
- package/tools/common/get-usersig.js.map +0 -1
- package/tools/common/present-framework-choice.js +0 -16
- package/tools/common/present-framework-choice.js.map +0 -1
- package/tools/common/present-scenario-choice.js +0 -16
- package/tools/common/present-scenario-choice.js.map +0 -1
- package/tools/common/record-prompt.js +0 -55
- package/tools/common/record-prompt.js.map +0 -1
- package/tools/common/record-result.js +0 -60
- package/tools/common/record-result.js.map +0 -1
- package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
- package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_native_live_api_def.js +0 -23
- package/tools/definitions/get_native_live_api_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -87
- package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_integration_def.js +0 -75
- package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -63
- package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
- package/tools/definitions/get_trtc_native_api_def.js +0 -16
- package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
- package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
- package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
- package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
- package/tools/definitions/get_web_create_group_doc_def.js +0 -18
- package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
- package/tools/definitions/get_web_live_state_detail_def.js +0 -19
- package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
- package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
- package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_feature_detail_def.js +0 -92
- package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_state_detail_def.js +0 -19
- package/tools/definitions/get_web_room_state_detail_def.js.map +0 -1
- package/tools/definitions/present_scenario_choice_def.js +0 -53
- package/tools/definitions/present_scenario_choice_def.js.map +0 -1
- package/tools/definitions/record_prompt_def.js +0 -58
- package/tools/definitions/record_prompt_def.js.map +0 -1
- package/tools/definitions/record_result_def.js +0 -46
- package/tools/definitions/record_result_def.js.map +0 -1
- package/tools/live/get-native-live-uikit-integration.js +0 -177
- package/tools/live/get-native-live-uikit-integration.js.map +0 -1
- package/tools/live/get-web-live-component-detail.js +0 -31
- package/tools/live/get-web-live-component-detail.js.map +0 -1
- package/tools/live/get-web-live-state-detail.js +0 -31
- package/tools/live/get-web-live-state-detail.js.map +0 -1
- package/tools/live/get-web-live-uikit-integration.js +0 -52
- package/tools/live/get-web-live-uikit-integration.js.map +0 -1
- package/tools/live/get_native_live_uikit_extra_features.js +0 -105
- package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
- package/tools/live/get_native_live_uikit_interaction.js +0 -194
- package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
- package/tools/native_live/get-native-live-api.js +0 -31
- package/tools/native_live/get-native-live-api.js.map +0 -1
- package/tools/room/get-web-room-feature-detail.js.map +0 -1
- package/tools/room/get-web-room-integration.js.map +0 -1
- package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
- package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
- package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
- package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
- package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
- package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
- package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
- package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
- package/tools/trtc/get-trtc-native-api.js +0 -31
- package/tools/trtc/get-trtc-native-api.js.map +0 -1
- package/utils/handle-component-name.js +0 -33
- package/utils/handle-component-name.js.map +0 -1
- /package/resource/doc/{chatuikit/iOS/workflow.md → callkit/core-sdk/.gitkeep} +0 -0
- /package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +0 -0
- /package/resource/doc/{tuicallkit/react/faq.md → callkit/faq/web-faq.md} +0 -0
- /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
- /package/resource/doc/roomkit/faq/common/{error_code.md → error-code.md} +0 -0
|
@@ -1,77 +1,24 @@
|
|
|
1
1
|
This document guides you through building a voice chat room application with host broadcasting and audience participation features using the **AtomicXCore** SDK's `LiveListStore` and `LiveSeatStore`.
|
|
2
2
|
|
|
3
3
|
## Core Concepts
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<tr>
|
|
14
|
-
<td rowspan="1" colSpan="1" >`LiveListStore`</td>
|
|
15
|
-
|
|
16
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
17
|
-
|
|
18
|
-
<td rowspan="1" colSpan="1" >- `createLive()`: Start live stream as host.<br>- `endLive()`: End live stream as host.<br>- `joinLive()`: Audience joins live room.<br>- `leaveLive()`: Leave live room.</td>
|
|
19
|
-
</tr>
|
|
20
|
-
|
|
21
|
-
<tr>
|
|
22
|
-
<td rowspan="1" colSpan="1" >`LiveInfo`</td>
|
|
23
|
-
|
|
24
|
-
<td rowspan="1" colSpan="1" >`struct`</td>
|
|
25
|
-
|
|
26
|
-
<td rowspan="1" colSpan="1" >- `liveID`: Unique room identifier.<br>- `seatLayoutTemplateID`: Layout template ID (e.g., 600 for dynamic grid).</td>
|
|
27
|
-
</tr>
|
|
28
|
-
|
|
29
|
-
<tr>
|
|
30
|
-
<td rowspan="1" colSpan="1" >`LiveSeatStore`</td>
|
|
31
|
-
|
|
32
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
33
|
-
|
|
34
|
-
<td rowspan="1" colSpan="1" >- Core seat management class. Manages all seat information and seat-related operations in the room.<br>- Provides a real-time seat list data stream via liveSeatState.seatList.</td>
|
|
35
|
-
</tr>
|
|
36
|
-
|
|
37
|
-
<tr>
|
|
38
|
-
<td rowspan="1" colSpan="1" >`LiveSeatState`</td>
|
|
39
|
-
|
|
40
|
-
<td rowspan="1" colSpan="1" >`struct`</td>
|
|
41
|
-
|
|
42
|
-
<td rowspan="1" colSpan="1" >Represents the current state of all seats.<br>- `seatList`: a StateFlow containing the real-time seat list.<br>- `speakingUsers`: users currently speaking and their volume.</td>
|
|
43
|
-
</tr>
|
|
44
|
-
|
|
45
|
-
<tr>
|
|
46
|
-
<td rowspan="1" colSpan="1" >`SeatInfo`</td>
|
|
47
|
-
|
|
48
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
49
|
-
|
|
50
|
-
<td rowspan="1" colSpan="1" >Data model for a single seat. The seat list (seatList) emitted by LiveSeatStore is a list of SeatInfo objects.<br>Key fields:<br>- `index`: seat position.<br>- `isLocked`: whether the seat is locked.<br>- `userInfo`: user information for the seat. If the seat is empty, this field is empty.</td>
|
|
51
|
-
</tr>
|
|
52
|
-
|
|
53
|
-
<tr>
|
|
54
|
-
<td rowspan="1" colSpan="1" >`SeatUserInfo`</td>
|
|
55
|
-
|
|
56
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
57
|
-
|
|
58
|
-
<td rowspan="1" colSpan="1" >Detailed data model for the user occupying a seat. When a user successfully takes a seat, the userInfo field in SeatInfo is populated.<br>Key fields:<br>- `userID`: unique user ID.<br>- `userName`: user nickname.<br>- `avatarURL`: user avatar URL.<br>- `microphoneStatus`: microphone status (on/off).<br>- `cameraStatus`: camera status (on/off).</td>
|
|
59
|
-
</tr>
|
|
60
|
-
</table>
|
|
61
|
-
|
|
4
|
+
| **Core Concept** | **Type** | **Core Responsibilities & Description** |
|
|
5
|
+
| --- | --- | --- |
|
|
6
|
+
| `LiveListStore` | `class` | - `createLive()`: Start live stream as host.<br>- `endLive()`: End live stream as host.<br>- `joinLive()`: Audience joins live room.<br>- `leaveLive()`: Leave live room. |
|
|
7
|
+
| `LiveInfo` | `struct` | - `liveID`: Unique room identifier.<br>- `seatLayoutTemplateID`: Layout template ID (e.g., 600 for dynamic grid). |
|
|
8
|
+
| `LiveSeatStore` | `class` | - Core seat management class. Manages all seat information and seat-related operations in the room.<br>- Provides a real-time seat list data stream via liveSeatState.seatList. |
|
|
9
|
+
| `LiveSeatState` | `struct` | Represents the current state of all seats.<br>- `seatList`: a StateFlow containing the real-time seat list.<br>- `speakingUsers`: users currently speaking and their volume. |
|
|
10
|
+
| `SeatInfo` | `class` | Data model for a single seat. The seat list (seatList) emitted by LiveSeatStore is a list of SeatInfo objects.<br>Key fields:<br>- `index`: seat position.<br>- `isLocked`: whether the seat is locked.<br>- `userInfo`: user information for the seat. If the seat is empty, this field is empty. |
|
|
11
|
+
| `SeatUserInfo` | `class` | Detailed data model for the user occupying a seat. When a user successfully takes a seat, the userInfo field in SeatInfo is populated.<br>Key fields:<br>- `userID`: unique user ID.<br>- `userName`: user nickname.<br>- `avatarURL`: user avatar URL.<br>- `microphoneStatus`: microphone status (on/off).<br>- `cameraStatus`: camera status (on/off). |
|
|
62
12
|
|
|
63
13
|
## Prerequisites
|
|
64
14
|
|
|
65
15
|
### Step 1: Activate the Service
|
|
66
16
|
|
|
67
|
-
See
|
|
17
|
+
See Activate Service to obtain either the trial or paid version of the SDK.Then, go to [the Console](https://console.trtc.io/app) for application management, and get the following:
|
|
68
18
|
- `SDKAppID`: Application identifier (required). Tencent Cloud uses `SDKAppID` for billing and details.
|
|
69
19
|
|
|
70
20
|
- `SDKSecretKey`: Application secret key, used to initialize the configuration file with secret information.
|
|
71
21
|
|
|
72
|
-

|
|
73
|
-
|
|
74
|
-
|
|
75
22
|
### Step 2: Import AtomicXCore into Your Project
|
|
76
23
|
1. **Install the Component**: Add `pod 'AtomicXCore'` to your `Podfile`, then run `pod install`.
|
|
77
24
|
|
|
@@ -86,18 +33,16 @@ See [Activate Service](https://write.woa.com/document/141936672617742336) to obt
|
|
|
86
33
|
<key>NSMicrophoneUsageDescription</key>
|
|
87
34
|
<string>TUILiveKit needs microphone permission to enable sound in recorded videos</string>
|
|
88
35
|
```
|
|
89
|
-

|
|
90
|
-
|
|
91
36
|
|
|
92
37
|
### Step 3: Implement Login Logic
|
|
93
38
|
|
|
94
39
|
Call `LoginStore.shared.login` in your project to complete authentication. **This is required before using any functionality of AtomicXCore**.
|
|
95
40
|
|
|
96
41
|
> **Note:**
|
|
97
|
-
>
|
|
42
|
+
>
|
|
98
43
|
|
|
99
44
|
> We recommend calling LoginStore.shared.login only after your app's own user authentication is successful, to ensure clear and consistent login logic.
|
|
100
|
-
>
|
|
45
|
+
>
|
|
101
46
|
|
|
102
47
|
``` swift
|
|
103
48
|
import AtomicXCore
|
|
@@ -119,40 +64,11 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
119
64
|
```
|
|
120
65
|
|
|
121
66
|
**Login API Parameter Description**
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
<td rowspan="1" colSpan="1" >Description</td>
|
|
129
|
-
</tr>
|
|
130
|
-
|
|
131
|
-
<tr>
|
|
132
|
-
<td rowspan="1" colSpan="1" >`sdkAppID`</td>
|
|
133
|
-
|
|
134
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
135
|
-
|
|
136
|
-
<td rowspan="1" colSpan="1" >Get this from [TRTC console > Application management](https://console.trtc.io/app).</td>
|
|
137
|
-
</tr>
|
|
138
|
-
|
|
139
|
-
<tr>
|
|
140
|
-
<td rowspan="1" colSpan="1" >`userID`</td>
|
|
141
|
-
|
|
142
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
143
|
-
|
|
144
|
-
<td rowspan="1" colSpan="1" >The unique ID for the current user. Must contain only English letters, numbers, hyphens, and underscores.</td>
|
|
145
|
-
</tr>
|
|
146
|
-
|
|
147
|
-
<tr>
|
|
148
|
-
<td rowspan="1" colSpan="1" >`userSig`</td>
|
|
149
|
-
|
|
150
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
151
|
-
|
|
152
|
-
<td rowspan="1" colSpan="1" >A ticket for Tencent Cloud authentication. Please note:<br>- **Development Environment**: You can use the local `GenerateTestUserSig.genTestSig` function to generate a UserSig or generate a temporary UserSig via the [UserSig Generation Tool](https://console.trtc.io/usersig).<br>- **Production Environment**: To prevent key leakage, you must use a server-side method to generate UserSig. For details, see [Generating UserSig on the Server](https://write.woa.com/document/89644530319802368).<br>- For more information, see [How to Calculate and Use UserSig](https://write.woa.com/document/89644530319802368).</td>
|
|
153
|
-
</tr>
|
|
154
|
-
</table>
|
|
155
|
-
|
|
67
|
+
| Parameter | Type | Description |
|
|
68
|
+
| --- | --- | --- |
|
|
69
|
+
| `sdkAppID` | `Int` | Get this from [TRTC console > Application management](https://console.trtc.io/app). |
|
|
70
|
+
| `userID` | `String` | The unique ID for the current user. Must contain only English letters, numbers, hyphens, and underscores. |
|
|
71
|
+
| `userSig` | `String` | A ticket for Tencent Cloud authentication. Please note:<br>- **Development Environment**: You can use the local `GenerateTestUserSig.genTestSig` function to generate a UserSig or generate a temporary UserSig via the [UserSig Generation Tool](https://console.trtc.io/usersig).<br>- **Production Environment**: To prevent key leakage, you must use a server-side method to generate UserSig. For details, see Generating UserSig on the Server.<br>- For more information, see How to Calculate and Use UserSig. |
|
|
156
72
|
|
|
157
73
|
## Building a Basic Voice Chat Room
|
|
158
74
|
|
|
@@ -183,7 +99,7 @@ class YourAnchorViewController: UIViewController {
|
|
|
183
99
|
override func viewDidLoad() {
|
|
184
100
|
super.viewDidLoad()
|
|
185
101
|
// Initialize your layout here
|
|
186
|
-
// setupUI()
|
|
102
|
+
// setupUI()
|
|
187
103
|
|
|
188
104
|
// Listen for seat list changes
|
|
189
105
|
observeSeatList()
|
|
@@ -231,7 +147,7 @@ import AtomicXCore
|
|
|
231
147
|
class YourAnchorViewController: UIViewController {
|
|
232
148
|
// ... other code ...
|
|
233
149
|
private let liveID = "test_voice_room_001"
|
|
234
|
-
|
|
150
|
+
|
|
235
151
|
override func viewDidLoad() {
|
|
236
152
|
super.viewDidLoad()
|
|
237
153
|
// ... other code ...
|
|
@@ -245,11 +161,8 @@ class YourAnchorViewController: UIViewController {
|
|
|
245
161
|
|
|
246
162
|
liveInfo.liveID = liveID
|
|
247
163
|
liveInfo.liveName = "test voice chat room"
|
|
248
|
-
liveInfo.
|
|
249
|
-
liveInfo.keepOwnerOnSeat = true
|
|
250
|
-
liveInfo.seatLayoutTemplateID = 70 // Use correct ID per product spec
|
|
164
|
+
liveInfo.seatTemplate = SeatLayoutTemplate.AudioSalon(seatCount: 9) // Set the live streaming template to the voice chat room template, with 9 seats
|
|
251
165
|
liveInfo.seatMode = .apply
|
|
252
|
-
liveInfo.maxSeatCount = 10
|
|
253
166
|
|
|
254
167
|
liveListStore.createLive(liveInfo) { [weak self] result in
|
|
255
168
|
guard let self = self else { return }
|
|
@@ -267,177 +180,28 @@ class YourAnchorViewController: UIViewController {
|
|
|
267
180
|
```
|
|
268
181
|
|
|
269
182
|
**LiveInfo Parameter Reference:**
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
285
|
-
|
|
286
|
-
<td rowspan="1" colSpan="1" >Required</td>
|
|
287
|
-
|
|
288
|
-
<td rowspan="1" colSpan="1" >Unique identifier for the live room</td>
|
|
289
|
-
</tr>
|
|
290
|
-
|
|
291
|
-
<tr>
|
|
292
|
-
<td rowspan="1" colSpan="1" >`liveName`</td>
|
|
293
|
-
|
|
294
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
295
|
-
|
|
296
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
297
|
-
|
|
298
|
-
<td rowspan="1" colSpan="1" >Room title</td>
|
|
299
|
-
</tr>
|
|
300
|
-
|
|
301
|
-
<tr>
|
|
302
|
-
<td rowspan="1" colSpan="1" >`notice`</td>
|
|
303
|
-
|
|
304
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
305
|
-
|
|
306
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
307
|
-
|
|
308
|
-
<td rowspan="1" colSpan="1" >Room announcement</td>
|
|
309
|
-
</tr>
|
|
310
|
-
|
|
311
|
-
<tr>
|
|
312
|
-
<td rowspan="1" colSpan="1" >`isMessageDisable`</td>
|
|
313
|
-
|
|
314
|
-
<td rowspan="1" colSpan="1" >`Bool`</td>
|
|
315
|
-
|
|
316
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
317
|
-
|
|
318
|
-
<td rowspan="1" colSpan="1" >Mute chat (`true`: muted, `false`: not muted)</td>
|
|
319
|
-
</tr>
|
|
320
|
-
|
|
321
|
-
<tr>
|
|
322
|
-
<td rowspan="1" colSpan="1" >`isPublicVisible`</td>
|
|
323
|
-
|
|
324
|
-
<td rowspan="1" colSpan="1" >`Bool`</td>
|
|
325
|
-
|
|
326
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
327
|
-
|
|
328
|
-
<td rowspan="1" colSpan="1" >Public visibility (`true`: visible, `false`: not visible)</td>
|
|
329
|
-
</tr>
|
|
330
|
-
|
|
331
|
-
<tr>
|
|
332
|
-
<td rowspan="1" colSpan="1" >`isSeatEnabled`</td>
|
|
333
|
-
|
|
334
|
-
<td rowspan="1" colSpan="1" >`Bool`</td>
|
|
335
|
-
|
|
336
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
337
|
-
|
|
338
|
-
<td rowspan="1" colSpan="1" >Enable seat feature (`true`: enabled, `false`: disabled)</td>
|
|
339
|
-
</tr>
|
|
340
|
-
|
|
341
|
-
<tr>
|
|
342
|
-
<td rowspan="1" colSpan="1" >`keepOwnerOnSeat`</td>
|
|
343
|
-
|
|
344
|
-
<td rowspan="1" colSpan="1" >`Bool`</td>
|
|
345
|
-
|
|
346
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
347
|
-
|
|
348
|
-
<td rowspan="1" colSpan="1" >Keep host on seat</td>
|
|
349
|
-
</tr>
|
|
350
|
-
|
|
351
|
-
<tr>
|
|
352
|
-
<td rowspan="1" colSpan="1" >`maxSeatCount`</td>
|
|
353
|
-
|
|
354
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
355
|
-
|
|
356
|
-
<td rowspan="1" colSpan="1" >Required</td>
|
|
357
|
-
|
|
358
|
-
<td rowspan="1" colSpan="1" >Maximum number of seats</td>
|
|
359
|
-
</tr>
|
|
360
|
-
|
|
361
|
-
<tr>
|
|
362
|
-
<td rowspan="1" colSpan="1" >`seatMode`</td>
|
|
363
|
-
|
|
364
|
-
<td rowspan="1" colSpan="1" >`TakeSeatMode`</td>
|
|
365
|
-
|
|
366
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
367
|
-
|
|
368
|
-
<td rowspan="1" colSpan="1" >Seat mode (`.free`: free seat, `.apply`: apply for seat)</td>
|
|
369
|
-
</tr>
|
|
370
|
-
|
|
371
|
-
<tr>
|
|
372
|
-
<td rowspan="1" colSpan="1" >`seatLayoutTemplateID`</td>
|
|
373
|
-
|
|
374
|
-
<td rowspan="1" colSpan="1" >`UInt`</td>
|
|
375
|
-
|
|
376
|
-
<td rowspan="1" colSpan="1" >Required</td>
|
|
377
|
-
|
|
378
|
-
<td rowspan="1" colSpan="1" >Seat layout template ID</td>
|
|
379
|
-
</tr>
|
|
380
|
-
|
|
381
|
-
<tr>
|
|
382
|
-
<td rowspan="1" colSpan="1" >`coverURL`</td>
|
|
383
|
-
|
|
384
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
385
|
-
|
|
386
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
387
|
-
|
|
388
|
-
<td rowspan="1" colSpan="1" >Room cover image URL</td>
|
|
389
|
-
</tr>
|
|
390
|
-
|
|
391
|
-
<tr>
|
|
392
|
-
<td rowspan="1" colSpan="1" >`backgroundURL`</td>
|
|
393
|
-
|
|
394
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
395
|
-
|
|
396
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
397
|
-
|
|
398
|
-
<td rowspan="1" colSpan="1" >Room background image URL</td>
|
|
399
|
-
</tr>
|
|
400
|
-
|
|
401
|
-
<tr>
|
|
402
|
-
<td rowspan="1" colSpan="1" >`categoryList`</td>
|
|
403
|
-
|
|
404
|
-
<td rowspan="1" colSpan="1" >`[NSNumber]`</td>
|
|
405
|
-
|
|
406
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
407
|
-
|
|
408
|
-
<td rowspan="1" colSpan="1" >Room category tags</td>
|
|
409
|
-
</tr>
|
|
410
|
-
|
|
411
|
-
<tr>
|
|
412
|
-
<td rowspan="1" colSpan="1" >`activityStatus`</td>
|
|
413
|
-
|
|
414
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
415
|
-
|
|
416
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
417
|
-
|
|
418
|
-
<td rowspan="1" colSpan="1" >Live activity status</td>
|
|
419
|
-
</tr>
|
|
420
|
-
|
|
421
|
-
<tr>
|
|
422
|
-
<td rowspan="1" colSpan="1" >`isGiftEnabled`</td>
|
|
423
|
-
|
|
424
|
-
<td rowspan="1" colSpan="1" >`Bool`</td>
|
|
425
|
-
|
|
426
|
-
<td rowspan="1" colSpan="1" >Optional</td>
|
|
427
|
-
|
|
428
|
-
<td rowspan="1" colSpan="1" >Enable gift feature (`true`: enabled, `false`: disabled)</td>
|
|
429
|
-
</tr>
|
|
430
|
-
</table>
|
|
431
|
-
|
|
183
|
+
| **Parameter Name** | **Type** | **Required** | **Description** |
|
|
184
|
+
| --- | --- | --- | --- |
|
|
185
|
+
| `liveID` | `String` | Required | Unique identifier for the live room |
|
|
186
|
+
| `liveName` | `String` | Optional | Room title |
|
|
187
|
+
| `notice` | `String` | Optional | Room announcement |
|
|
188
|
+
| `isMessageDisable` | `Bool` | Optional | Mute chat (`true`: muted, `false`: not muted) |
|
|
189
|
+
| `isPublicVisible` | `Bool` | Optional | Public visibility (`true`: visible, `false`: not visible) |
|
|
190
|
+
| `seatMode` | `TakeSeatMode` | Optional | Seat mode (`.free`: free seat, `.apply`: apply for seat) |
|
|
191
|
+
| `seatTemplate` | `SeatLayoutTemplate` | Required | Seat layout template ID |
|
|
192
|
+
| `coverURL` | `String` | Optional | Room cover image URL |
|
|
193
|
+
| `backgroundURL` | `String` | Optional | Room background image URL |
|
|
194
|
+
| `categoryList` | `[NSNumber]` | Optional | Room category tags |
|
|
195
|
+
| `activityStatus` | `Int` | Optional | Live activity status |
|
|
196
|
+
| `isGiftEnabled` | `Bool` | Optional | Enable gift feature (`true`: enabled, `false`: disabled) |
|
|
432
197
|
|
|
433
198
|
#### **4. Build the Mic Seat UI**
|
|
434
199
|
|
|
435
200
|
> **Note:**
|
|
436
|
-
>
|
|
201
|
+
>
|
|
437
202
|
|
|
438
203
|
> For seat UI logic and effects, refer to the open-source [SeatGridView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/SeatGridview/SeatGridView.swift) in TUILiveKit.
|
|
439
|
-
>
|
|
440
|
-
|
|
204
|
+
>
|
|
441
205
|
|
|
442
206
|
Use your `LiveSeatStore` instance to subscribe to `state.seatList` and update the UI in real time:
|
|
443
207
|
``` swift
|
|
@@ -512,7 +276,7 @@ class YourAudienceViewController: UIViewController {
|
|
|
512
276
|
private let liveListStore = LiveListStore.shared
|
|
513
277
|
|
|
514
278
|
// Use the same liveID as the host
|
|
515
|
-
private let liveID = "test_voice_room_001"
|
|
279
|
+
private let liveID = "test_voice_room_001"
|
|
516
280
|
private lazy var liveSeatStore = LiveSeatStore.create(liveID: liveID)
|
|
517
281
|
|
|
518
282
|
private var cancellables = Set<AnyCancellable>()
|
|
@@ -574,7 +338,7 @@ class YourAudienceViewController: UIViewController {
|
|
|
574
338
|
|
|
575
339
|
#### **3. Build the Mic Seat UI**
|
|
576
340
|
|
|
577
|
-
Building the seat UI for audience members is identical to the host process. Refer to the host
|
|
341
|
+
Building the seat UI for audience members is identical to the host process. Refer to the host Build the Mic Seat UI.
|
|
578
342
|
|
|
579
343
|
#### **4. Leave the Voice Chat Room**
|
|
580
344
|
|
|
@@ -585,7 +349,7 @@ import AtomicXCore
|
|
|
585
349
|
|
|
586
350
|
class YourAudienceViewController: UIViewController {
|
|
587
351
|
// ... other code ...
|
|
588
|
-
|
|
352
|
+
|
|
589
353
|
private func leaveLive() {
|
|
590
354
|
liveListStore.leaveLive { result in
|
|
591
355
|
switch result {
|
|
@@ -603,8 +367,6 @@ class YourAudienceViewController: UIViewController {
|
|
|
603
367
|
|
|
604
368
|
After completing these steps, you will have a functional voice chat live streaming room. For advanced features, see "Enriching Voice Chat Room Scenarios" below.
|
|
605
369
|
|
|
606
|
-

|
|
607
|
-
|
|
608
370
|
## Advanced Features
|
|
609
371
|
|
|
610
372
|
### Implementing Speaking Wave Animation for Users on Seat
|
|
@@ -613,17 +375,13 @@ In voice chat rooms, it's common to show a wave animation over the avatar of use
|
|
|
613
375
|
|
|
614
376
|
#### Example
|
|
615
377
|
|
|
616
|
-

|
|
617
|
-
|
|
618
|
-
|
|
619
378
|
#### Implementation
|
|
620
379
|
|
|
621
380
|
> **Note:**
|
|
622
|
-
>
|
|
381
|
+
>
|
|
623
382
|
|
|
624
383
|
> For a complete implementation of the speaking wave animation, refer to [SeatGridView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/SeatGridview/SeatGridView.swift) in TUILiveKit.
|
|
625
|
-
>
|
|
626
|
-
|
|
384
|
+
>
|
|
627
385
|
|
|
628
386
|
In your `YourAnchorViewController` or `YourAudienceViewController`, subscribe to `speakingUsers` and update the UI accordingly:
|
|
629
387
|
``` swift
|
|
@@ -643,7 +401,7 @@ class YourAnchorViewController: UIViewController {
|
|
|
643
401
|
}
|
|
644
402
|
|
|
645
403
|
private func observeSpeakingUsersState() {
|
|
646
|
-
liveSeatStore.state
|
|
404
|
+
liveSeatStore.state
|
|
647
405
|
.subscribe(StatePublisherSelector(keyPath: \LiveSeatState.speakingUsers))
|
|
648
406
|
.removeDuplicates()
|
|
649
407
|
.receive(on: DispatchQueue.main)
|
|
@@ -665,7 +423,6 @@ In live streaming room, the host may need to synchronize custom information to a
|
|
|
665
423
|
|
|
666
424
|
2. On the audience side, subscribe to `LiveListState.currentLive` and listen for changes in `metaData`. When a relevant key is updated, parse its value and update your business state.
|
|
667
425
|
|
|
668
|
-
|
|
669
426
|
#### Code Example
|
|
670
427
|
``` swift
|
|
671
428
|
import AtomicXCore
|
|
@@ -717,166 +474,28 @@ private func subscribeToDataUpdates() {
|
|
|
717
474
|
## Enriching Voice Chat Room Scenarios
|
|
718
475
|
|
|
719
476
|
After implementing the basic voice chat room, enhance your application with the following features:
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
<td rowspan="1" colSpan="1" >**Store**</td>
|
|
727
|
-
|
|
728
|
-
<td rowspan="1" colSpan="1" >**Implementation Guide**</td>
|
|
729
|
-
</tr>
|
|
730
|
-
|
|
731
|
-
<tr>
|
|
732
|
-
<td rowspan="1" colSpan="1" >**Audience Take Seat**</td>
|
|
733
|
-
|
|
734
|
-
<td rowspan="1" colSpan="1" >Audience members can apply to take a seat and interact with the host in real time.</td>
|
|
735
|
-
|
|
736
|
-
<td rowspan="1" colSpan="1" >[CoGuestStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore)</td>
|
|
737
|
-
|
|
738
|
-
<td rowspan="1" colSpan="1" >[Implementation](https://write.woa.com/document/194571595735859200)</td>
|
|
739
|
-
</tr>
|
|
740
|
-
|
|
741
|
-
<tr>
|
|
742
|
-
<td rowspan="1" colSpan="1" >**Host Cross-Room PK**</td>
|
|
743
|
-
|
|
744
|
-
<td rowspan="1" colSpan="1" >Hosts from different rooms can connect for interaction or PK.</td>
|
|
745
|
-
|
|
746
|
-
<td rowspan="1" colSpan="1" >[CoHostStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore)<br>[BattleStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore)</td>
|
|
747
|
-
|
|
748
|
-
<td rowspan="1" colSpan="1" >[Implementation](https://write.woa.com/document/194571595881611264)</td>
|
|
749
|
-
</tr>
|
|
750
|
-
|
|
751
|
-
<tr>
|
|
752
|
-
<td rowspan="1" colSpan="1" >**Add Barrage Chat**</td>
|
|
753
|
-
|
|
754
|
-
<td rowspan="1" colSpan="1" >Room members can send and receive real-time text messages.</td>
|
|
755
|
-
|
|
756
|
-
<td rowspan="1" colSpan="1" >[BarrageStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore)</td>
|
|
757
|
-
|
|
758
|
-
<td rowspan="1" colSpan="1" >[Implementation](https://write.woa.com/document/195218523643924480)</td>
|
|
759
|
-
</tr>
|
|
760
|
-
|
|
761
|
-
<tr>
|
|
762
|
-
<td rowspan="1" colSpan="1" >**Gift System**</td>
|
|
763
|
-
|
|
764
|
-
<td rowspan="1" colSpan="1" >Audience can send virtual gifts to hosts to increase interaction and engagement.</td>
|
|
765
|
-
|
|
766
|
-
<td rowspan="1" colSpan="1" >[GiftStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore)</td>
|
|
767
|
-
|
|
768
|
-
<td rowspan="1" colSpan="1" >[Implementation](https://write.woa.com/document/195218406733824000)</td>
|
|
769
|
-
</tr>
|
|
770
|
-
</table>
|
|
771
|
-
|
|
477
|
+
| **Feature** | **Description** | **Store** | **Implementation Guide** |
|
|
478
|
+
| --- | --- | --- | --- |
|
|
479
|
+
| **Audience Take Seat** | Audience members can apply to take a seat and interact with the host in real time. | [CoGuestStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore) | Implementation |
|
|
480
|
+
| **Host Cross-Room PK** | Hosts from different rooms can connect for interaction or PK. | [CoHostStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore)<br>[BattleStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore) | Implementation |
|
|
481
|
+
| **Add Barrage Chat** | Room members can send and receive real-time text messages. | [BarrageStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore) | Implementation |
|
|
482
|
+
| **Gift System** | Audience can send virtual gifts to hosts to increase interaction and engagement. | [GiftStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore) | Implementation |
|
|
772
483
|
|
|
773
484
|
## API Documentation
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveliststore)</td>
|
|
789
|
-
</tr>
|
|
790
|
-
|
|
791
|
-
<tr>
|
|
792
|
-
<td rowspan="1" colSpan="1" >`LiveSeatStore`</td>
|
|
793
|
-
|
|
794
|
-
<td rowspan="1" colSpan="1" >Seat management: handle seat list, user status, seat operations (take seat, leave seat, kick, lock, toggle mic/camera), and seat events.</td>
|
|
795
|
-
|
|
796
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveseatstore)</td>
|
|
797
|
-
</tr>
|
|
798
|
-
|
|
799
|
-
<tr>
|
|
800
|
-
<td rowspan="1" colSpan="1" >`DeviceStore`</td>
|
|
801
|
-
|
|
802
|
-
<td rowspan="1" colSpan="1" >Audio/video device control: microphone, camera, screen sharing, device status monitoring.</td>
|
|
803
|
-
|
|
804
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/devicestore/)</td>
|
|
805
|
-
</tr>
|
|
806
|
-
|
|
807
|
-
<tr>
|
|
808
|
-
<td rowspan="1" colSpan="1" >`CoGuestStore`</td>
|
|
809
|
-
|
|
810
|
-
<td rowspan="1" colSpan="1" >Audience co-host management: application, invitation, acceptance, rejection, member permissions, status sync.</td>
|
|
811
|
-
|
|
812
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore/)</td>
|
|
813
|
-
</tr>
|
|
814
|
-
|
|
815
|
-
<tr>
|
|
816
|
-
<td rowspan="1" colSpan="1" >`CoHostStore`</td>
|
|
817
|
-
|
|
818
|
-
<td rowspan="1" colSpan="1" >Host cross-room connection: supports multiple layouts, initiate/accept/reject connection, manage co-host interaction.</td>
|
|
819
|
-
|
|
820
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore/)</td>
|
|
821
|
-
</tr>
|
|
822
|
-
|
|
823
|
-
<tr>
|
|
824
|
-
<td rowspan="1" colSpan="1" >`BattleStore`</td>
|
|
825
|
-
|
|
826
|
-
<td rowspan="1" colSpan="1" >Host PK battle: initiate PK, manage PK status, synchronize scores, listen for battle results.</td>
|
|
827
|
-
|
|
828
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore)</td>
|
|
829
|
-
</tr>
|
|
830
|
-
|
|
831
|
-
<tr>
|
|
832
|
-
<td rowspan="1" colSpan="1" >`GiftStore`</td>
|
|
833
|
-
|
|
834
|
-
<td rowspan="1" colSpan="1" >Gift interaction: fetch gift list, send/receive gifts, listen for gift events.</td>
|
|
835
|
-
|
|
836
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore/)</td>
|
|
837
|
-
</tr>
|
|
838
|
-
|
|
839
|
-
<tr>
|
|
840
|
-
<td rowspan="1" colSpan="1" >`BarrageStore`</td>
|
|
841
|
-
|
|
842
|
-
<td rowspan="1" colSpan="1" >Barrage (chat overlay): send text/custom barrage, maintain barrage list, monitor barrage status.</td>
|
|
843
|
-
|
|
844
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore)</td>
|
|
845
|
-
</tr>
|
|
846
|
-
|
|
847
|
-
<tr>
|
|
848
|
-
<td rowspan="1" colSpan="1" >`LikeStore`</td>
|
|
849
|
-
|
|
850
|
-
<td rowspan="1" colSpan="1" >Like interaction: send likes, listen for like events, synchronize like count.</td>
|
|
851
|
-
|
|
852
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/likestore)</td>
|
|
853
|
-
</tr>
|
|
854
|
-
|
|
855
|
-
<tr>
|
|
856
|
-
<td rowspan="1" colSpan="1" >`LiveAudienceStore`</td>
|
|
857
|
-
|
|
858
|
-
<td rowspan="1" colSpan="1" >Audience management: get real-time audience list, count, entry/exit events.</td>
|
|
859
|
-
|
|
860
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore)</td>
|
|
861
|
-
</tr>
|
|
862
|
-
|
|
863
|
-
<tr>
|
|
864
|
-
<td rowspan="1" colSpan="1" >`AudioEffectStore`</td>
|
|
865
|
-
|
|
866
|
-
<td rowspan="1" colSpan="1" >Audio effects: voice change, reverb, in-ear monitoring, effect switching.</td>
|
|
867
|
-
|
|
868
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/audioeffectstore)</td>
|
|
869
|
-
</tr>
|
|
870
|
-
|
|
871
|
-
<tr>
|
|
872
|
-
<td rowspan="1" colSpan="1" >`BaseBeautyStore`</td>
|
|
873
|
-
|
|
874
|
-
<td rowspan="1" colSpan="1" >Basic beauty: adjust smoothing/whitening/redness (0-100), reset beauty status, synchronize effect parameters.</td>
|
|
875
|
-
|
|
876
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/basebeautystore)</td>
|
|
877
|
-
</tr>
|
|
878
|
-
</table>
|
|
879
|
-
|
|
485
|
+
| **Store/Component** | **Description** | **API Docs** |
|
|
486
|
+
| --- | --- | --- |
|
|
487
|
+
| `LiveListStore` | Manages the full live room lifecycle: create, join, leave, destroy room; query room list; modify room info; listen for room status changes. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveliststore) |
|
|
488
|
+
| `LiveSeatStore` | Seat management: handle seat list, user status, seat operations (take seat, leave seat, kick, lock, toggle mic/camera), and seat events. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveseatstore) |
|
|
489
|
+
| `DeviceStore` | Audio/video device control: microphone, camera, screen sharing, device status monitoring. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/devicestore/) |
|
|
490
|
+
| `CoGuestStore` | Audience co-host management: application, invitation, acceptance, rejection, member permissions, status sync. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore/) |
|
|
491
|
+
| `CoHostStore` | Host cross-room connection: supports multiple layouts, initiate/accept/reject connection, manage co-host interaction. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore/) |
|
|
492
|
+
| `BattleStore` | Host PK battle: initiate PK, manage PK status, synchronize scores, listen for battle results. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/battlestore) |
|
|
493
|
+
| `GiftStore` | Gift interaction: fetch gift list, send/receive gifts, listen for gift events. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore/) |
|
|
494
|
+
| `BarrageStore` | Barrage (chat overlay): send text/custom barrage, maintain barrage list, monitor barrage status. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore) |
|
|
495
|
+
| `LikeStore` | Like interaction: send likes, listen for like events, synchronize like count. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/likestore) |
|
|
496
|
+
| `LiveAudienceStore` | Audience management: get real-time audience list, count, entry/exit events. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore) |
|
|
497
|
+
| `AudioEffectStore` | Audio effects: voice change, reverb, in-ear monitoring, effect switching. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/audioeffectstore) |
|
|
498
|
+
| `BaseBeautyStore` | Basic beauty: adjust smoothing/whitening/redness (0-100), reset beauty status, synchronize effect parameters. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/basebeautystore) |
|
|
880
499
|
|
|
881
500
|
## FAQs
|
|
882
501
|
|
|
@@ -887,12 +506,9 @@ After implementing the basic voice chat room, enhance your application with the
|
|
|
887
506
|
|
|
888
507
|
- **Check network**: Confirm the device has a stable network connection.
|
|
889
508
|
|
|
890
|
-
|
|
891
509
|
### Why is the seat list not displayed or not updating?
|
|
892
510
|
- **Check store initialization**: Confirm you create the `LiveSeatStore` instance (`LiveSeatStore.create(liveID: liveID)`) with the same `liveID` before calling `createLive` or `joinLive`.
|
|
893
511
|
|
|
894
512
|
- **Check data subscription**: Make sure you use Combine to subscribe to `liveSeatStore.state.seatList`, and the `cancellables` lifecycle matches your `ViewController`.
|
|
895
513
|
|
|
896
514
|
- **Check API calls**: Ensure `createLive` (host) or `joinLive` (audience) was called successfully (check the `.success` branch in `switch result`).
|
|
897
|
-
|
|
898
|
-
|