@tencent-rtc/mcp 1.4.6 → 1.6.0-beta.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/cursor-setting.png +0 -0
- package/knowledge/bm25-cache.js +74 -0
- package/knowledge/bm25-cache.js.map +1 -0
- package/knowledge/bm25.js +148 -0
- package/knowledge/bm25.js.map +1 -0
- package/knowledge/build-index.js +70 -0
- package/knowledge/build-index.js.map +1 -0
- package/knowledge/chunker.js +168 -0
- package/knowledge/chunker.js.map +1 -0
- package/knowledge/content-loader.js +40 -0
- package/knowledge/content-loader.js.map +1 -0
- package/knowledge/doc-url-resolver.js +143 -0
- package/knowledge/doc-url-resolver.js.map +1 -0
- package/knowledge/extractors.js +26 -0
- package/knowledge/extractors.js.map +1 -0
- package/knowledge/path-meta.js +185 -0
- package/knowledge/path-meta.js.map +1 -0
- package/knowledge/search/exact-lookup.js +498 -0
- package/knowledge/search/exact-lookup.js.map +1 -0
- package/knowledge/search/filter-pool.js +105 -0
- package/knowledge/search/filter-pool.js.map +1 -0
- package/knowledge/search/product-scope-intent.js +41 -0
- package/knowledge/search/product-scope-intent.js.map +1 -0
- package/knowledge/search/requires-framework.js +82 -0
- package/knowledge/search/requires-framework.js.map +1 -0
- package/knowledge/search/search-knowledge.js +230 -0
- package/knowledge/search/search-knowledge.js.map +1 -0
- package/mcp-server-prompt.png +0 -0
- package/package.json +1 -1
- package/resource/_schema/feature-aliases.yaml +10 -0
- package/resource/_schema/goal-tags.yaml +72 -0
- package/resource/_schema/products.yaml +19 -0
- package/resource/_schema/trtc-intents.yaml +27 -0
- package/resource/_schema/types.yaml +43 -0
- package/resource/index/component-slugs.json +1 -0
- package/resource/index/doc-source-urls.json +1 -0
- package/resource/index/manifest.json +1 -0
- package/resource/{doc → integration}/callkit/preset/android/integration.md +34 -28
- package/resource/integration/callkit/preset/flutter/integration.md +346 -0
- package/resource/integration/callkit/preset/ios/integration.md +408 -0
- package/resource/integration/callkit/preset/react/integration.md +362 -0
- package/resource/integration/callkit/preset/vue/integration.md +356 -0
- package/resource/integration/chat/preset/android/integration.md +500 -0
- package/resource/integration/chat/preset/flutter/integration.md +370 -0
- package/resource/integration/chat/preset/ios/integration.md +566 -0
- package/resource/integration/chat/preset/react/integration.md +490 -0
- package/resource/integration/chat/preset/vue/integration.md +504 -0
- package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +26 -22
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +22 -18
- package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +309 -0
- package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +47 -39
- package/resource/integration/roomkit/preset/vue/integration.md +562 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +828 -0
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +897 -0
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +363 -0
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1111 -0
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1132 -0
- package/resource/{doc → knowledge}/callkit/core-sdk/flutter/offline-push.md +174 -151
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1084 -0
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1252 -0
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +534 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
- package/resource/knowledge/callkit/faq/android.md +92 -0
- package/resource/{doc/callkit/faq/android-faq.md → knowledge/callkit/faq/common.md} +11 -12
- package/resource/knowledge/callkit/faq/error-code.md +67 -0
- package/resource/knowledge/callkit/faq/flutter.md +52 -0
- package/resource/knowledge/callkit/faq/ios.md +104 -0
- package/resource/knowledge/callkit/faq/web.md +74 -0
- package/resource/knowledge/callkit/preset/android/api.md +412 -0
- package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
- package/resource/knowledge/callkit/preset/ios/api.md +234 -0
- package/resource/knowledge/callkit/preset/web/api.md +83 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +74 -0
- package/resource/knowledge/chat/preset/android/features/contact-list.md +43 -0
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +117 -0
- package/resource/knowledge/chat/preset/android/features/language.md +136 -0
- package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
- package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
- package/resource/knowledge/chat/preset/android/features/search.md +64 -0
- package/resource/knowledge/chat/preset/android/features/theme.md +222 -0
- package/resource/knowledge/chat/preset/android-view/integration.md +300 -0
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +64 -0
- package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
- package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
- package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +158 -0
- package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
- package/resource/knowledge/chat/preset/flutter/features/theme.md +261 -0
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +94 -0
- package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
- package/resource/knowledge/chat/preset/ios/features/language.md +125 -0
- package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
- package/resource/knowledge/chat/preset/ios/features/message-list.md +162 -0
- package/resource/knowledge/chat/preset/ios/features/search.md +93 -0
- package/resource/knowledge/chat/preset/ios/features/theme.md +270 -0
- package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +160 -158
- package/resource/knowledge/chat/preset/react/features/chat-setting.md +101 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +43 -41
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +215 -0
- package/resource/knowledge/chat/preset/react/features/conversation-list.md +339 -0
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +101 -0
- package/resource/knowledge/chat/preset/react/features/conversation-search.md +61 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +117 -156
- package/resource/knowledge/chat/preset/react/features/message-list.md +297 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/search.md +65 -59
- package/resource/knowledge/chat/preset/react/features/theme.md +93 -0
- package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
- package/resource/knowledge/chat/preset/vue/features/chat-setting.md +79 -0
- package/resource/knowledge/chat/preset/vue/features/contact-list.md +277 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +234 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-list.md +331 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +216 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +13 -13
- package/resource/knowledge/chat/preset/vue/features/message-input.md +551 -0
- package/resource/knowledge/chat/preset/vue/features/message-list.md +350 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +79 -73
- package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
- package/resource/knowledge/chat/urls/error-code.md +17 -0
- package/resource/knowledge/chat/urls/product.md +43 -0
- package/resource/knowledge/chat/urls/restapi.md +204 -0
- package/resource/knowledge/chat/urls/sdk/android.md +80 -0
- package/resource/knowledge/chat/urls/sdk/flutter.md +71 -0
- package/resource/knowledge/chat/urls/sdk/ios.md +80 -0
- package/resource/knowledge/chat/urls/sdk/web.md +80 -0
- package/resource/knowledge/chat/urls/webhook.md +68 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +286 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +55 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +51 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +488 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +219 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +282 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +153 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +426 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +52 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +150 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +438 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +190 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +291 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +51 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +487 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +183 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +736 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +53 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +17 -15
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +102 -89
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +41 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +45 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +23 -20
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +41 -41
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +70 -69
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +68 -71
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +43 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +59 -56
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +103 -105
- package/resource/knowledge/livekit/core-sdk/live/flutter/live-host-interaction.md +869 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +84 -87
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +43 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +11 -10
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +15 -14
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +41 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +40 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +53 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +41 -33
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +94 -81
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +35 -30
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +45 -42
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-room-list.md +23 -20
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +260 -0
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +598 -0
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-barrage.md +490 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +65 -59
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +424 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +69 -76
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-room-list.md +726 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +11 -10
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +41 -33
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +35 -30
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +49 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-room-list.md +19 -18
- package/resource/knowledge/livekit/faq/error-code.md +193 -0
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/barrage.md +56 -53
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-audience-list.md +22 -21
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-view.md +34 -32
- package/resource/knowledge/push/config/android.md +92 -0
- package/resource/knowledge/push/config/harmonyos.md +83 -0
- package/resource/knowledge/push/config/ios.md +254 -0
- package/resource/knowledge/push/config/react-native.md +254 -0
- package/resource/knowledge/push/config/unity.md +209 -0
- package/resource/knowledge/push/config/unreal-engine.md +194 -0
- package/resource/knowledge/push/integration/android.md +404 -0
- package/resource/knowledge/push/integration/flutter.md +465 -0
- package/resource/knowledge/push/integration/harmonyos.md +63 -0
- package/resource/knowledge/push/integration/ios.md +246 -0
- package/resource/knowledge/push/integration/react-native.md +366 -0
- package/resource/knowledge/push/integration/uni-app.md +208 -0
- package/resource/knowledge/push/integration/unity.md +389 -0
- package/resource/knowledge/push/integration/unreal-engine.md +390 -0
- package/resource/knowledge/push/overview/prepare.md +60 -0
- package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +241 -0
- package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +588 -0
- package/resource/knowledge/roomkit/core-sdk/android/room-state.md +364 -0
- package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +340 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +797 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +233 -0
- package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +569 -0
- package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +322 -0
- package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +221 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +49 -48
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +461 -0
- package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +216 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +370 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-participant-state.md +61 -60
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +280 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-view.md +57 -56
- package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +319 -0
- package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +267 -0
- package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +261 -0
- package/resource/knowledge/roomkit/preset/android/integration.md +396 -0
- package/resource/knowledge/roomkit/preset/flutter/integration.md +404 -0
- package/resource/knowledge/roomkit/preset/ios/integration.md +369 -0
- package/resource/knowledge/roomkit/preset/react/integration.md +576 -0
- package/resource/knowledge/rtcengine/web/how_to_run_web_sdk_demo.md +44 -0
- package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +8 -2
- package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +19 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +8 -8
- package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +6 -6
- package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +3 -3
- package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +18 -0
- package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +2 -2
- package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +1 -1
- package/resource/knowledge/trtc/android/TRTCCloud.md +1915 -0
- package/resource/knowledge/trtc/android/TRTCCloudDef.md +1029 -0
- package/resource/knowledge/trtc/android/TRTCCloudListener.md +1095 -0
- package/resource/knowledge/trtc/android/TRTCStatistics.md +68 -0
- package/resource/knowledge/trtc/android/TXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
- package/resource/knowledge/trtc/android/TXDeviceManager.md +169 -0
- package/resource/knowledge/trtc/android/TXLiteAVCode.md +125 -0
- package/resource/knowledge/trtc/c++/ITRTCCloud.md +2069 -0
- package/resource/knowledge/trtc/c++/ITRTCStatistics.md +73 -0
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +391 -0
- package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1191 -0
- package/resource/knowledge/trtc/c++/TRTCTypeDef.md +931 -0
- package/resource/knowledge/trtc/c++/TXLiteAVCode.md +127 -0
- package/resource/knowledge/trtc/ios/TRTCCloud.md +2118 -0
- package/resource/knowledge/trtc/ios/TRTCCloudDef.md +975 -0
- package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1131 -0
- package/resource/knowledge/trtc/ios/TRTCStatistics.md +68 -0
- package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +423 -0
- package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +387 -0
- package/resource/knowledge/trtc/ios/TXLiteAVCode.md +127 -0
- package/server.js +35 -10
- package/server.js.map +1 -1
- package/tools/call/get_native_call_uikit_integration.js +2 -3
- package/tools/call/get_native_call_uikit_integration.js.map +1 -1
- package/tools/call/get_native_callkit_core_integration.js +2 -5
- package/tools/call/get_native_callkit_core_integration.js.map +1 -1
- package/tools/call/get_web_call_uikit_integration.js +2 -3
- package/tools/call/get_web_call_uikit_integration.js.map +1 -1
- package/tools/chat/get_native_chat_uikit_integration.js +2 -3
- package/tools/chat/get_native_chat_uikit_integration.js.map +1 -1
- package/tools/chat/get_web_chat_uikit_integration.js +2 -3
- package/tools/chat/get_web_chat_uikit_integration.js.map +1 -1
- package/tools/common/present_framework_choice.js +19 -13
- package/tools/common/present_framework_choice.js.map +1 -1
- package/tools/common/record_answer.js +19 -25
- package/tools/common/record_answer.js.map +1 -1
- package/tools/common/record_feedback.js +17 -30
- package/tools/common/record_feedback.js.map +1 -1
- package/tools/common/search_trtc_knowledge.js +45 -0
- package/tools/common/search_trtc_knowledge.js.map +1 -0
- package/tools/definitions/get_native_call_uikit_integration_def.js +3 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_callkit_core_integration_def.js +5 -3
- package/tools/definitions/get_native_callkit_core_integration_def.js.map +1 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js +5 -2
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_livekit_core_integration_def.js +6 -5
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +4 -2
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -0
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +5 -5
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_room_core_integration_def.js +50 -0
- package/tools/definitions/get_web_room_core_integration_def.js.map +1 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +5 -4
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
- package/tools/definitions/integration-boundary.js +6 -0
- package/tools/definitions/integration-boundary.js.map +1 -0
- package/tools/definitions/present_framework_choice_def.js +12 -10
- package/tools/definitions/present_framework_choice_def.js.map +1 -1
- package/tools/definitions/record_answer_def.js +19 -17
- package/tools/definitions/record_answer_def.js.map +1 -1
- package/tools/definitions/record_feedback_def.js +14 -13
- package/tools/definitions/record_feedback_def.js.map +1 -1
- package/tools/definitions/search_trtc_knowledge_def.js +40 -0
- package/tools/definitions/search_trtc_knowledge_def.js.map +1 -0
- package/tools/index.js +5 -36
- package/tools/index.js.map +1 -1
- package/tools/live/get_native_livekit_core_integration.js +1 -3
- package/tools/live/get_native_livekit_core_integration.js.map +1 -1
- package/tools/live/get_web_live_uikit_integration.js +2 -4
- package/tools/live/get_web_live_uikit_integration.js.map +1 -1
- package/tools/room/get_web_room_core_integration.js +48 -0
- package/tools/room/get_web_room_core_integration.js.map +1 -0
- package/tools/room/get_web_room_uikit_integration.js +2 -3
- package/tools/room/get_web_room_uikit_integration.js.map +1 -1
- package/utils/generate-structured-result.js +24 -30
- package/utils/generate-structured-result.js.map +1 -1
- package/utils/get-doc-content.js +14 -8
- package/utils/get-doc-content.js.map +1 -1
- package/utils/report-cls-client.js +18 -20
- package/utils/report-cls-client.js.map +1 -1
- package/utils/report-es-client.js +1 -1
- package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
- package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -852
- package/resource/doc/callkit/core-sdk/android/make-call.md +0 -954
- package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -361
- package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1160
- package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1205
- package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1090
- package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1248
- package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -485
- package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -950
- package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1052
- package/resource/doc/callkit/faq/common/error-code.md +0 -47
- package/resource/doc/callkit/faq/flutter-faq.md +0 -115
- package/resource/doc/callkit/faq/ios-faq.md +0 -115
- package/resource/doc/callkit/faq/web-faq.md +0 -36
- package/resource/doc/callkit/preset/android/api.md +0 -296
- package/resource/doc/callkit/preset/flutter/api.md +0 -410
- package/resource/doc/callkit/preset/flutter/integration.md +0 -164
- package/resource/doc/callkit/preset/ios/api.md +0 -80
- package/resource/doc/callkit/preset/ios/integration.md +0 -187
- package/resource/doc/callkit/preset/react/api.md +0 -501
- package/resource/doc/callkit/preset/react/integration.md +0 -86
- package/resource/doc/callkit/preset/vue/api.md +0 -501
- package/resource/doc/callkit/preset/vue/integration.md +0 -83
- package/resource/doc/chatkit/android/faq.md +0 -111
- package/resource/doc/chatkit/android/features/theme.md +0 -219
- package/resource/doc/chatkit/android/integration.md +0 -490
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -281
- package/resource/doc/chatkit/faq/common/product.md +0 -7
- package/resource/doc/chatkit/faq/common/server.md +0 -44
- package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -199
- package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -53
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -235
- package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
- package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -287
- package/resource/doc/chatkit/flutter/faq.md +0 -23
- package/resource/doc/chatkit/flutter/features/theme.md +0 -235
- package/resource/doc/chatkit/flutter/integration.md +0 -344
- package/resource/doc/chatkit/ios/faq.md +0 -111
- package/resource/doc/chatkit/ios/features/theme.md +0 -267
- package/resource/doc/chatkit/react/components/avatar.md +0 -104
- package/resource/doc/chatkit/react/components/chat-header.md +0 -148
- package/resource/doc/chatkit/react/components/chat-setting.md +0 -57
- package/resource/doc/chatkit/react/components/chat.md +0 -38
- package/resource/doc/chatkit/react/components/component-list.md +0 -37
- package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
- package/resource/doc/chatkit/react/components/conversation-list.md +0 -333
- package/resource/doc/chatkit/react/components/conversation-preview.md +0 -118
- package/resource/doc/chatkit/react/components/conversation-search.md +0 -60
- package/resource/doc/chatkit/react/components/message-list.md +0 -293
- package/resource/doc/chatkit/react/components/tuikit.md +0 -34
- package/resource/doc/chatkit/react/faq.md +0 -26
- package/resource/doc/chatkit/react/integration.md +0 -416
- package/resource/doc/chatkit/vue/components/avatar.md +0 -104
- package/resource/doc/chatkit/vue/components/chat-header.md +0 -148
- package/resource/doc/chatkit/vue/components/chat-setting.md +0 -62
- package/resource/doc/chatkit/vue/components/chat.md +0 -45
- package/resource/doc/chatkit/vue/components/component-list.md +0 -87
- package/resource/doc/chatkit/vue/components/contact-list.md +0 -271
- package/resource/doc/chatkit/vue/components/conversation-actions.md +0 -228
- package/resource/doc/chatkit/vue/components/conversation-list.md +0 -320
- package/resource/doc/chatkit/vue/components/conversation-preview.md +0 -213
- package/resource/doc/chatkit/vue/components/message-input.md +0 -1054
- package/resource/doc/chatkit/vue/components/message-list.md +0 -433
- package/resource/doc/chatkit/vue/components/tuikit.md +0 -31
- package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
- package/resource/doc/chatkit/vue/faq.md +0 -36
- package/resource/doc/chatkit/vue/integration.md +0 -428
- package/resource/doc/livekit/core-sdk/live/flutter/live-host-interaction.md +0 -866
- package/resource/doc/livekit/faq/common/error-code.md +0 -88
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
- package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -91
- package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -112
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -215
- package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +0 -300
- package/resource/doc/roomkit/faq/common/error-code.md +0 -67
- package/resource/doc/roomkit/vue/features/call-user-to-room.md +0 -220
- package/resource/doc/roomkit/vue/features/device-state.md +0 -460
- package/resource/doc/roomkit/vue/features/free-beauty-panel.md +0 -215
- package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
- package/resource/doc/roomkit/vue/features/room-state.md +0 -282
- package/resource/doc/roomkit/vue/features/schedule-room.md +0 -318
- package/resource/doc/roomkit/vue/features/screen-share.md +0 -265
- package/resource/doc/roomkit/vue/features/virtual-background.md +0 -271
- package/resource/doc/roomkit/vue/integration.md +0 -315
- package/resource/doc/rtcengine/faq/common/error_code.md +0 -1
- package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
- package/resource/doc/rtcengine/web/.gitkeep +0 -0
- package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +0 -59
- package/resource/doc/trtc/C++/ITRTCCloud.md +0 -1970
- package/resource/doc/trtc/C++/ITRTCStatistics.md +0 -70
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -469
- package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -387
- package/resource/doc/trtc/C++/TRTCCloudCallback.md +0 -1082
- package/resource/doc/trtc/C++/TRTCTypeDef.md +0 -925
- package/resource/doc/trtc/C++/TXLiteAVCode.md +0 -129
- package/resource/doc/trtc/android/TRTCCloud.md +0 -1815
- package/resource/doc/trtc/android/TRTCCloudDef.md +0 -992
- package/resource/doc/trtc/android/TRTCCloudListener.md +0 -1004
- package/resource/doc/trtc/android/TRTCStatistics.md +0 -65
- package/resource/doc/trtc/android/TXAudioEffectManager.md +0 -469
- package/resource/doc/trtc/android/TXBeautyManager.md +0 -402
- package/resource/doc/trtc/android/TXDeviceManager.md +0 -173
- package/resource/doc/trtc/android/TXLiteAVCode.md +0 -127
- package/resource/doc/trtc/iOS/TRTCCloud.md +0 -2028
- package/resource/doc/trtc/iOS/TRTCCloudDef.md +0 -958
- package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +0 -1046
- package/resource/doc/trtc/iOS/TRTCStatistics.md +0 -65
- package/resource/doc/trtc/iOS/TXAudioEffectManager.md +0 -397
- package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -403
- package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -381
- package/resource/doc/trtc/iOS/TXLiteAVCode.md +0 -130
- package/tools/call/get_callkit_api.js +0 -33
- package/tools/call/get_callkit_api.js.map +0 -1
- package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
- package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
- package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
- package/tools/common/get_faq.js +0 -266
- package/tools/common/get_faq.js.map +0 -1
- package/tools/common/record_skill_session.js +0 -69
- package/tools/common/record_skill_session.js.map +0 -1
- package/tools/definitions/get_callkit_api_def.js +0 -29
- package/tools/definitions/get_callkit_api_def.js.map +0 -1
- package/tools/definitions/get_faq_def.js +0 -49
- package/tools/definitions/get_faq_def.js.map +0 -1
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +0 -34
- package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
- package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
- package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_api_def.js +0 -30
- package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_component_detail_def.js +0 -32
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -31
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
- package/tools/definitions/record_skill_session_def.js +0 -31
- package/tools/definitions/record_skill_session_def.js.map +0 -1
- package/tools/live/get_native_livekit_core_features.js +0 -68
- package/tools/live/get_native_livekit_core_features.js.map +0 -1
- package/tools/live/get_web_livekit_api.js +0 -33
- package/tools/live/get_web_livekit_api.js.map +0 -1
- package/tools/live/get_web_livekit_component_detail.js +0 -35
- package/tools/live/get_web_livekit_component_detail.js.map +0 -1
- package/tools/room/get_web_roomkit_feature_detail.js +0 -69
- package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
- package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
- package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
- package/utils/build-session-directives.js +0 -120
- package/utils/build-session-directives.js.map +0 -1
- package/utils/handle-framework.js +0 -9
- package/utils/handle-framework.js.map +0 -1
- package/utils/handle-state-name.js +0 -29
- package/utils/handle-state-name.js.map +0 -1
- package/utils/report-runtime-error-cls-client.js +0 -91
- package/utils/report-runtime-error-cls-client.js.map +0 -1
- /package/resource/{doc/livekit/preset/live/vue/faq.md → knowledge/push/config/donut.md} +0 -0
- /package/resource/{doc/roomkit/vue/faq.md → knowledge/push/integration/donut.md} +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
- /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
`RoomStore` is the core room management module in `AtomicXCore`, offering comprehensive support for scheduled meeting rooms. This section explains how to efficiently develop and integrate scheduled room features using `RoomStore`.
|
|
2
|
+
|
|
3
|
+
## Core Features
|
|
4
|
+
- **Schedule and Cancel Meeting Rooms**: Any user can schedule or cancel a meeting room.
|
|
5
|
+
|
|
6
|
+
- **Update Scheduled Room Information**: Update the information of existing scheduled rooms, including the room name, start time, and end time.
|
|
7
|
+
|
|
8
|
+
- **Retrieve Scheduled Room List**: Retrieve a list of all scheduled rooms for the current account.
|
|
9
|
+
|
|
10
|
+
- **Retrieve Scheduled Room Participant List**: Get the list of participants for a specific scheduled room.
|
|
11
|
+
|
|
12
|
+
- **Add or Remove Scheduled Room Participants**: Add or remove participants from an existing scheduled room.
|
|
13
|
+
|
|
14
|
+
## Core Concepts
|
|
15
|
+
|
|
16
|
+
Core concepts in `RoomStore` are summarized in the table below:
|
|
17
|
+
| Core Concept | Type | Core Responsibilities & Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-room-state/index.html">RoomStatus</a> | <code>enum class</code> | Current status of the room:<br>- <code>SCHEDULED</code> (scheduled).<br>- <code>RUNNING</code> (in progress). |
|
|
20
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-schedule-room-options/index.html">ScheduleRoomOptions</a> | <code>data class</code> | The data structure for scheduled rooms, including start time, end time, participant list, and more. |
|
|
21
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-room-state/index.html">RoomState</a> | <code>data class</code> | Core data structure for room state management. Maintains user-related room state information.<br>Key properties:<br>- <code>scheduledRoomList</code>: List of all scheduled rooms under the current account.<br>- <code>scheduledRoomListCursor</code>: Pagination cursor for the scheduled room list. |
|
|
22
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-room-listener/index.html">RoomListener</a> | <code>abstract class</code> | Handles real-time events related to room activity, including scheduled room events. |
|
|
23
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-room-store/index.html">RoomStore</a> | <code>abstract class</code> | The class for managing the entire room lifecycle. Use it to schedule rooms, retrieve scheduled room lists, and subscribe to <code>RoomListener</code> for real-time scheduled room events. |
|
|
24
|
+
|
|
25
|
+
## Implementation Steps
|
|
26
|
+
|
|
27
|
+
### Step 1: Integrate Components
|
|
28
|
+
|
|
29
|
+
Follow the Integration Overview to integrate the AtomicXCore SDK. Make sure you have completed the Implement Login Logic before proceeding.
|
|
30
|
+
|
|
31
|
+
### Step 2: Implement Scheduled Room Features
|
|
32
|
+
|
|
33
|
+
#### 1. Scheduling a Room
|
|
34
|
+
|
|
35
|
+
**Implementation Steps:**
|
|
36
|
+
1. **Set Initialization Parameters:** Create a `ScheduleRoomOptions` object to configure the room name, password, start time, end time, participant list, and other details.
|
|
37
|
+
|
|
38
|
+
2. **Set Room Permissions:** Define global member permissions, such as mute all, disable all video, and other restrictions.
|
|
39
|
+
|
|
40
|
+
3. **Schedule the Room:** Call the `scheduleRoom` method on `RoomStore` to complete the scheduling process.
|
|
41
|
+
|
|
42
|
+
**Example Code:**
|
|
43
|
+
|
|
44
|
+
``` java
|
|
45
|
+
import io.trtc.tuikit.atomicxcore.api.CompletionHandler
|
|
46
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomStore
|
|
47
|
+
import io.trtc.tuikit.atomicxcore.api.room.ScheduleRoomOptions
|
|
48
|
+
|
|
49
|
+
// Schedule a room
|
|
50
|
+
fun scheduleRoom() {
|
|
51
|
+
val startTime = (System.currentTimeMillis() / 1000) + 60 * 15 // Start time: now + 15 minutes
|
|
52
|
+
val endTime = startTime + 60 * 30 // End time: start time + 30 minutes
|
|
53
|
+
val reminderSeconds = 60 * 5 // Reminder: 5 minutes before start
|
|
54
|
+
|
|
55
|
+
// Create room options
|
|
56
|
+
val options = ScheduleRoomOptions(
|
|
57
|
+
roomName = "Room Name",
|
|
58
|
+
scheduleStartTime = startTime,
|
|
59
|
+
scheduleEndTime = endTime,
|
|
60
|
+
reminderSecondsBeforeStart = reminderSeconds,
|
|
61
|
+
scheduleAttendees = listOf("user01", "user02", "user03"), // Participant user IDs
|
|
62
|
+
password = "Room Password", // Optional, empty string for no password
|
|
63
|
+
isAllMicrophoneDisabled = false, // Default: allow microphones
|
|
64
|
+
isAllCameraDisabled = false, // Default: allow cameras
|
|
65
|
+
isAllScreenShareDisabled = false, // Default: allow screen sharing
|
|
66
|
+
isAllMessageDisabled = false // Default: allow chat messaging
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
RoomStore.shared().scheduleRoom("roomID", options, object : CompletionHandler {
|
|
70
|
+
override fun onSuccess() {
|
|
71
|
+
println("Room scheduled successfully")
|
|
72
|
+
}
|
|
73
|
+
override fun onFailure(code: Int, desc: String) {
|
|
74
|
+
println("Failed to schedule room: [Error code: $code] $desc")
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
`scheduleRoom`** Method Parameters**
|
|
81
|
+
|
|
82
|
+
| Parameter | Type | Required | Description |
|
|
83
|
+
| --- | --- | --- | --- |
|
|
84
|
+
| <code>roomID</code> | <code>String</code> | Yes | - Unique string identifier for the room.<br>- Length: 0–48 bytes.<br>- Use only numbers, English letters (case sensitive), underscores (_), and hyphens (-). Avoid spaces and Chinese characters. |
|
|
85
|
+
| <code>options</code> | <code>ScheduleRoomOptions</code> | Yes | Room configuration object. See ScheduleRoomOptions Struct Details. |
|
|
86
|
+
| <code>completion</code> | <code>CompletionHandler</code> | No | Callback for operation completion. Returns result or error code/message if scheduling fails. |
|
|
87
|
+
|
|
88
|
+
`ScheduleRoomOptions`** Struct Details**
|
|
89
|
+
|
|
90
|
+
| Parameter | Type | Required | Description |
|
|
91
|
+
| --- | --- | --- | --- |
|
|
92
|
+
| <code>roomName</code> | <code>String</code> | No | - Room name (optional, defaults to "").<br>- Length: 0–60 bytes.<br>- Supports Chinese, English, numbers, and special characters. |
|
|
93
|
+
| <code>password</code> | <code>String</code> | No | - Room password ("" means no password).<br>- Length: 0–32 bytes.<br>- Recommend 4–8 digit numbers for easier input. If set, users must enter the password to join. Do not store sensitive info in plain text. |
|
|
94
|
+
| <code>scheduleStartTime</code> | <code>Long</code> | Yes | - Scheduled start time (Unix timestamp in seconds).<br>- Must be greater than the current time.<br>- We recommend aligning to a future minute. Example: 1736164800 (2025-01-06 20:00:00). |
|
|
95
|
+
| <code>scheduleEndTime</code> | <code>Long</code> | Yes | Scheduled end time (Unix timestamp in seconds).<br>- Must be greater than <code>scheduleStartTime</code>.<br>- Set based on expected duration, e.g., <code>scheduleStartTime</code> + 3600 for one hour. |
|
|
96
|
+
| <code>reminderSecondsBeforeStart</code> | <code>Int</code> | No | - Reminder time before the scheduled start (seconds). Used for system-triggered notifications.<br>- Recommended: 300 (5 min) or 900 (15 min) for local app notifications. |
|
|
97
|
+
| <code>scheduleAttendees</code> | <code>List</code> | No | - List of participant user IDs. The system will send invitations to these users.<br>- For details, see retrieving the participant list for scheduled rooms. |
|
|
98
|
+
| <code>isAllMicrophoneDisabled</code> | <code>Boolean</code> | No | Whether to mute all participants by default.<br>- true: Disabled.<br>- false: Not disabled (default). |
|
|
99
|
+
| <code>isAllCameraDisabled</code> | <code>Boolean</code> | No | Whether to disable all participant cameras by default.<br>- true: Disabled.<br>- false: Not disabled (default). |
|
|
100
|
+
| <code>isAllScreenShareDisabled</code> | <code>Boolean</code> | No | Whether to disable screen sharing for all participants.<br>- true: Disabled.<br>- false: Not disabled (default). |
|
|
101
|
+
| <code>isAllMessageDisabled</code> | <code>Boolean</code> | No | Whether to mute chat messages for all participants.<br>- true: Disabled.<br>- false: Not disabled (default). |
|
|
102
|
+
|
|
103
|
+
#### 2. Cancel a Scheduled Room
|
|
104
|
+
|
|
105
|
+
The room scheduler can call `RoomStore.cancelScheduledRoom` to cancel a scheduled room.
|
|
106
|
+
``` java
|
|
107
|
+
import android.util.Log
|
|
108
|
+
import io.trtc.tuikit.atomicxcore.api.CompletionHandler
|
|
109
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomStore
|
|
110
|
+
|
|
111
|
+
// Cancel a scheduled room
|
|
112
|
+
fun cancelScheduledRoom(roomID: String) {
|
|
113
|
+
RoomStore.shared().cancelScheduledRoom(roomID, object : CompletionHandler {
|
|
114
|
+
override fun onSuccess() {
|
|
115
|
+
Log.d("Room", "Successfully canceled scheduled room")
|
|
116
|
+
}
|
|
117
|
+
override fun onFailure(code: Int, desc: String) {
|
|
118
|
+
Log.d("Room", "Failed to cancel scheduled room: [Error code: $code] $desc")
|
|
119
|
+
}
|
|
120
|
+
})
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
#### 3. Update a Scheduled Room
|
|
125
|
+
|
|
126
|
+
The room scheduler can use `RoomStore.updateScheduledRoom` to update the room name, start time, and end time for a scheduled room.
|
|
127
|
+
``` java
|
|
128
|
+
import android.util.Log
|
|
129
|
+
import io.trtc.tuikit.atomicxcore.api.CompletionHandler
|
|
130
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomStore
|
|
131
|
+
import io.trtc.tuikit.atomicxcore.api.room.ScheduleRoomOptions
|
|
132
|
+
|
|
133
|
+
// Update a scheduled room
|
|
134
|
+
fun updateScheduledRoom() {
|
|
135
|
+
val newStartTime = (System.currentTimeMillis() / 1000) + 60 * 30 // Start: now + 30 minutes
|
|
136
|
+
val newEndTime = newStartTime + 60 * 45 // End: start + 45 minutes
|
|
137
|
+
|
|
138
|
+
val options = ScheduleRoomOptions(
|
|
139
|
+
roomName = "Room Name",
|
|
140
|
+
scheduleStartTime = newStartTime,
|
|
141
|
+
scheduleEndTime = newEndTime
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
val modifyFlagList = listOf(
|
|
145
|
+
ScheduleRoomOptions.ModifyFlag.ROOM_NAME,
|
|
146
|
+
ScheduleRoomOptions.ModifyFlag.SCHEDULE_START_TIME,
|
|
147
|
+
ScheduleRoomOptions.ModifyFlag.SCHEDULE_END_TIME
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
RoomStore.shared().updateScheduledRoom("roomID", options, modifyFlagList, object : CompletionHandler {
|
|
151
|
+
override fun onSuccess() {
|
|
152
|
+
Log.d("Room", "Successfully updated scheduled room")
|
|
153
|
+
}
|
|
154
|
+
override fun onFailure(code: Int, desc: String) {
|
|
155
|
+
Log.d("Room", "Failed to update scheduled room: [Error code: $code] $desc")
|
|
156
|
+
}
|
|
157
|
+
})
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
`updateScheduledRoom`** Parameters**
|
|
162
|
+
| Parameter | Type | Required | Description |
|
|
163
|
+
| --- | --- | --- | --- |
|
|
164
|
+
| <code>roomID</code> | <code>String</code> | Yes | - Unique string identifier for the room.<br>- Length: 0–48 bytes.<br>- Use only numbers, English letters (case sensitive), underscores (_), and hyphens (-). Avoid spaces and Chinese characters. |
|
|
165
|
+
| <code>options</code> | <code>ScheduleRoomOptions</code> | Yes | Configuration object for the scheduled room.<br>- See details in ScheduleRoomOptions struct. |
|
|
166
|
+
| <code>modifyFlagList</code> | <code>List<ScheduleRoomOptions.ModifyFlag></code> | Yes | Flags specifying which room properties to update. Can update room name, start time, and end time. See <code>ModifyFlag</code> documentation. |
|
|
167
|
+
| <code>completion</code> | <code>CompletionHandler</code> | No | Callback for completion. Returns result or error code/message if update fails. |
|
|
168
|
+
|
|
169
|
+
`ScheduleRoomOptions.ModifyFlag`** Details**
|
|
170
|
+
| Parameter | Type | Description |
|
|
171
|
+
| --- | --- | --- |
|
|
172
|
+
| <code>ROOM_NAME</code> | <code>enum</code> | - Use this flag when updating the scheduled room name.<br>- You must also set the <code>roomName</code> field in <code>ScheduleRoomOptions</code>. |
|
|
173
|
+
| <code>SCHEDULE_START_TIME</code> | <code>enum</code> | - Use this flag when updating the scheduled room start time.<br>- You must also set the <code>scheduleStartTime</code> field in <code>ScheduleRoomOptions</code>. |
|
|
174
|
+
| <code>SCHEDULE_END_TIME</code> | <code>enum</code> | - Use this flag when updating the scheduled room end time.<br>- You must also set the <code>scheduleEndTime</code> field in <code>ScheduleRoomOptions</code>. |
|
|
175
|
+
|
|
176
|
+
#### 4. Add or Remove Participants
|
|
177
|
+
|
|
178
|
+
To add or remove participants in a scheduled room, use `RoomStore.addScheduledAttendees` or `RoomStore.removeScheduledAttendees`.
|
|
179
|
+
``` java
|
|
180
|
+
import android.util.Log
|
|
181
|
+
import io.trtc.tuikit.atomicxcore.api.CompletionHandler
|
|
182
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomStore
|
|
183
|
+
|
|
184
|
+
// Add scheduled participants
|
|
185
|
+
fun addScheduledAttendees(roomID: String, userIDList: List<String>) {
|
|
186
|
+
RoomStore.shared().addScheduledAttendees(roomID, userIDList, object : CompletionHandler {
|
|
187
|
+
override fun onSuccess() {
|
|
188
|
+
Log.d("Room", "Successfully added scheduled participants")
|
|
189
|
+
}
|
|
190
|
+
override fun onFailure(code: Int, desc: String) {
|
|
191
|
+
Log.d("Room", "Failed to add scheduled participants: [Error code: $code] $desc")
|
|
192
|
+
}
|
|
193
|
+
})
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// Remove scheduled participants
|
|
197
|
+
fun removeScheduledAttendees(roomID: String, userIDList: List<String>) {
|
|
198
|
+
RoomStore.shared().removeScheduledAttendees(roomID, userIDList, object : CompletionHandler {
|
|
199
|
+
override fun onSuccess() {
|
|
200
|
+
Log.d("Room", "Successfully removed scheduled participants")
|
|
201
|
+
}
|
|
202
|
+
override fun onFailure(code: Int, desc: String) {
|
|
203
|
+
Log.d("Room", "Failed to remove scheduled participants: [Error code: $code] $desc")
|
|
204
|
+
}
|
|
205
|
+
})
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Step 3: Retrieve the Scheduled Room List
|
|
210
|
+
|
|
211
|
+
Use `RoomStore.getScheduledRoomList` to get all scheduled rooms for your account.
|
|
212
|
+
``` java
|
|
213
|
+
import android.util.Log
|
|
214
|
+
import io.trtc.tuikit.atomicxcore.api.ListResultCompletionHandler
|
|
215
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomInfo
|
|
216
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomStore
|
|
217
|
+
|
|
218
|
+
// Get scheduled room list
|
|
219
|
+
fun getScheduledRoomList(cursor: String? = null) {
|
|
220
|
+
// Use null for the first page; use the previous nextCursor for subsequent pages
|
|
221
|
+
RoomStore.shared().getScheduledRoomList(cursor, object : ListResultCompletionHandler<RoomInfo> {
|
|
222
|
+
override fun onSuccess(result: List<RoomInfo>, cursor: String) {
|
|
223
|
+
Log.d("Room", "Successfully retrieved scheduled room list")
|
|
224
|
+
}
|
|
225
|
+
override fun onFailure(code: Int, desc: String) {
|
|
226
|
+
Log.d("Room", "Failed to retrieve scheduled room list: [Error code: $code] $desc")
|
|
227
|
+
}
|
|
228
|
+
})
|
|
229
|
+
}
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Step 4: Retrieve the Participant List for a Scheduled Room
|
|
233
|
+
|
|
234
|
+
Use `RoomStore.getScheduledAttendees` to retrieve participants for a specific scheduled room.
|
|
235
|
+
``` java
|
|
236
|
+
import android.util.Log
|
|
237
|
+
import io.trtc.tuikit.atomicxcore.api.ListResultCompletionHandler
|
|
238
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomStore
|
|
239
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomUser
|
|
240
|
+
|
|
241
|
+
// Get participant list for a scheduled room
|
|
242
|
+
fun getScheduledAttendees(roomID: String, cursor: String? = null) {
|
|
243
|
+
// Use null for the first page; use the previous nextCursor for subsequent pages
|
|
244
|
+
RoomStore.shared().getScheduledAttendees(roomID, cursor, object : ListResultCompletionHandler<RoomUser> {
|
|
245
|
+
override fun onSuccess(result: List<RoomUser>, cursor: String) {
|
|
246
|
+
Log.d("Room", "Successfully retrieved scheduled room participant list")
|
|
247
|
+
}
|
|
248
|
+
override fun onFailure(code: Int, desc: String) {
|
|
249
|
+
Log.d("Room", "Failed to retrieve scheduled room participant list: [Error code: $code] $desc")
|
|
250
|
+
}
|
|
251
|
+
})
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Step 5: Subscribe to Real-Time Events and State Changes
|
|
256
|
+
|
|
257
|
+
Subscribe to scheduled room events with `RoomListener`. Example:
|
|
258
|
+
``` java
|
|
259
|
+
import android.util.Log
|
|
260
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomInfo
|
|
261
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomListener
|
|
262
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomStore
|
|
263
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomUser
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Subscribe to scheduled room events
|
|
267
|
+
*/
|
|
268
|
+
fun subscribeScheduledRoomEvents() {
|
|
269
|
+
val listener = object : RoomListener() {
|
|
270
|
+
override fun onAddedToScheduledRoom(roomInfo: RoomInfo) {
|
|
271
|
+
Log.d("Room", "Added to scheduled room. Room info: $roomInfo")
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
override fun onRemovedFromScheduledRoom(roomInfo: RoomInfo, operator: RoomUser) {
|
|
275
|
+
Log.d("Room", "Removed from scheduled room. Room info: $roomInfo, Removed by: $operator")
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
override fun onScheduledRoomCancelled(roomInfo: RoomInfo, operator: RoomUser) {
|
|
279
|
+
Log.d("Room", "Scheduled room cancelled. Room info: $roomInfo, Cancelled by: $operator")
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
override fun onScheduledRoomStartingSoon(roomInfo: RoomInfo) {
|
|
283
|
+
Log.d("Room", "Scheduled room starting soon. Room info: $roomInfo")
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
// Override other event callbacks as needed
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
RoomStore.shared().addRoomListener(listener)
|
|
290
|
+
}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
Subscribe to scheduled room list state changes with `RoomState`. Example:
|
|
294
|
+
``` java
|
|
295
|
+
import android.util.Log
|
|
296
|
+
import io.trtc.tuikit.atomicxcore.api.room.RoomStore
|
|
297
|
+
import kotlinx.coroutines.CoroutineScope
|
|
298
|
+
import kotlinx.coroutines.Dispatchers
|
|
299
|
+
import kotlinx.coroutines.launch
|
|
300
|
+
|
|
301
|
+
// Subscribe to scheduled room list state changes
|
|
302
|
+
private fun subscribeParticipantState() {
|
|
303
|
+
CoroutineScope(Dispatchers.Main).launch {
|
|
304
|
+
RoomStore.shared().state.scheduledRoomList.collect { scheduledRoomList ->
|
|
305
|
+
Log.d("Room", "Scheduled room list changed. Room list info: $scheduledRoomList")
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
## API Documentation
|
|
312
|
+
|
|
313
|
+
|**Store/Component**|**Feature Description**|**API Documentation**|
|
|
314
|
+
|---------|---------|---------|
|
|
315
|
+
|**RoomStore**|Complete room lifecycle management: create & join / join / leave / end room / update & retrieve room info / schedule rooms / call out-of-room members / listen for in-room passive events (such as room dissolved, room info updated, etc.).|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.room/-room-store/index.html)|
|
|
316
|
+
|
|
317
|
+
## FAQs
|
|
318
|
+
|
|
319
|
+
### Why am I not receiving the `onScheduledRoomStartingSoon` event from `RoomListener` after scheduling a room?
|
|
320
|
+
|
|
321
|
+
If you are not receiving the upcoming event notification after scheduling a room, check the following:
|
|
322
|
+
1. **Verify Reminder Parameter Configuration (**`reminderSecondsBeforeStart`**)**
|
|
323
|
+
|
|
324
|
+
- **Trigger Mechanism:** The `onScheduledRoomStartingSoon` event is triggered based on the `reminderSecondsBeforeStart` property set in `ScheduleRoomOptions`.
|
|
325
|
+
|
|
326
|
+
- **Default Value:** The default is 0, which means reminders are disabled.
|
|
327
|
+
|
|
328
|
+
- **Solution:** Set this parameter explicitly when scheduling a room. The value is in **seconds** and determines how long before the room starts the notification is sent.
|
|
329
|
+
|
|
330
|
+
2. **Check Scheduled Time Logic**
|
|
331
|
+
|
|
332
|
+
- **Calculation:** The reminder triggers only if: scheduled start time (`scheduleStartTime`) - current time > reminder offset (`reminderSecondsBeforeStart`).
|
|
333
|
+
|
|
334
|
+
- **Edge Case:** If the room is scheduled to start very soon (e.g., in 5 minutes) but the reminder is set for 10 minutes before start, the system cannot send the notification, and the event will be missed.
|
|
335
|
+
|
|
336
|
+
- **Solution:** Ensure the scheduled start time is sufficiently further in the future than the reminder interval you've set.
|
|
337
|
+
|
|
338
|
+
## Contact Us
|
|
339
|
+
|
|
340
|
+
For questions or feedback during integration or usage, contact info_rtc@tencent.com.
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
`RoomStore` 是 `AtomicXCore` 中专职房间事务管理的模块,深度集成了会中呼叫能力。本章节旨在指导如何利用 `RoomStore` 高效完成会中呼叫相关功能的开发与接入。
|
|
2
|
+
|
|
3
|
+
## 核心功能
|
|
4
|
+
- **会中呼叫**:房间内任意参与者均可呼叫房间外任意成员加入房间。
|
|
5
|
+
|
|
6
|
+
- **获取会中呼叫用户列表**:可以获取指定房间的会中呼叫的用户列表。
|
|
7
|
+
|
|
8
|
+
## 核心概念
|
|
9
|
+
|
|
10
|
+
在开始集成之前,需要通过下表了解一下 `RoomStore` 中与会中呼叫相关的几个核心概念:
|
|
11
|
+
| <strong>核心概念</strong> | <strong>核心职责与描述</strong> |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomCallStatus.html">RoomCallStatus</a> | 代表会中呼叫的状态,包含:<br>- <code>none</code>(默认态)。<br>- <code>calling</code>(呼叫中)。<br>- <code>timeout</code>(呼叫超时)。<br>- <code>rejected</code>(呼叫被拒绝)。 |
|
|
14
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomCallResult.html">RoomCallResult</a> | 代表会中呼叫的结果,包含:<br>- <code>success</code>(呼叫成功)。<br>- <code>alreadyInCalling</code>(已在呼叫中)。<br>- <code>alreadyInRoom</code>(已在房间中)。 |
|
|
15
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/CallRejectionReason.html">CallRejectionReason</a> | 代表呼叫被拒绝的原因,目前仅支持:<br>- <code>rejected</code>(主动拒绝)。<br>- <code>inOtherRoom</code>(在其他房间中)。 |
|
|
16
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomCall-class.html">RoomCall</a> | 代表会中呼叫业务的核心数据结构。负责存储呼叫者信息、被呼叫者信息、以及当前呼叫状态。 |
|
|
17
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener-class.html">RoomListener</a> | 代表房间动态的实时事件。其中包含会中呼叫相关的事件。 |
|
|
18
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomStore-class.html">RoomStore</a> | 这是与房间全生命周期相关的核心类。功能包含:发起会中呼叫,响应会中呼叫,获取房间的会中呼叫列表,并通过订阅其 <code>RoomListener</code> 来接收与会中呼叫相关的实时动态事件。 |
|
|
19
|
+
|
|
20
|
+
## 实现步骤
|
|
21
|
+
|
|
22
|
+
### 步骤1:组件集成
|
|
23
|
+
|
|
24
|
+
请参考 接入概览 集成 **AtomicXCore SDK**,并已完成 实现登录逻辑 部分接入。
|
|
25
|
+
|
|
26
|
+
### 步骤2:呼叫方功能
|
|
27
|
+
|
|
28
|
+
#### **1. 发起呼叫**
|
|
29
|
+
|
|
30
|
+
作为呼叫方调用 `RoomStore` 的 `callUserToRoom` 接口,可以批量呼叫用户进房。
|
|
31
|
+
``` java
|
|
32
|
+
import 'package:atomic_x_core/atomicxcore.dart';
|
|
33
|
+
|
|
34
|
+
Future<void> callUserToRoom({
|
|
35
|
+
required List<String> userIDList,
|
|
36
|
+
int timeout = 30,
|
|
37
|
+
String? extensionInfo,
|
|
38
|
+
}) async {
|
|
39
|
+
final result = await RoomStore.shared.callUserToRoom(
|
|
40
|
+
roomID: "roomID",
|
|
41
|
+
userIDList: userIDList,
|
|
42
|
+
timeout: timeout,
|
|
43
|
+
extensionInfo: extensionInfo,
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
if (result.isSuccess) {
|
|
47
|
+
print("呼叫用户请求发送成功");
|
|
48
|
+
} else {
|
|
49
|
+
print("呼叫用户失败: [错误码: ${result.errorCode}]: ${result.errorMessage}");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### **2. 取消呼叫**
|
|
55
|
+
|
|
56
|
+
作为呼叫方调用 `RoomStore` 的 `cancelCall` 接口,可以批量取消正在呼叫的申请。
|
|
57
|
+
``` java
|
|
58
|
+
import 'package:atomic_x_core/atomicxcore.dart';
|
|
59
|
+
|
|
60
|
+
Future<void> cancelCall(List<String> userIDList) async {
|
|
61
|
+
final result = await RoomStore.shared.cancelCall(
|
|
62
|
+
roomID: "roomID",
|
|
63
|
+
userIDList: userIDList,
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
if (result.isSuccess) {
|
|
67
|
+
print("取消呼叫成功");
|
|
68
|
+
} else {
|
|
69
|
+
print("取消呼叫失败: [错误码: ${result.errorCode}]: ${result.errorMessage}");
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
#### **3. 获取呼叫列表信息**
|
|
75
|
+
|
|
76
|
+
进入房间后,调用 `RoomStore` 的 `getPendingCalls` 接口,可以分页查询当前房间正在呼叫的用户列表信息。
|
|
77
|
+
``` java
|
|
78
|
+
import 'package:atomic_x_core/atomicxcore.dart';
|
|
79
|
+
|
|
80
|
+
Future<void> getPendingCalls(String roomID, String? cursor) async {
|
|
81
|
+
// cursor 为分页游标,首次调用时传入 null,获取第一页数据,后续调用时传入上次返回的 cursor 值。
|
|
82
|
+
final result = await RoomStore.shared.getPendingCalls(
|
|
83
|
+
roomID: roomID,
|
|
84
|
+
cursor: cursor,
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
if (result.isSuccess) {
|
|
88
|
+
print("获取呼叫列表成功,列表信息: ${result.data}, 分页游标: ${result.cursor}");
|
|
89
|
+
} else {
|
|
90
|
+
print("获取呼叫列表失败: [错误码: ${result.errorCode}]: ${result.errorMessage}");
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### **4. 订阅会中呼叫事件**
|
|
96
|
+
|
|
97
|
+
作为呼叫方订阅 `RoomStore` 的 `RoomListener` 能够实时获取呼叫的生命周期事件。通过监听以下回调,可以精准捕捉呼叫的最终结果并据此更新 UI 状态或执行后续业务逻辑。
|
|
98
|
+
``` java
|
|
99
|
+
import 'package:atomic_x_core/atomicxcore.dart';
|
|
100
|
+
|
|
101
|
+
late RoomListener _listener;
|
|
102
|
+
|
|
103
|
+
/// 订阅会中呼叫相关事件
|
|
104
|
+
void addRoomCallListener() {
|
|
105
|
+
_listener = RoomListener(
|
|
106
|
+
onCallTimeout: (roomInfo, call) {
|
|
107
|
+
print("呼叫超时 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}");
|
|
108
|
+
},
|
|
109
|
+
onCallAccepted: (roomInfo, call) {
|
|
110
|
+
print("呼叫已被接受 房间信息: ${roomInfo.roomID}, 被呼叫者: ${call.callee.userID}");
|
|
111
|
+
},
|
|
112
|
+
onCallRejected: (roomInfo, call, reason) {
|
|
113
|
+
print("呼叫被拒绝 房间信息: ${roomInfo.roomID}, 被呼叫者: ${call.callee.userID}, 拒绝原因: $reason");
|
|
114
|
+
},
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
RoomStore.shared.addRoomListener(_listener);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
void removeRoomCallListener() {
|
|
121
|
+
RoomStore.shared.removeRoomListener(_listener);
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**呼叫事件函数详细说明**
|
|
126
|
+
|
|
127
|
+
|事件函数|触发时机与说明|
|
|
128
|
+
|---------|---------|
|
|
129
|
+
|[onCallTimeout](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallTimeout.html)|呼叫超时。当呼叫请求在预设的时间内(由调用 callUserToRoom 时指定)未得到被呼叫方的响应时触发。此时,呼叫自动结束,呼叫方通常需要提示“对方无人接听”。|
|
|
130
|
+
|[onCallAccepted](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallAccepted.html)|呼叫被接受。被呼叫方主动点击了“接听”或“接受”按钮。收到此回调后,表示被呼叫者即将进入房间,呼叫方应更新 UI 状态,例如将该用户从“呼叫中”列表移除,并等待后续的成员进房通知来刷新成员列表。|
|
|
131
|
+
|[onCallRejected](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallRejected.html)|呼叫被拒绝。被呼叫方主动拒绝了通话请求,或者因为被呼叫方当前正处于其他房间中而自动拒绝。回调中通常包含拒绝原因(如主动拒绝或在其他房间中)。|
|
|
132
|
+
|
|
133
|
+
### 步骤3:被呼叫方功能
|
|
134
|
+
|
|
135
|
+
#### **1. 订阅会中呼叫事件**
|
|
136
|
+
|
|
137
|
+
作为被呼叫方订阅 `RoomStore` 的 `RoomListener` 可以实时监听并响应来自呼叫方的呼叫行为。以下是构建呼叫提醒界面以及维护呼叫链路状态的关键事件。
|
|
138
|
+
``` java
|
|
139
|
+
import 'package:atomic_x_core/atomicxcore.dart';
|
|
140
|
+
|
|
141
|
+
late RoomListener _listener;
|
|
142
|
+
|
|
143
|
+
/// 订阅会中呼叫相关事件
|
|
144
|
+
void addRoomCallListener() {
|
|
145
|
+
_listener = RoomListener(
|
|
146
|
+
onCallReceived: (roomInfo, call, extensionInfo) {
|
|
147
|
+
print("收到房间呼叫 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}, 扩展信息: $extensionInfo");
|
|
148
|
+
},
|
|
149
|
+
onCallCancelled: (roomInfo, call) {
|
|
150
|
+
print("呼叫被取消 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}");
|
|
151
|
+
},
|
|
152
|
+
onCallRevokedByAdmin: (roomInfo, call, operatorUser) {
|
|
153
|
+
print("呼叫被管理员移除 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}, 移除操作者: ${operatorUser.userID}");
|
|
154
|
+
},
|
|
155
|
+
onCallHandledByOtherDevice: (roomInfo, isAccepted) {
|
|
156
|
+
print("呼叫已被其他设备处理 房间信息: ${roomInfo.roomID}, 处理结果: $isAccepted");
|
|
157
|
+
},
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
RoomStore.shared.addRoomListener(_listener);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
void removeRoomCallListener() {
|
|
164
|
+
RoomStore.shared.removeRoomListener(_listener);
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**事件函数详细说明**
|
|
169
|
+
|
|
170
|
+
|事件函数|触发时机与说明|
|
|
171
|
+
|---------|---------|
|
|
172
|
+
|[onCallReceived](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallReceived.html)|收到呼叫邀请。当有其他用户向您发起入会邀请时触发。收到此回调后,被呼叫方通常应立即弹出“呼叫提醒”界面,展示呼叫者信息、房间信息,并提供“接听”和“拒绝”按钮。|
|
|
173
|
+
|[onCallCancelled](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallCancelled.html)|呼叫被发起方取消。呼叫方在您未做出响应前,主动撤回了呼叫请求。收到此回调后,被呼叫方应立即关闭当前的来电界面,并提示“对方已取消呼叫”,以恢复应用正常操作流程。|
|
|
174
|
+
|[onCallRevokedByAdmin](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallRevokedByAdmin.html)|呼叫被管理员撤销。房间管理员或后台系统因权限变更、房间解散等原因强行终止了该笔呼叫邀请。收到此通知后,被呼叫方需立即停止呼叫流程并隐藏相关 UI,处理逻辑通常类似于呼叫被取消。|
|
|
175
|
+
|[onCallHandledByOtherDevice](https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomListener/onCallHandledByOtherDevice.html)|呼叫已在其他设备处理。当用户在多个设备(例如手机和 iPad)同时登录时,如果呼叫已在其中一台设备上被处理(接受或拒绝),当前设备会收到此通知,用于同步 UI 状态并自动消除呼叫界面。|
|
|
176
|
+
|
|
177
|
+
#### **2. 接受呼叫、拒绝呼叫**
|
|
178
|
+
|
|
179
|
+
作为被呼叫方调用 `RoomStore` 的 `acceptCall` 或者 `rejectCall` 接口,处理接受或者拒绝呼叫邀请。
|
|
180
|
+
``` java
|
|
181
|
+
import 'package:atomic_x_core/atomicxcore.dart';
|
|
182
|
+
|
|
183
|
+
late RoomListener _listener;
|
|
184
|
+
|
|
185
|
+
/// 订阅会中呼叫相关事件
|
|
186
|
+
void addRoomCallListener() {
|
|
187
|
+
_listener = RoomListener(
|
|
188
|
+
onCallReceived: (roomInfo, call, extensionInfo) {
|
|
189
|
+
print("收到房间呼叫 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}, 扩展信息: $extensionInfo");
|
|
190
|
+
// 接受、拒绝呼叫邀请操作
|
|
191
|
+
},
|
|
192
|
+
);
|
|
193
|
+
|
|
194
|
+
RoomStore.shared.addRoomListener(_listener);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
void removeRoomCallListener() {
|
|
198
|
+
RoomStore.shared.removeRoomListener(_listener);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// 接受呼叫邀请
|
|
202
|
+
Future<void> acceptCall(String roomID) async {
|
|
203
|
+
final result = await RoomStore.shared.acceptCall(roomID);
|
|
204
|
+
|
|
205
|
+
if (result.isSuccess) {
|
|
206
|
+
print("接受呼叫成功,房间ID: $roomID");
|
|
207
|
+
} else {
|
|
208
|
+
print("接受呼叫失败: [错误码: ${result.errorCode}] ${result.errorMessage}");
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// 拒绝呼叫邀请
|
|
213
|
+
Future<void> rejectCall(String roomID, {CallRejectionReason reason = CallRejectionReason.rejected}) async {
|
|
214
|
+
final result = await RoomStore.shared.rejectCall(
|
|
215
|
+
roomID: roomID,
|
|
216
|
+
reason: reason,
|
|
217
|
+
);
|
|
218
|
+
|
|
219
|
+
if (result.isSuccess) {
|
|
220
|
+
print("拒绝呼叫成功,房间ID: $roomID");
|
|
221
|
+
} else {
|
|
222
|
+
print("拒绝呼叫失败: [错误码: ${result.errorCode}] ${result.errorMessage}");
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## API 文档
|
|
228
|
+
| <strong>Store/Component</strong> | <strong>功能描述</strong> | <strong>API 文档</strong> |
|
|
229
|
+
| --- | --- | --- |
|
|
230
|
+
| <strong>RoomStore</strong> | 房间全生命周期管理:创建并加入 / 加入 / 离开 / 结束房间 / 更新、获取房间信息 / 预定房间 / 呼叫房间外成员 / 监听房间内被动事件(例如房间解散,房间信息更新等)。 | <a href="https://tencent-rtc.github.io/TUIKit_Flutter/api_room_room_store/RoomStore-class.html">API 文档</a> |
|