@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
|
@@ -7,12 +7,11 @@
|
|
|
7
7
|
|
|
8
8
|
- **Anchor invitation to speak**: The Anchor can proactively initiate mic connection to any audience in the live streaming room.
|
|
9
9
|
|
|
10
|
-
|
|
11
10
|
## Implementation Steps
|
|
12
11
|
|
|
13
12
|
### Step 1: Integrating the Component
|
|
14
13
|
|
|
15
|
-
Refer to
|
|
14
|
+
Refer to Quick Access for seamless integration with **AtomicXCore** and complete **LiveCoreWidget** access.
|
|
16
15
|
|
|
17
16
|
After integration, start implementing the co-anchoring function.
|
|
18
17
|
|
|
@@ -23,21 +22,20 @@ After integration, start implementing the co-anchoring function.
|
|
|
23
22
|
As an audience member, your core task is to **initiate application, receive results** and **become a listener**.
|
|
24
23
|
1. **Initiate mic connection**
|
|
25
24
|
|
|
26
|
-
|
|
27
25
|
When the user clicks the "apply for mic connection" button on the interface, call the `applyForSeat` method.
|
|
28
26
|
|
|
29
27
|
``` java
|
|
30
28
|
import 'package:atomic_x_core/atomicxcore.dart';
|
|
31
|
-
|
|
29
|
+
|
|
32
30
|
final String liveId = "room ID";
|
|
33
31
|
final CoGuestStore guestStore = CoGuestStore.create(liveId);
|
|
34
|
-
|
|
32
|
+
|
|
35
33
|
// User clicks "apply for mic connection"
|
|
36
34
|
void requestToConnect() async {
|
|
37
35
|
// seatIndex: The microphone slot index, value range is -1 (auto select an empty slot) and [0, maximum number of microphone slots in the current room -1], timeout: request timeout period (seconds)
|
|
38
36
|
final result = await guestStore.applyForSeat(
|
|
39
|
-
seatIndex: 0,
|
|
40
|
-
timeout: 30,
|
|
37
|
+
seatIndex: 0,
|
|
38
|
+
timeout: 30,
|
|
41
39
|
extraInfo: null,
|
|
42
40
|
);
|
|
43
41
|
if (result.isSuccess) {
|
|
@@ -49,18 +47,17 @@ As an audience member, your core task is to **initiate application, receive resu
|
|
|
49
47
|
```
|
|
50
48
|
2. **Listen to the anchor's response**
|
|
51
49
|
|
|
52
|
-
|
|
53
50
|
By adding a listener through `addGuestListener`, you can receive the anchor's processing result.
|
|
54
51
|
|
|
55
52
|
``` java
|
|
56
53
|
late GuestListener _guestListener;
|
|
57
|
-
|
|
54
|
+
|
|
58
55
|
// Subscribe to events when your Widget is initialized
|
|
59
56
|
void subscribeGuestEvents() {
|
|
60
57
|
_guestListener = GuestListener(
|
|
61
58
|
onApplicationAccepted: (hostUser) {
|
|
62
59
|
print("Anchor ${hostUser.userName} agreed to your request, preparing to connect mic");
|
|
63
|
-
// 1. Turn on the camera, microphone
|
|
60
|
+
// 1. Turn on the camera, microphone
|
|
64
61
|
DeviceStore.shared.openLocalCamera(isFront: true);
|
|
65
62
|
DeviceStore.shared.openLocalMicrophone();
|
|
66
63
|
// 2. Update the UI here, such as disabling the apply button and displaying the mic connection state
|
|
@@ -81,7 +78,7 @@ As an audience member, your core task is to **initiate application, receive resu
|
|
|
81
78
|
);
|
|
82
79
|
guestStore.addGuestListener(_guestListener);
|
|
83
80
|
}
|
|
84
|
-
|
|
81
|
+
|
|
85
82
|
@override
|
|
86
83
|
void dispose() {
|
|
87
84
|
guestStore.removeGuestListener(_guestListener);
|
|
@@ -90,7 +87,6 @@ As an audience member, your core task is to **initiate application, receive resu
|
|
|
90
87
|
```
|
|
91
88
|
3. **Leave the mic**
|
|
92
89
|
|
|
93
|
-
|
|
94
90
|
When a mic-connecting audience wants to end the interaction, call the `disconnect` method to return to general audience status.
|
|
95
91
|
|
|
96
92
|
``` java
|
|
@@ -106,7 +102,6 @@ As an audience member, your core task is to **initiate application, receive resu
|
|
|
106
102
|
```
|
|
107
103
|
4. **(Optional) Cancel application**
|
|
108
104
|
|
|
109
|
-
|
|
110
105
|
If the audience wants to withdraw the application before anchor processing, they can call the API `cancelApplication`.
|
|
111
106
|
|
|
112
107
|
``` java
|
|
@@ -126,17 +121,16 @@ As an audience member, your core task is to **initiate application, receive resu
|
|
|
126
121
|
As an Anchor, your core task is to **receive applications, show the Application List** and **process applications**.
|
|
127
122
|
1. **Listen for new mic connection requests**
|
|
128
123
|
|
|
129
|
-
|
|
130
124
|
By adding a listener through `addHostListener`, you can receive immediate notification when a new audience applies and get prompted.
|
|
131
125
|
|
|
132
126
|
``` java
|
|
133
127
|
import 'package:atomic_x_core/atomicxcore.dart';
|
|
134
|
-
|
|
128
|
+
|
|
135
129
|
final String liveId = "room ID";
|
|
136
130
|
final CoGuestStore guestStore = CoGuestStore.create(liveId);
|
|
137
131
|
late HostListener _hostListener;
|
|
138
132
|
late final VoidCallback _applicantsChangedListener = _onApplicantsChanged;
|
|
139
|
-
|
|
133
|
+
|
|
140
134
|
// Subscribe to anchor event
|
|
141
135
|
void subscribeHostEvents() {
|
|
142
136
|
_hostListener = HostListener(
|
|
@@ -153,7 +147,7 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
153
147
|
);
|
|
154
148
|
guestStore.addHostListener(_hostListener);
|
|
155
149
|
}
|
|
156
|
-
|
|
150
|
+
|
|
157
151
|
@override
|
|
158
152
|
void dispose() {
|
|
159
153
|
guestStore.removeHostListener(_hostListener);
|
|
@@ -162,7 +156,6 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
162
156
|
```
|
|
163
157
|
2. **Show application list**
|
|
164
158
|
|
|
165
|
-
|
|
166
159
|
`CoGuestStore`'s `coGuestState` maintains the current applicant list in real time. You can listen to it to update your UI.
|
|
167
160
|
|
|
168
161
|
``` java
|
|
@@ -170,7 +163,7 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
170
163
|
void subscribeApplicants() {
|
|
171
164
|
guestStore.coGuestState.applicants.addListener(_applicantsChangedListener);
|
|
172
165
|
}
|
|
173
|
-
|
|
166
|
+
|
|
174
167
|
void _onApplicantsChanged() {
|
|
175
168
|
final applicants = guestStore.coGuestState.applicants.value;
|
|
176
169
|
print("Current number of applicants: ${applicants.length}");
|
|
@@ -179,7 +172,7 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
179
172
|
_applicantList = applicants;
|
|
180
173
|
});
|
|
181
174
|
}
|
|
182
|
-
|
|
175
|
+
|
|
183
176
|
@override
|
|
184
177
|
void dispose() {
|
|
185
178
|
guestStore.coGuestState.applicants.removeListener(_applicantsChangedListener);
|
|
@@ -188,7 +181,6 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
188
181
|
```
|
|
189
182
|
3. **Handle mic connection request**
|
|
190
183
|
|
|
191
|
-
|
|
192
184
|
When you select an audience from the list and click "Grant" or "Reject", call the appropriate method.
|
|
193
185
|
|
|
194
186
|
``` java
|
|
@@ -199,7 +191,7 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
199
191
|
print("Approved $userId's request, the other party is connecting mic");
|
|
200
192
|
}
|
|
201
193
|
}
|
|
202
|
-
|
|
194
|
+
|
|
203
195
|
// Anchor clicked the "Reject" button
|
|
204
196
|
void reject(String userId) async {
|
|
205
197
|
final result = await guestStore.rejectApplication(userId);
|
|
@@ -214,18 +206,17 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
214
206
|
#### Anchor Implementation
|
|
215
207
|
1. **Initiate invitation to audience**
|
|
216
208
|
|
|
217
|
-
|
|
218
209
|
When the Anchor selects someone from the audience list and clicks "invite to mic connection", call the `inviteToSeat` method.
|
|
219
210
|
|
|
220
211
|
``` java
|
|
221
212
|
// Anchor selects audience and initiates invitation
|
|
222
213
|
void invite(String userId) async {
|
|
223
|
-
// inviteeID: The invitee ID, seatIndex: The microphone slot index, value range is -1 (auto select an empty slot) and [0, maximum number of microphone slots in the current room -1]
|
|
214
|
+
// inviteeID: The invitee ID, seatIndex: The microphone slot index, value range is -1 (auto select an empty slot) and [0, maximum number of microphone slots in the current room -1]
|
|
224
215
|
// timeout: invitation timeout duration
|
|
225
216
|
final result = await guestStore.inviteToSeat(
|
|
226
217
|
inviteeID: userId,
|
|
227
218
|
seatIndex: 0,
|
|
228
|
-
timeout: 30,
|
|
219
|
+
timeout: 30,
|
|
229
220
|
extraInfo: null,
|
|
230
221
|
);
|
|
231
222
|
if (result.isSuccess) {
|
|
@@ -235,7 +226,6 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
235
226
|
```
|
|
236
227
|
2. **Listen to the audience response**
|
|
237
228
|
|
|
238
|
-
|
|
239
229
|
Listen to the invitation event response via `HostListener`.
|
|
240
230
|
|
|
241
231
|
``` java
|
|
@@ -253,7 +243,6 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
253
243
|
#### Client Implementation
|
|
254
244
|
1. **Receive the anchor's invitation**
|
|
255
245
|
|
|
256
|
-
|
|
257
246
|
Listen to the invitation event via `GuestListener`.
|
|
258
247
|
|
|
259
248
|
``` java
|
|
@@ -268,22 +257,21 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
268
257
|
```
|
|
269
258
|
2. **Respond to invitation**
|
|
270
259
|
|
|
271
|
-
|
|
272
260
|
When the user makes a selection in the pop-up dialog box, call the appropriate method.
|
|
273
261
|
|
|
274
262
|
``` java
|
|
275
263
|
String inviterId = "Anchor ID initiating invitation"; // Obtain from onInvitationReceived callback
|
|
276
|
-
|
|
264
|
+
|
|
277
265
|
// User click "Accept"
|
|
278
266
|
void acceptInvitation() async {
|
|
279
267
|
final result = await guestStore.acceptInvitation(inviterId);
|
|
280
268
|
if (result.isSuccess) {
|
|
281
|
-
// Turn on the camera, microphone
|
|
269
|
+
// Turn on the camera, microphone
|
|
282
270
|
DeviceStore.shared.openLocalCamera(isFront: true);
|
|
283
271
|
DeviceStore.shared.openLocalMicrophone();
|
|
284
272
|
}
|
|
285
273
|
}
|
|
286
|
-
|
|
274
|
+
|
|
287
275
|
// User click "Reject"
|
|
288
276
|
void rejectInvitation() async {
|
|
289
277
|
await guestStore.rejectInvitation(inviterId);
|
|
@@ -292,10 +280,7 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
292
280
|
|
|
293
281
|
### Execution Effect
|
|
294
282
|
|
|
295
|
-
After integrating the above feature implementation, perform a co-streaming operation using two audiences and an Anchor separately. Audience A turns on the camera and microphone simultaneously, while Audience B turns on microphone only. The execution effect is as follows. You can refer to the next chapter
|
|
296
|
-
|
|
297
|
-

|
|
298
|
-
|
|
283
|
+
After integrating the above feature implementation, perform a co-streaming operation using two audiences and an Anchor separately. Audience A turns on the camera and microphone simultaneously, while Audience B turns on microphone only. The execution effect is as follows. You can refer to the next chapter Refine UI Details to customize your desired UI logic.
|
|
299
284
|
|
|
300
285
|
## Refine UI Details
|
|
301
286
|
|
|
@@ -305,25 +290,22 @@ You can use the "slot" capacity provided by the `VideoWidgetBuilder` parameter o
|
|
|
305
290
|
|
|
306
291
|
#### **Effect**
|
|
307
292
|
|
|
308
|
-

|
|
309
|
-
|
|
310
|
-
|
|
311
293
|
#### **Implementation Method**
|
|
312
294
|
- **Step 1**: Create a foreground view (**CustomSeatForegroundView**) used for displaying user information above the video stream.
|
|
313
295
|
|
|
314
296
|
``` java
|
|
315
297
|
import 'package:flutter/material.dart';
|
|
316
298
|
import 'package:rtc_room_engine/rtc_room_engine.dart';
|
|
317
|
-
|
|
299
|
+
|
|
318
300
|
/// Custom user information floating view (foreground)
|
|
319
301
|
class CustomSeatForegroundView extends StatelessWidget {
|
|
320
302
|
final SeatFullInfo seatInfo;
|
|
321
|
-
|
|
303
|
+
|
|
322
304
|
const CustomSeatForegroundView({
|
|
323
|
-
Key? key,
|
|
305
|
+
Key? key,
|
|
324
306
|
required this.seatInfo,
|
|
325
307
|
}) : super(key: key);
|
|
326
|
-
|
|
308
|
+
|
|
327
309
|
@override
|
|
328
310
|
Widget build(BuildContext context) {
|
|
329
311
|
return Container(
|
|
@@ -355,16 +337,16 @@ You can use the "slot" capacity provided by the `VideoWidgetBuilder` parameter o
|
|
|
355
337
|
``` java
|
|
356
338
|
import 'package:flutter/material.dart';
|
|
357
339
|
import 'package:rtc_room_engine/rtc_room_engine.dart';
|
|
358
|
-
|
|
340
|
+
|
|
359
341
|
/// Custom avatar placeholder view (background)
|
|
360
342
|
class CustomSeatBackgroundView extends StatelessWidget {
|
|
361
343
|
final SeatFullInfo seatInfo;
|
|
362
|
-
|
|
344
|
+
|
|
363
345
|
const CustomSeatBackgroundView({
|
|
364
|
-
Key? key,
|
|
346
|
+
Key? key,
|
|
365
347
|
required this.seatInfo,
|
|
366
348
|
}) : super(key: key);
|
|
367
|
-
|
|
349
|
+
|
|
368
350
|
@override
|
|
369
351
|
Widget build(BuildContext context) {
|
|
370
352
|
final avatarUrl = seatInfo.userInfo.avatarUrl;
|
|
@@ -379,8 +361,8 @@ You can use the "slot" capacity provided by the `VideoWidgetBuilder` parameter o
|
|
|
379
361
|
ClipOval(
|
|
380
362
|
child: avatarUrl.isNotEmpty
|
|
381
363
|
? Image.network(
|
|
382
|
-
avatarUrl,
|
|
383
|
-
width: 60,
|
|
364
|
+
avatarUrl,
|
|
365
|
+
width: 60,
|
|
384
366
|
height: 60,
|
|
385
367
|
fit: BoxFit.cover,
|
|
386
368
|
errorBuilder: (context, error, stackTrace) {
|
|
@@ -402,7 +384,7 @@ You can use the "slot" capacity provided by the `VideoWidgetBuilder` parameter o
|
|
|
402
384
|
),
|
|
403
385
|
);
|
|
404
386
|
}
|
|
405
|
-
|
|
387
|
+
|
|
406
388
|
Widget _buildDefaultAvatar() {
|
|
407
389
|
return Container(
|
|
408
390
|
width: 60,
|
|
@@ -419,40 +401,40 @@ You can use the "slot" capacity provided by the `VideoWidgetBuilder` parameter o
|
|
|
419
401
|
import 'package:flutter/material.dart';
|
|
420
402
|
import 'package:atomic_x_core/atomicxcore.dart';
|
|
421
403
|
import 'package:rtc_room_engine/rtc_room_engine.dart';
|
|
422
|
-
|
|
404
|
+
|
|
423
405
|
/// Live streaming page with custom connection view
|
|
424
406
|
class CustomCoGuestLiveWidget extends StatefulWidget {
|
|
425
407
|
final String liveId;
|
|
426
|
-
|
|
408
|
+
|
|
427
409
|
const CustomCoGuestLiveWidget({
|
|
428
|
-
Key? key,
|
|
410
|
+
Key? key,
|
|
429
411
|
required this.liveId,
|
|
430
412
|
}) : super(key: key);
|
|
431
|
-
|
|
413
|
+
|
|
432
414
|
@override
|
|
433
415
|
State<CustomCoGuestLiveWidget> createState() => _CustomCoGuestLiveWidgetState();
|
|
434
416
|
}
|
|
435
|
-
|
|
417
|
+
|
|
436
418
|
class _CustomCoGuestLiveWidgetState extends State<CustomCoGuestLiveWidget> {
|
|
437
419
|
late LiveCoreController _controller;
|
|
438
|
-
|
|
420
|
+
|
|
439
421
|
@override
|
|
440
422
|
void initState() {
|
|
441
423
|
super.initState();
|
|
442
424
|
_controller = LiveCoreController.create();
|
|
443
425
|
_controller.setLiveID(widget.liveId);
|
|
444
426
|
}
|
|
445
|
-
|
|
427
|
+
|
|
446
428
|
@override
|
|
447
429
|
void dispose() {
|
|
448
430
|
_controller.dispose();
|
|
449
431
|
super.dispose();
|
|
450
432
|
}
|
|
451
|
-
|
|
433
|
+
|
|
452
434
|
/// Build a custom view for the mic-connecting audience
|
|
453
435
|
Widget _buildCoGuestWidget(
|
|
454
|
-
BuildContext context,
|
|
455
|
-
SeatFullInfo seatFullInfo,
|
|
436
|
+
BuildContext context,
|
|
437
|
+
SeatFullInfo seatFullInfo,
|
|
456
438
|
ViewLayer viewLayer,
|
|
457
439
|
) {
|
|
458
440
|
if (viewLayer == ViewLayer.foreground) {
|
|
@@ -463,7 +445,7 @@ You can use the "slot" capacity provided by the `VideoWidgetBuilder` parameter o
|
|
|
463
445
|
return CustomSeatBackgroundView(seatInfo: seatFullInfo);
|
|
464
446
|
}
|
|
465
447
|
}
|
|
466
|
-
|
|
448
|
+
|
|
467
449
|
@override
|
|
468
450
|
Widget build(BuildContext context) {
|
|
469
451
|
return Scaffold(
|
|
@@ -479,110 +461,24 @@ You can use the "slot" capacity provided by the `VideoWidgetBuilder` parameter o
|
|
|
479
461
|
```
|
|
480
462
|
|
|
481
463
|
#### **Parameter description:**
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
</tr>
|
|
490
|
-
|
|
491
|
-
<tr>
|
|
492
|
-
<td rowspan="1" colSpan="1" >`seatFullInfo`</td>
|
|
493
|
-
|
|
494
|
-
<td rowspan="1" colSpan="1" >`SeatFullInfo`</td>
|
|
495
|
-
|
|
496
|
-
<td rowspan="1" colSpan="1" >Seat information object, containing the Anchor's detailed information.</td>
|
|
497
|
-
</tr>
|
|
498
|
-
|
|
499
|
-
<tr>
|
|
500
|
-
<td rowspan="1" colSpan="1" >`seatFullInfo.userInfo.userId`</td>
|
|
501
|
-
|
|
502
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
503
|
-
|
|
504
|
-
<td rowspan="1" colSpan="1" >Anchor's user ID.</td>
|
|
505
|
-
</tr>
|
|
506
|
-
|
|
507
|
-
<tr>
|
|
508
|
-
<td rowspan="1" colSpan="1" >`seatFullInfo.userInfo.userName`</td>
|
|
509
|
-
|
|
510
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
511
|
-
|
|
512
|
-
<td rowspan="1" colSpan="1" >On-mic user's nickname.</td>
|
|
513
|
-
</tr>
|
|
514
|
-
|
|
515
|
-
<tr>
|
|
516
|
-
<td rowspan="1" colSpan="1" >`seatFullInfo.userInfo.avatarUrl`</td>
|
|
517
|
-
|
|
518
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
519
|
-
|
|
520
|
-
<td rowspan="1" colSpan="1" >On-mic user's profile photo URL.</td>
|
|
521
|
-
</tr>
|
|
522
|
-
|
|
523
|
-
<tr>
|
|
524
|
-
<td rowspan="1" colSpan="1" >`viewLayer`</td>
|
|
525
|
-
|
|
526
|
-
<td rowspan="1" colSpan="1" >`ViewLayer`</td>
|
|
527
|
-
|
|
528
|
-
<td rowspan="1" colSpan="1" >View hierarchy enumeration.<br>- `ViewLayer.foreground` represents the pendant view, always displayed on top of the video image.<br>- `ViewLayer.background` represents the background pendant view, located in the lower layer of the foreground view. It is displayed only when the corresponding user has no video stream (for example, when the camera is not turned on), usually used for displaying the default avatar or placeholder image of the user.</td>
|
|
529
|
-
</tr>
|
|
530
|
-
</table>
|
|
531
|
-
|
|
464
|
+
| **Parameter** | **Type** | **Note** |
|
|
465
|
+
| --- | --- | --- |
|
|
466
|
+
| `seatFullInfo` | `SeatFullInfo` | Seat information object, containing the Anchor's detailed information. |
|
|
467
|
+
| `seatFullInfo.userInfo.userId` | `String` | Anchor's user ID. |
|
|
468
|
+
| `seatFullInfo.userInfo.userName` | `String` | On-mic user's nickname. |
|
|
469
|
+
| `seatFullInfo.userInfo.avatarUrl` | `String` | On-mic user's profile photo URL. |
|
|
470
|
+
| `viewLayer` | `ViewLayer` | View hierarchy enumeration.<br>- `ViewLayer.foreground` represents the pendant view, always displayed on top of the video image.<br>- `ViewLayer.background` represents the background pendant view, located in the lower layer of the foreground view. It is displayed only when the corresponding user has no video stream (for example, when the camera is not turned on), usually used for displaying the default avatar or placeholder image of the user. |
|
|
532
471
|
|
|
533
472
|
## API documentation
|
|
534
473
|
|
|
535
474
|
For details about ALL public interfaces, properties, and methods of [CoGuestStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html) and its related classes, see the official API documentation of the [AtomicXCore](https://tencent-rtc.github.io/TUIKit_Flutter/index.html) framework. The related Stores used in this guide are as follows:
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
</tr>
|
|
544
|
-
|
|
545
|
-
<tr>
|
|
546
|
-
<td rowspan="1" colSpan="1" >LiveCoreWidget</td>
|
|
547
|
-
|
|
548
|
-
<td rowspan="1" colSpan="1" >Core view component for live video stream display and interaction: Responsible for stream rendering and view widget processing, supporting scenarios such as Anchor live streaming, audience co-broadcasting, and cross-room connection with other anchors.</td>
|
|
549
|
-
|
|
550
|
-
<td rowspan="1" colSpan="1" >[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreWidget-class.html)</td>
|
|
551
|
-
</tr>
|
|
552
|
-
|
|
553
|
-
<tr>
|
|
554
|
-
<td rowspan="1" colSpan="1" >LiveCoreController</td>
|
|
555
|
-
|
|
556
|
-
<td rowspan="1" colSpan="1" >Controller for LiveCoreWidget: Used to set the live stream ID, control the preview, and perform other operations.</td>
|
|
557
|
-
|
|
558
|
-
<td rowspan="1" colSpan="1" >[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreController-class.html)</td>
|
|
559
|
-
</tr>
|
|
560
|
-
|
|
561
|
-
<tr>
|
|
562
|
-
<td rowspan="1" colSpan="1" >VideoWidgetBuilder</td>
|
|
563
|
-
|
|
564
|
-
<td rowspan="1" colSpan="1" >Video view adapter: Used for custom pendant views in scenarios such as mic-connecting audience, cross-room connection with other anchors, and PK.</td>
|
|
565
|
-
|
|
566
|
-
<td rowspan="1" colSpan="1" >[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/VideoWidgetBuilder-class.html)</td>
|
|
567
|
-
</tr>
|
|
568
|
-
|
|
569
|
-
<tr>
|
|
570
|
-
<td rowspan="1" colSpan="1" >DeviceStore</td>
|
|
571
|
-
|
|
572
|
-
<td rowspan="1" colSpan="1" >Audio/Video device control: Microphone (on/off, volume), camera (on/off, switchover, video quality), screen sharing, and real-time monitoring of device status.</td>
|
|
573
|
-
|
|
574
|
-
<td rowspan="1" colSpan="1" >[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_device_store/DeviceStore-class.html)</td>
|
|
575
|
-
</tr>
|
|
576
|
-
|
|
577
|
-
<tr>
|
|
578
|
-
<td rowspan="1" colSpan="1" >CoGuestStore</td>
|
|
579
|
-
|
|
580
|
-
<td rowspan="1" colSpan="1" >Audience co-broadcasting management: Join microphone application/invite/grant/reject, attendee permission control (microphone/camera), state synchronization.</td>
|
|
581
|
-
|
|
582
|
-
<td rowspan="1" colSpan="1" >[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html)</td>
|
|
583
|
-
</tr>
|
|
584
|
-
</table>
|
|
585
|
-
|
|
475
|
+
| **Store/Component** | **Feature Description** | **API Reference** |
|
|
476
|
+
| --- | --- | --- |
|
|
477
|
+
| LiveCoreWidget | Core view component for live video stream display and interaction: Responsible for stream rendering and view widget processing, supporting scenarios such as Anchor live streaming, audience co-broadcasting, and cross-room connection with other anchors. | [API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreWidget-class.html) |
|
|
478
|
+
| LiveCoreController | Controller for LiveCoreWidget: Used to set the live stream ID, control the preview, and perform other operations. | [API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreController-class.html) |
|
|
479
|
+
| VideoWidgetBuilder | Video view adapter: Used for custom pendant views in scenarios such as mic-connecting audience, cross-room connection with other anchors, and PK. | [API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/VideoWidgetBuilder-class.html) |
|
|
480
|
+
| DeviceStore | Audio/Video device control: Microphone (on/off, volume), camera (on/off, switchover, video quality), screen sharing, and real-time monitoring of device status. | [API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_device_store/DeviceStore-class.html) |
|
|
481
|
+
| CoGuestStore | Audience co-broadcasting management: Join microphone application/invite/grant/reject, attendee permission control (microphone/camera), state synchronization. | [API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html) |
|
|
586
482
|
|
|
587
483
|
## FAQs
|
|
588
484
|
|
|
@@ -597,12 +493,9 @@ For details about ALL public interfaces, properties, and methods of [CoGuestStor
|
|
|
597
493
|
|
|
598
494
|
- `ViewLayer.background`: The background layer, displayed only when the corresponding user has no video stream (for example, when the camera is not turned on), usually used for displaying the default avatar or placeholder image of the user.
|
|
599
495
|
|
|
600
|
-
|
|
601
496
|
### Why Is My Custom View Not Displayed?
|
|
602
497
|
- **Check VideoWidgetBuilder settings**: Please confirm the `LiveCoreWidget`'s `videoWidgetBuilder` parameter is correctly set.
|
|
603
498
|
|
|
604
499
|
- **Check callback implementation**: Please check if the `coGuestWidgetBuilder` callback function is correctly implemented.
|
|
605
500
|
|
|
606
501
|
- **Check the return value**: Ensure your callback function returns an effective `Widget` instance.
|
|
607
|
-
|
|
608
|
-
|