@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,8 +1,5 @@
|
|
|
1
1
|
**AtomicXCore** provides the [CoGuestStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore) and [LiveSeatStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveseatstore) modules, which handle the complete workflow for audience mic-link requests in live streaming scenarios. You don’t need to worry about complex state synchronization or signaling interactions—simply call a few straightforward methods to add robust audio/video interaction between hosts and viewers in your live broadcast. This guide walks you through how to quickly implement voice mic-link functionality in your iOS app using `CoGuestStore` and `LiveSeatStore`.
|
|
2
2
|
|
|
3
|
-

|
|
4
|
-
|
|
5
|
-
|
|
6
3
|
## Core Scenarios
|
|
7
4
|
|
|
8
5
|
`CoGuestStore` and `LiveSeatStore` support the following core live interaction scenarios:
|
|
@@ -12,12 +9,11 @@
|
|
|
12
9
|
|
|
13
10
|
- **Host Manages Mic Seats**: The host can manage users on mic seats, including removing users, muting, and locking seats.
|
|
14
11
|
|
|
15
|
-
|
|
16
12
|
## Implementation
|
|
17
13
|
|
|
18
14
|
### Step 1: Component Integration
|
|
19
15
|
|
|
20
|
-
Refer to the
|
|
16
|
+
Refer to the Quick Start to integrate **AtomicXCore**.
|
|
21
17
|
|
|
22
18
|
### Step 2: Implement Audience Mic-Link Request
|
|
23
19
|
|
|
@@ -26,17 +22,16 @@ Refer to the [Quick Start](https://write.woa.com/document/194571595685527552) to
|
|
|
26
22
|
As an audience member, your main tasks are **initiating a request, handling the response**, and **leaving the mic proactively**.
|
|
27
23
|
1. **Initiate Mic-Link Request**
|
|
28
24
|
|
|
29
|
-
|
|
30
25
|
When the user taps the "Request Mic-Link" button in the UI, call the `applyForSeat` method.
|
|
31
26
|
|
|
32
27
|
``` swift
|
|
33
28
|
import AtomicXCore
|
|
34
|
-
|
|
29
|
+
|
|
35
30
|
let liveId = "Room ID"
|
|
36
31
|
var guestStore: CoGuestStore {
|
|
37
32
|
CoGuestStore.create(liveID: liveID)
|
|
38
33
|
}
|
|
39
|
-
|
|
34
|
+
|
|
40
35
|
// User taps "Request Mic-Link"
|
|
41
36
|
func requestToConnect() {
|
|
42
37
|
// timeout: Request timeout, e.g., 30 seconds
|
|
@@ -52,13 +47,12 @@ As an audience member, your main tasks are **initiating a request, handling the
|
|
|
52
47
|
```
|
|
53
48
|
2. **Listen for Host Response**
|
|
54
49
|
|
|
55
|
-
|
|
56
50
|
Subscribe to `guestEventPublisher` to receive the host’s response.
|
|
57
51
|
|
|
58
52
|
``` swift
|
|
59
53
|
import AtomicXCore
|
|
60
54
|
import Combine
|
|
61
|
-
|
|
55
|
+
|
|
62
56
|
// Subscribe to events during view controller initialization
|
|
63
57
|
func subscribeGuestEvents() {
|
|
64
58
|
guestStore.guestEventPublisher
|
|
@@ -80,7 +74,6 @@ As an audience member, your main tasks are **initiating a request, handling the
|
|
|
80
74
|
```
|
|
81
75
|
3. **Leave Mic Proactively**
|
|
82
76
|
|
|
83
|
-
|
|
84
77
|
When an audience member on mic wants to end the interaction, call `disConnect` to return to regular audience status.
|
|
85
78
|
|
|
86
79
|
``` swift
|
|
@@ -98,7 +91,6 @@ As an audience member, your main tasks are **initiating a request, handling the
|
|
|
98
91
|
```
|
|
99
92
|
4. **(Optional) Cancel Request**
|
|
100
93
|
|
|
101
|
-
|
|
102
94
|
If the audience member wants to withdraw the request before the host responds, call `cancelApplication`.
|
|
103
95
|
|
|
104
96
|
``` swift
|
|
@@ -120,18 +112,17 @@ As an audience member, your main tasks are **initiating a request, handling the
|
|
|
120
112
|
As the host, your main tasks are **receiving requests, displaying the request list**, and **handling requests**.
|
|
121
113
|
1. **Listen for New Mic-Link Requests**
|
|
122
114
|
|
|
123
|
-
|
|
124
115
|
Subscribe to `hostEventPublisher` to be notified immediately when a new audience request arrives.
|
|
125
116
|
|
|
126
117
|
``` swift
|
|
127
118
|
import AtomicXCore
|
|
128
119
|
import Combine
|
|
129
|
-
|
|
120
|
+
|
|
130
121
|
let liveId = "Room ID"
|
|
131
122
|
var guestStore: CoGuestStore {
|
|
132
123
|
CoGuestStore.create(liveID: liveID)
|
|
133
124
|
}
|
|
134
|
-
|
|
125
|
+
|
|
135
126
|
// Subscribe to host events
|
|
136
127
|
guestStore.hostEventPublisher
|
|
137
128
|
.sink { [weak self] event in
|
|
@@ -144,13 +135,12 @@ As the host, your main tasks are **receiving requests, displaying the request li
|
|
|
144
135
|
```
|
|
145
136
|
2. **Display Request List**
|
|
146
137
|
|
|
147
|
-
|
|
148
138
|
The `CoGuestStore` state maintains the current list of applicants in real time. Subscribe to it to refresh your UI.
|
|
149
139
|
|
|
150
140
|
``` swift
|
|
151
141
|
import AtomicXCore
|
|
152
142
|
import Combine
|
|
153
|
-
|
|
143
|
+
|
|
154
144
|
// Subscribe to state changes
|
|
155
145
|
guestStore.state
|
|
156
146
|
.subscribe(StatePublisherSelector(keyPath: \CoGuestState.applicants)) // Only care about applicant list changes
|
|
@@ -164,7 +154,6 @@ As the host, your main tasks are **receiving requests, displaying the request li
|
|
|
164
154
|
```
|
|
165
155
|
3. **Handle Mic-Link Requests**
|
|
166
156
|
|
|
167
|
-
|
|
168
157
|
When you select an audience member from the list and tap "Accept" or "Reject", call the corresponding method.
|
|
169
158
|
|
|
170
159
|
``` swift
|
|
@@ -176,7 +165,7 @@ As the host, your main tasks are **receiving requests, displaying the request li
|
|
|
176
165
|
}
|
|
177
166
|
}
|
|
178
167
|
}
|
|
179
|
-
|
|
168
|
+
|
|
180
169
|
// Host taps "Reject" button
|
|
181
170
|
func reject(userId: String) {
|
|
182
171
|
guestStore.rejectApplication(userID: userId) { result in
|
|
@@ -192,7 +181,6 @@ As the host, your main tasks are **receiving requests, displaying the request li
|
|
|
192
181
|
#### Host Side Implementation
|
|
193
182
|
1. **Invite Audience to Mic**
|
|
194
183
|
|
|
195
|
-
|
|
196
184
|
When the host selects a viewer from the audience list and taps "Invite to Mic", call the `inviteToSeat` method.
|
|
197
185
|
|
|
198
186
|
``` swift
|
|
@@ -208,7 +196,6 @@ As the host, your main tasks are **receiving requests, displaying the request li
|
|
|
208
196
|
```
|
|
209
197
|
2. **Listen for Audience Response**
|
|
210
198
|
|
|
211
|
-
|
|
212
199
|
Listen for the `onHostInvitationResponded` event via `hostEventPublisher`.
|
|
213
200
|
|
|
214
201
|
``` swift
|
|
@@ -225,7 +212,6 @@ As the host, your main tasks are **receiving requests, displaying the request li
|
|
|
225
212
|
#### Audience Side Implementation
|
|
226
213
|
1. **Receive Host Invitation**
|
|
227
214
|
|
|
228
|
-
|
|
229
215
|
Listen for the `onHostInvitationReceived` event via `guestEventPublisher`.
|
|
230
216
|
|
|
231
217
|
``` swift
|
|
@@ -238,12 +224,11 @@ As the host, your main tasks are **receiving requests, displaying the request li
|
|
|
238
224
|
```
|
|
239
225
|
2. **Respond to Invitation**
|
|
240
226
|
|
|
241
|
-
|
|
242
227
|
When the user makes a choice in the dialog, call the corresponding method.
|
|
243
228
|
|
|
244
229
|
``` swift
|
|
245
230
|
let inviterId = "Host ID who sent the invitation" // Get from onHostInvitationReceived event
|
|
246
|
-
|
|
231
|
+
|
|
247
232
|
// User taps "Accept"
|
|
248
233
|
func accept() {
|
|
249
234
|
guestStore.acceptInvitation(inviterID: inviterId) { result in
|
|
@@ -253,7 +238,7 @@ As the host, your main tasks are **receiving requests, displaying the request li
|
|
|
253
238
|
}
|
|
254
239
|
}
|
|
255
240
|
}
|
|
256
|
-
|
|
241
|
+
|
|
257
242
|
// User taps "Reject"
|
|
258
243
|
func reject() {
|
|
259
244
|
guestStore.rejectInvitation(inviterID: inviterId) { result in
|
|
@@ -275,7 +260,6 @@ On-mic users (including the host) can control their own microphone mute status v
|
|
|
275
260
|
|
|
276
261
|
2. **Unmute:** Call `unmuteMicrophone(completion:)`.
|
|
277
262
|
|
|
278
|
-
|
|
279
263
|
#### Example Code:
|
|
280
264
|
``` swift
|
|
281
265
|
let seatStore = LiveSeatStore.create(liveID: liveId)
|
|
@@ -286,24 +270,9 @@ seatStore.unmuteMicrophone(completion: nil) // Unmute
|
|
|
286
270
|
```
|
|
287
271
|
|
|
288
272
|
#### unmuteMicrophone Parameters:
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
294
|
-
|
|
295
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
296
|
-
</tr>
|
|
297
|
-
|
|
298
|
-
<tr>
|
|
299
|
-
<td rowspan="1" colSpan="1" >`completion`</td>
|
|
300
|
-
|
|
301
|
-
<td rowspan="1" colSpan="1" >`CompletionClosure?`</td>
|
|
302
|
-
|
|
303
|
-
<td rowspan="1" colSpan="1" >Callback after the operation completes.</td>
|
|
304
|
-
</tr>
|
|
305
|
-
</table>
|
|
306
|
-
|
|
273
|
+
| **Parameter** | **Type** | **Description** |
|
|
274
|
+
| --- | --- | --- |
|
|
275
|
+
| `completion` | `CompletionClosure?` | Callback after the operation completes. |
|
|
307
276
|
|
|
308
277
|
### Host Remotely Controls On-Mic User’s Microphone
|
|
309
278
|
|
|
@@ -316,7 +285,6 @@ The host can perform "force mute" or "invite to unmute" operations on other on-m
|
|
|
316
285
|
|
|
317
286
|
3. **User Unmutes Themselves:** After receiving the unlock notification, the user must actively call `LiveSeatStore`'s `unmuteMicrophone()` to actually unmute and be heard in the room.
|
|
318
287
|
|
|
319
|
-
|
|
320
288
|
#### Example Code:
|
|
321
289
|
|
|
322
290
|
##### Host Side:
|
|
@@ -359,60 +327,16 @@ seatStore.liveSeatEventPublisher
|
|
|
359
327
|
```
|
|
360
328
|
|
|
361
329
|
#### closeRemoteMicrophone Parameters:
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
367
|
-
|
|
368
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
369
|
-
</tr>
|
|
370
|
-
|
|
371
|
-
<tr>
|
|
372
|
-
<td rowspan="1" colSpan="1" >`userID`</td>
|
|
373
|
-
|
|
374
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
375
|
-
|
|
376
|
-
<td rowspan="1" colSpan="1" >The userID of the target user.</td>
|
|
377
|
-
</tr>
|
|
378
|
-
|
|
379
|
-
<tr>
|
|
380
|
-
<td rowspan="1" colSpan="1" >`completion`</td>
|
|
381
|
-
|
|
382
|
-
<td rowspan="1" colSpan="1" >`CompletionClosure?`</td>
|
|
383
|
-
|
|
384
|
-
<td rowspan="1" colSpan="1" >Callback after the request completes.</td>
|
|
385
|
-
</tr>
|
|
386
|
-
</table>
|
|
387
|
-
|
|
330
|
+
| **Parameter** | **Type** | **Description** |
|
|
331
|
+
| --- | --- | --- |
|
|
332
|
+
| `userID` | `String` | The userID of the target user. |
|
|
333
|
+
| `completion` | `CompletionClosure?` | Callback after the request completes. |
|
|
388
334
|
|
|
389
335
|
#### openRemoteMicrophone Parameters:
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
395
|
-
|
|
396
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
397
|
-
</tr>
|
|
398
|
-
|
|
399
|
-
<tr>
|
|
400
|
-
<td rowspan="1" colSpan="1" >`userID`</td>
|
|
401
|
-
|
|
402
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
403
|
-
|
|
404
|
-
<td rowspan="1" colSpan="1" >The userID of the target user.</td>
|
|
405
|
-
</tr>
|
|
406
|
-
|
|
407
|
-
<tr>
|
|
408
|
-
<td rowspan="1" colSpan="1" >`completion`</td>
|
|
409
|
-
|
|
410
|
-
<td rowspan="1" colSpan="1" >`CompletionClosure?`</td>
|
|
411
|
-
|
|
412
|
-
<td rowspan="1" colSpan="1" >Callback after the request completes.</td>
|
|
413
|
-
</tr>
|
|
414
|
-
</table>
|
|
415
|
-
|
|
336
|
+
| **Parameter** | **Type** | **Description** |
|
|
337
|
+
| --- | --- | --- |
|
|
338
|
+
| `userID` | `String` | The userID of the target user. |
|
|
339
|
+
| `completion` | `CompletionClosure?` | Callback after the request completes. |
|
|
416
340
|
|
|
417
341
|
### Host Removes On-Mic User from the Seat
|
|
418
342
|
|
|
@@ -421,7 +345,6 @@ seatStore.liveSeatEventPublisher
|
|
|
421
345
|
|
|
422
346
|
2. **Listen for Event Notification:** The removed user will receive the `onKickedOffSeat` event via `CoGuestStore.guestEventPublisher`.
|
|
423
347
|
|
|
424
|
-
|
|
425
348
|
#### Example Code:
|
|
426
349
|
``` swift
|
|
427
350
|
// Suppose you want to remove "userB"
|
|
@@ -453,32 +376,10 @@ guestStore
|
|
|
453
376
|
```
|
|
454
377
|
|
|
455
378
|
#### kickUserOutOfSeat Parameters:
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
461
|
-
|
|
462
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
463
|
-
</tr>
|
|
464
|
-
|
|
465
|
-
<tr>
|
|
466
|
-
<td rowspan="1" colSpan="1" >`userID`</td>
|
|
467
|
-
|
|
468
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
469
|
-
|
|
470
|
-
<td rowspan="1" colSpan="1" >The userID of the user to be removed from the mic seat.</td>
|
|
471
|
-
</tr>
|
|
472
|
-
|
|
473
|
-
<tr>
|
|
474
|
-
<td rowspan="1" colSpan="1" >`completion`</td>
|
|
475
|
-
|
|
476
|
-
<td rowspan="1" colSpan="1" >`CompletionClosure?`</td>
|
|
477
|
-
|
|
478
|
-
<td rowspan="1" colSpan="1" >Callback after the request completes.</td>
|
|
479
|
-
</tr>
|
|
480
|
-
</table>
|
|
481
|
-
|
|
379
|
+
| **Parameter** | **Type** | **Description** |
|
|
380
|
+
| --- | --- | --- |
|
|
381
|
+
| `userID` | `String` | The userID of the user to be removed from the mic seat. |
|
|
382
|
+
| `completion` | `CompletionClosure?` | Callback after the request completes. |
|
|
482
383
|
|
|
483
384
|
### Host Locks and Unlocks Mic Seats
|
|
484
385
|
|
|
@@ -489,7 +390,6 @@ The host can lock or unlock a specific mic seat.
|
|
|
489
390
|
|
|
490
391
|
2. **Unlock Seat:** Call `unlockSeat` to unlock the seat, making it available again.
|
|
491
392
|
|
|
492
|
-
|
|
493
393
|
#### Example Code:
|
|
494
394
|
``` swift
|
|
495
395
|
// Lock seat #2
|
|
@@ -508,60 +408,16 @@ seatStore.unlockSeat(seatIndex: 2) { result in
|
|
|
508
408
|
```
|
|
509
409
|
|
|
510
410
|
#### lockSeat Parameters:
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
516
|
-
|
|
517
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
518
|
-
</tr>
|
|
519
|
-
|
|
520
|
-
<tr>
|
|
521
|
-
<td rowspan="1" colSpan="1" >`seatIndex`</td>
|
|
522
|
-
|
|
523
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
524
|
-
|
|
525
|
-
<td rowspan="1" colSpan="1" >Index of the seat to lock.</td>
|
|
526
|
-
</tr>
|
|
527
|
-
|
|
528
|
-
<tr>
|
|
529
|
-
<td rowspan="1" colSpan="1" >`completion`</td>
|
|
530
|
-
|
|
531
|
-
<td rowspan="1" colSpan="1" >`CompletionClosure?`</td>
|
|
532
|
-
|
|
533
|
-
<td rowspan="1" colSpan="1" >Callback after the request completes.</td>
|
|
534
|
-
</tr>
|
|
535
|
-
</table>
|
|
536
|
-
|
|
411
|
+
| **Parameter** | **Type** | **Description** |
|
|
412
|
+
| --- | --- | --- |
|
|
413
|
+
| `seatIndex` | `Int` | Index of the seat to lock. |
|
|
414
|
+
| `completion` | `CompletionClosure?` | Callback after the request completes. |
|
|
537
415
|
|
|
538
416
|
#### unlockSeat Parameters:
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
544
|
-
|
|
545
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
546
|
-
</tr>
|
|
547
|
-
|
|
548
|
-
<tr>
|
|
549
|
-
<td rowspan="1" colSpan="1" >`seatIndex`</td>
|
|
550
|
-
|
|
551
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
552
|
-
|
|
553
|
-
<td rowspan="1" colSpan="1" >Index of the seat to unlock.</td>
|
|
554
|
-
</tr>
|
|
555
|
-
|
|
556
|
-
<tr>
|
|
557
|
-
<td rowspan="1" colSpan="1" >`completion`</td>
|
|
558
|
-
|
|
559
|
-
<td rowspan="1" colSpan="1" >`CompletionClosure?`</td>
|
|
560
|
-
|
|
561
|
-
<td rowspan="1" colSpan="1" >Callback after the request completes.</td>
|
|
562
|
-
</tr>
|
|
563
|
-
</table>
|
|
564
|
-
|
|
417
|
+
| **Parameter** | **Type** | **Description** |
|
|
418
|
+
| --- | --- | --- |
|
|
419
|
+
| `seatIndex` | `Int` | Index of the seat to unlock. |
|
|
420
|
+
| `completion` | `CompletionClosure?` | Callback after the request completes. |
|
|
565
421
|
|
|
566
422
|
### Move Mic Seats
|
|
567
423
|
|
|
@@ -572,7 +428,6 @@ Hosts and on-mic users can call `moveUserToSeat(userID:targetIndex:policy:comple
|
|
|
572
428
|
|
|
573
429
|
2. **On-Mic User Moves Themselves:** On-mic users can also call this API to move themselves. In this case, `userID` must be the user's own ID, `targetIndex` is the desired new seat index, and the `policy` parameter is ignored. If the target seat is occupied, the move fails with an error.
|
|
574
430
|
|
|
575
|
-
|
|
576
431
|
#### Example Code:
|
|
577
432
|
``` swift
|
|
578
433
|
seatStore.moveUserToSeat(userID: "userC",
|
|
@@ -587,78 +442,20 @@ seatStore.moveUserToSeat(userID: "userC",
|
|
|
587
442
|
```
|
|
588
443
|
|
|
589
444
|
#### moveUserToSeat Parameters:
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
<
|
|
595
|
-
|
|
596
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
597
|
-
</tr>
|
|
598
|
-
|
|
599
|
-
<tr>
|
|
600
|
-
<td rowspan="1" colSpan="1" >`userID`</td>
|
|
601
|
-
|
|
602
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
603
|
-
|
|
604
|
-
<td rowspan="1" colSpan="1" >The userID of the user to move.</td>
|
|
605
|
-
</tr>
|
|
606
|
-
|
|
607
|
-
<tr>
|
|
608
|
-
<td rowspan="1" colSpan="1" >`targetIndex`</td>
|
|
609
|
-
|
|
610
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
611
|
-
|
|
612
|
-
<td rowspan="1" colSpan="1" >Target seat index.</td>
|
|
613
|
-
</tr>
|
|
614
|
-
|
|
615
|
-
<tr>
|
|
616
|
-
<td rowspan="1" colSpan="1" >`policy`</td>
|
|
617
|
-
|
|
618
|
-
<td rowspan="1" colSpan="1" >`MoveSeatPolicy?`</td>
|
|
619
|
-
|
|
620
|
-
<td rowspan="1" colSpan="1" >Seat movement policy if the target seat is occupied:<br>- `abortWhenOccupied`: Abort move if seat is occupied (default)<br>- `forceReplace`: Force replace the user on the target seat; replaced user will be removed<br>- `swapPosition`: Swap positions with the user on the target seat.</td>
|
|
621
|
-
</tr>
|
|
622
|
-
|
|
623
|
-
<tr>
|
|
624
|
-
<td rowspan="1" colSpan="1" >`completion`</td>
|
|
625
|
-
|
|
626
|
-
<td rowspan="1" colSpan="1" >`CompletionClosure?`</td>
|
|
627
|
-
|
|
628
|
-
<td rowspan="1" colSpan="1" >Callback after the request completes.</td>
|
|
629
|
-
</tr>
|
|
630
|
-
</table>
|
|
631
|
-
|
|
445
|
+
| **Parameter** | **Type** | **Description** |
|
|
446
|
+
| --- | --- | --- |
|
|
447
|
+
| `userID` | `String` | The userID of the user to move. |
|
|
448
|
+
| `targetIndex` | `Int` | Target seat index. |
|
|
449
|
+
| `policy` | `MoveSeatPolicy?` | Seat movement policy if the target seat is occupied:<br>- `abortWhenOccupied`: Abort move if seat is occupied (default)<br>- `forceReplace`: Force replace the user on the target seat; replaced user will be removed<br>- `swapPosition`: Swap positions with the user on the target seat. |
|
|
450
|
+
| `completion` | `CompletionClosure?` | Callback after the request completes. |
|
|
632
451
|
|
|
633
452
|
## API Documentation
|
|
634
453
|
|
|
635
454
|
For detailed information about all public interfaces, properties, and methods of [CoGuestStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore), [LiveSeatStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveseatstore), and related classes, refer to the official [AtomicXCore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore) framework API documentation. The relevant stores used in this guide are as follows:
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
<td rowspan="1" colSpan="1" >**Feature Description**</td>
|
|
641
|
-
|
|
642
|
-
<td rowspan="1" colSpan="1" >**API Documentation**</td>
|
|
643
|
-
</tr>
|
|
644
|
-
|
|
645
|
-
<tr>
|
|
646
|
-
<td rowspan="1" colSpan="1" >CoGuestStore</td>
|
|
647
|
-
|
|
648
|
-
<td rowspan="1" colSpan="1" >Audience mic-link management: mic-link requests/invitations/accept/reject, member permission control (microphone/camera), state synchronization.</td>
|
|
649
|
-
|
|
650
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore)</td>
|
|
651
|
-
</tr>
|
|
652
|
-
|
|
653
|
-
<tr>
|
|
654
|
-
<td rowspan="1" colSpan="1" >LiveSeatStore</td>
|
|
655
|
-
|
|
656
|
-
<td rowspan="1" colSpan="1" >Mic seat management: mute/unmute, lock/unlock seats, remove users from mic, remote mic control, mic seat list state monitoring</td>
|
|
657
|
-
|
|
658
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveseatstore)</td>
|
|
659
|
-
</tr>
|
|
660
|
-
</table>
|
|
661
|
-
|
|
455
|
+
| **Store/Component** | **Feature Description** | **API Documentation** |
|
|
456
|
+
| --- | --- | --- |
|
|
457
|
+
| CoGuestStore | Audience mic-link management: mic-link requests/invitations/accept/reject, member permission control (microphone/camera), state synchronization. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore) |
|
|
458
|
+
| LiveSeatStore | Mic seat management: mute/unmute, lock/unlock seats, remove users from mic, remote mic control, mic seat list state monitoring | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveseatstore) |
|
|
662
459
|
|
|
663
460
|
## FAQs
|
|
664
461
|
|
|
@@ -669,7 +466,6 @@ The main differences are in business logic and UI presentation:
|
|
|
669
466
|
|
|
670
467
|
- `Voice Room:` The core is the mic seat grid. Do not use `LiveCoreView`; instead, build a grid UI (e.g., `UICollectionView`) based on the `LiveSeatStore`'s `state` (especially `seatList`). The UI focuses on real-time display of each seat’s `SeatInfo` status: occupied, muted, locked, and speaking status. Only the microphone needs to be enabled.
|
|
671
468
|
|
|
672
|
-
|
|
673
469
|
### How do I refresh mic seat info (e.g., occupied, muted) in the UI in real time?
|
|
674
470
|
|
|
675
471
|
Subscribe to the `seatList` property in `LiveSeatState`, which is a reactive `[SeatInfo]` array. Any changes will notify you to re-render the mic seat list. Iterate through this array to:
|
|
@@ -679,7 +475,6 @@ Subscribe to the `seatList` property in `LiveSeatState`, which is a reactive `[S
|
|
|
679
475
|
|
|
680
476
|
- Check mic status of the user via `seatInfo.userInfo.microphoneStatus`.
|
|
681
477
|
|
|
682
|
-
|
|
683
478
|
### What’s the difference between microphone interfaces in LiveSeatStore and DeviceStore?
|
|
684
479
|
|
|
685
480
|
This is an important distinction. `DeviceStore` manages the physical device, while `LiveSeatStore` manages mic seat business logic (audio stream).
|
|
@@ -689,14 +484,12 @@ This is an important distinction. `DeviceStore` manages the physical device, whi
|
|
|
689
484
|
|
|
690
485
|
- `closeLocalMicrophone`: Stops audio capture and releases the microphone device.
|
|
691
486
|
|
|
692
|
-
|
|
693
487
|
`LiveSeatStore`:
|
|
694
488
|
|
|
695
489
|
- `muteMicrophone`: Mute. Stops sending local audio stream to remote, but the microphone hardware remains running.
|
|
696
490
|
|
|
697
491
|
- `unmuteMicrophone`: Unmute. Resumes sending audio stream to remote.
|
|
698
492
|
|
|
699
|
-
|
|
700
493
|
**Recommended workflow: **"Open the device once, control mute/unmute while on mic"
|
|
701
494
|
|
|
702
495
|
1. **When joining mic:** When an audience member successfully joins the mic, call `openLocalMicrophone` once to start the device.
|
|
@@ -704,5 +497,3 @@ This is an important distinction. `DeviceStore` manages the physical device, whi
|
|
|
704
497
|
2. **While on mic:** All "mute" and "unmute" actions while on mic should use `muteMicrophone` and `unmuteMicrophone` to control the audio stream.
|
|
705
498
|
|
|
706
499
|
3. **When leaving mic:** When leaving mic (e.g., calling `disconnect`), call `closeLocalMicrophone` to release the device.
|
|
707
|
-
|
|
708
|
-
|