@tencentcloud/sdk-mcp 1.4.7 → 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/index.js +0 -1
- package/knowledge/bm25-cache.js +73 -0
- package/knowledge/bm25.js +147 -0
- package/knowledge/build-index.js +65 -0
- package/knowledge/chunker.js +167 -0
- package/knowledge/content-loader.js +44 -0
- package/knowledge/extractors.js +25 -0
- package/knowledge/path-meta.js +175 -0
- package/knowledge/search/exact-lookup.js +330 -0
- package/knowledge/search/filter-pool.js +86 -0
- package/knowledge/search/requires-framework.js +72 -0
- package/knowledge/search/search-knowledge.js +226 -0
- package/package.json +9 -9
- package/resource/_schema/feature-aliases.yaml +10 -0
- package/resource/_schema/goal-tags.yaml +72 -0
- package/resource/_schema/products.yaml +16 -0
- package/resource/_schema/trtc-intents.yaml +27 -0
- package/resource/_schema/types.yaml +44 -0
- package/resource/index/component-slugs.json +1 -0
- package/resource/index/manifest.json +1 -0
- package/resource/{doc → integration}/callkit/preset/android/integration.md +32 -28
- package/resource/{doc → integration}/callkit/preset/flutter/integration.md +109 -54
- package/resource/integration/callkit/preset/ios/integration.md +411 -0
- package/resource/integration/callkit/preset/react/integration.md +499 -0
- package/resource/integration/callkit/preset/vue/integration.md +768 -0
- package/resource/{doc/chatkit → integration/chat/preset}/android/integration.md +11 -11
- package/resource/{doc/chatkit → integration/chat/preset}/flutter/integration.md +59 -37
- package/resource/integration/chat/preset/ios/integration.md +568 -0
- package/resource/{doc/chatkit → integration/chat/preset}/react/integration.md +127 -95
- package/resource/integration/chat/preset/uni-app/integration.md +494 -0
- package/resource/{doc/chatkit → integration/chat/preset}/vue/integration.md +163 -143
- package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +15 -15
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +25 -13
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-h5-integration.md +15 -9
- package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +31 -26
- package/resource/integration/roomkit/preset/vue/integration.md +571 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +852 -0
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +929 -0
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +364 -0
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1150 -0
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1216 -0
- package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +412 -0
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1191 -0
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1292 -0
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +537 -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 +168 -0
- package/resource/knowledge/callkit/faq/common.md +180 -0
- package/resource/knowledge/callkit/faq/flutter.md +52 -0
- package/resource/knowledge/callkit/faq/ios.md +116 -0
- package/resource/knowledge/callkit/faq/uniapp-app.md +89 -0
- package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +217 -0
- package/resource/knowledge/callkit/faq/web.md +363 -0
- package/resource/knowledge/callkit/preset/android/api.md +413 -0
- package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
- package/resource/knowledge/callkit/preset/ios/api.md +256 -0
- package/resource/knowledge/callkit/preset/web/api.md +79 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +72 -0
- package/resource/knowledge/chat/preset/android/features/contact-list.md +41 -0
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +123 -0
- package/resource/knowledge/chat/preset/android/features/language.md +142 -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/{doc/chatkit → knowledge/chat/preset}/android/features/theme.md +21 -18
- package/resource/knowledge/chat/preset/android-view/integration.md +448 -0
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +62 -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 +163 -0
- package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
- package/resource/{doc/chatkit → knowledge/chat/preset}/flutter/features/theme.md +47 -19
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +92 -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 +105 -0
- package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
- package/resource/knowledge/chat/preset/ios/features/message-list.md +164 -0
- package/resource/knowledge/chat/preset/ios/features/search.md +94 -0
- package/resource/{doc/chatkit → knowledge/chat/preset}/ios/features/theme.md +54 -51
- package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +157 -94
- package/resource/knowledge/chat/preset/react/features/chat-setting.md +123 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +256 -104
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +217 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/conversation-list.md +86 -79
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +99 -0
- package/resource/knowledge/chat/preset/react/features/conversation-search.md +58 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +30 -83
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-list.md +22 -25
- package/resource/knowledge/chat/preset/react/features/search.md +531 -0
- package/resource/knowledge/chat/preset/react/features/theme.md +16 -0
- package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/chat-setting.md +0 -4
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/contact-list.md +59 -53
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-actions.md +49 -43
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-list.md +61 -49
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-preview.md +43 -40
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +1 -1
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/message-input.md +128 -105
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/message-list.md +108 -195
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +74 -68
- package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
- package/resource/knowledge/chat/urls/error-code.md +16 -0
- package/resource/knowledge/chat/urls/product.md +61 -0
- package/resource/knowledge/chat/urls/restapi.md +226 -0
- package/resource/knowledge/chat/urls/sdk/android.md +84 -0
- package/resource/knowledge/chat/urls/sdk/flutter.md +73 -0
- package/resource/knowledge/chat/urls/sdk/ios.md +84 -0
- package/resource/knowledge/chat/urls/sdk/web.md +88 -0
- package/resource/knowledge/chat/urls/webhook.md +73 -0
- package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/AudioEffectStore.md +79 -76
- 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/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/CameraView.md +7 -6
- 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/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/LikeStore.md +12 -10
- 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 +439 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +221 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/AudioEffectStore.md +79 -76
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/BaseBeautyStore.md +43 -45
- 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 +420 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/LikeStore.md +12 -11
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/LiveCoreView.md +49 -42
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +397 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +183 -0
- package/resource/{doc/livekit/core-sdk/live/ios/api-reference → knowledge/livekit/core-sdk/api-reference/ios}/AudioEffectStore.md +79 -75
- 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/{doc/livekit/core-sdk/live/ios/api-reference → knowledge/livekit/core-sdk/api-reference/ios}/LikeStore.md +12 -10
- 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 +434 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +187 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +780 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +59 -51
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +37 -34
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +68 -38
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +18 -15
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +17 -17
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +86 -80
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +53 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +47 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +26 -22
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +16 -13
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +33 -21
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +29 -25
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +21 -20
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +78 -69
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-host-interaction.md +47 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +48 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +27 -23
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +15 -12
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +39 -36
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +42 -29
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +19 -16
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +20 -19
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +55 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +50 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +48 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +26 -22
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +59 -51
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +41 -38
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +67 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +53 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +86 -80
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +45 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +43 -42
- package/resource/knowledge/livekit/core-sdk/voice/android/voice-room-list.md +523 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-audience-list.md +16 -13
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-audio-effect.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-barrage.md +33 -21
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +34 -28
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-gift.md +73 -64
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +46 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-room-list.md +165 -148
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +19 -16
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +40 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +41 -28
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +54 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +52 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +55 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +47 -45
- package/resource/knowledge/livekit/core-sdk/voice/ios/voice-room-list.md +404 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-audience-list.md +40 -57
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-audio-effect.md +38 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-barrage.md +53 -53
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-co-guest-interaction.md +106 -116
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-gift.md +49 -59
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-integration.md +52 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-room-list.md +38 -46
- package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +915 -0
- package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +179 -0
- package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +419 -0
- package/resource/knowledge/push/config/android/fcm.md +133 -0
- package/resource/knowledge/push/config/android/honor.md +111 -0
- package/resource/knowledge/push/config/android/huawei.md +106 -0
- package/resource/knowledge/push/config/android/meizu.md +121 -0
- package/resource/knowledge/push/config/android/oppo.md +108 -0
- package/resource/knowledge/push/config/android/vivo.md +101 -0
- package/resource/knowledge/push/config/android/xiaomi.md +99 -0
- package/resource/knowledge/push/integration/android.md +1028 -0
- package/resource/knowledge/push/integration/donut.md +271 -0
- package/resource/knowledge/push/integration/flutter.md +363 -0
- package/resource/knowledge/push/integration/harmonyos.md +72 -0
- package/resource/knowledge/push/integration/ios.md +705 -0
- package/resource/knowledge/push/integration/react-native.md +337 -0
- package/resource/knowledge/push/integration/uni-app.md +461 -0
- package/resource/knowledge/push/integration/unity.md +357 -0
- package/resource/knowledge/push/integration/unreal-engine.md +353 -0
- package/resource/knowledge/push/overview/prepare.md +30 -0
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/call-user-to-room.md +22 -20
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/room-participant-state.md +22 -193
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/room-state.md +33 -32
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/schedule-room.md +30 -29
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/room-participant-state.md +22 -21
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/room-state.md +29 -28
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/schedule-room.md +17 -16
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/call-user-to-room.md +22 -20
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/room-participant-state.md +49 -218
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/room-state.md +37 -37
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/schedule-room.md +28 -28
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/call-user-to-room.md +122 -7
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +318 -3
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +1504 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/free-beauty-panel.md +4 -3
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +709 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +1105 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +635 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +529 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/schedule-room.md +256 -13
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/screen-share.md +218 -25
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/virtual-background.md +4 -3
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/android/integration.md +50 -64
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/flutter/integration.md +34 -31
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/ios/integration.md +45 -53
- package/resource/knowledge/roomkit/preset/react/integration.md +571 -0
- package/resource/{doc → knowledge}/rtcengine/web/how_to_run_web_sdk_demo.md +31 -15
- package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +9 -3
- package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +1 -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 +6 -6
- 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 +4 -4
- package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +4 -4
- package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
- package/resource/{doc → knowledge}/trtc/android/TRTCCloud.md +547 -495
- package/resource/{doc → knowledge}/trtc/android/TRTCCloudDef.md +434 -403
- package/resource/{doc → knowledge}/trtc/android/TRTCCloudListener.md +394 -348
- package/resource/{doc → knowledge}/trtc/android/TRTCStatistics.md +17 -15
- package/resource/{doc → knowledge}/trtc/android/TXAudioEffectManager.md +227 -197
- package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
- package/resource/{doc → knowledge}/trtc/android/TXDeviceManager.md +70 -63
- package/resource/{doc → knowledge}/trtc/android/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/ITRTCCloud.md +599 -544
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/ITRTCStatistics.md +17 -15
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +403 -0
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TRTCCloudCallback.md +439 -387
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TRTCTypeDef.md +417 -387
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCCloud.md +619 -559
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCCloudDelegate.md +409 -360
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCStatistics.md +17 -15
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXAudioEffectManager.md +187 -164
- package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +399 -0
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXLiveSDKTypeDef.md +422 -396
- package/server-config.js +0 -1
- package/server.js +22 -12
- package/streamable-http.js +0 -1
- package/tools/call/get_native_call_uikit_integration.js +2 -4
- package/tools/call/get_native_callkit_core_integration.js +2 -6
- package/tools/call/get_web_call_uikit_integration.js +2 -4
- package/tools/chat/get_native_chat_uikit_integration.js +2 -4
- package/tools/chat/get_web_chat_uikit_integration.js +2 -4
- package/tools/common/get_usersig.js +0 -1
- package/tools/common/present_framework_choice.js +9 -4
- package/tools/common/record_answer.js +19 -26
- package/tools/common/record_feedback.js +17 -31
- package/tools/common/search_trtc_knowledge.js +44 -0
- package/tools/definitions/get_native_call_uikit_integration_def.js +2 -1
- package/tools/definitions/get_native_callkit_core_integration_def.js +2 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js +3 -2
- package/tools/definitions/get_native_livekit_core_integration_def.js +2 -1
- package/tools/definitions/get_usersig_def.js +0 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +2 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +4 -3
- package/tools/definitions/get_web_room_core_integration_def.js +46 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +3 -1
- package/tools/definitions/integration-boundary.js +5 -0
- package/tools/definitions/present_framework_choice_def.js +11 -10
- package/tools/definitions/record_answer_def.js +6 -5
- package/tools/definitions/record_feedback_def.js +4 -3
- package/tools/definitions/search_trtc_knowledge_def.js +69 -0
- package/tools/index.js +5 -37
- package/tools/live/get_native_livekit_core_integration.js +1 -4
- package/tools/live/get_web_live_uikit_integration.js +2 -5
- package/tools/room/get_web_room_core_integration.js +47 -0
- package/tools/room/get_web_room_uikit_integration.js +2 -4
- package/utils/generate-structured-result.js +4 -11
- package/utils/generate-usersig.js +0 -1
- package/utils/get-device-identifier.js +0 -1
- package/utils/get-doc-content.js +14 -9
- package/utils/http-get.js +0 -1
- package/utils/http-post.js +0 -1
- package/utils/report-cls-client.js +22 -21
- package/utils/report-es-client.js +1 -2
- package/utils/report-runtime-error-cls-client.js +0 -1
- package/index.js.map +0 -1
- package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
- package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -942
- package/resource/doc/callkit/core-sdk/android/make-call.md +0 -876
- package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -368
- package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1132
- package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1206
- package/resource/doc/callkit/core-sdk/flutter/offline-push.md +0 -357
- package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1009
- package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1154
- package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -470
- package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -1146
- package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1267
- package/resource/doc/callkit/faq/android-faq.md +0 -767
- package/resource/doc/callkit/faq/flutter-faq.md +0 -749
- package/resource/doc/callkit/faq/ios-faq.md +0 -759
- package/resource/doc/callkit/faq/web-faq.md +0 -753
- package/resource/doc/callkit/preset/android/api.md +0 -330
- package/resource/doc/callkit/preset/flutter/api.md +0 -401
- package/resource/doc/callkit/preset/ios/api.md +0 -282
- package/resource/doc/callkit/preset/ios/integration.md +0 -188
- package/resource/doc/callkit/preset/react/api.md +0 -600
- package/resource/doc/callkit/preset/react/integration.md +0 -86
- package/resource/doc/callkit/preset/vue/api.md +0 -600
- package/resource/doc/callkit/preset/vue/integration.md +0 -83
- package/resource/doc/chatkit/android/faq.md +0 -109
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -280
- package/resource/doc/chatkit/faq/common/product.md +0 -82
- package/resource/doc/chatkit/faq/common/server.md +0 -53
- package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -183
- package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -54
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -279
- package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
- package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -292
- package/resource/doc/chatkit/flutter/faq.md +0 -22
- package/resource/doc/chatkit/ios/faq.md +0 -109
- 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 -117
- package/resource/doc/chatkit/react/components/chat.md +0 -38
- package/resource/doc/chatkit/react/components/component-list.md +0 -35
- package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
- package/resource/doc/chatkit/react/components/conversation-preview.md +0 -116
- package/resource/doc/chatkit/react/components/conversation-search.md +0 -57
- package/resource/doc/chatkit/react/components/search.md +0 -282
- package/resource/doc/chatkit/react/components/tuikit.md +0 -43
- package/resource/doc/chatkit/react/faq.md +0 -26
- package/resource/doc/chatkit/vue/components/avatar.md +0 -104
- package/resource/doc/chatkit/vue/components/chat-header.md +0 -149
- package/resource/doc/chatkit/vue/components/chat.md +0 -42
- package/resource/doc/chatkit/vue/components/component-list.md +0 -89
- package/resource/doc/chatkit/vue/components/tuikit.md +0 -45
- package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
- package/resource/doc/chatkit/vue/faq.md +0 -35
- package/resource/doc/livekit/core-sdk/live/android/api-reference/BarrageStore.md +0 -148
- package/resource/doc/livekit/core-sdk/live/android/api-reference/BattleStore.md +0 -316
- package/resource/doc/livekit/core-sdk/live/android/api-reference/CoGuestStore.md +0 -419
- package/resource/doc/livekit/core-sdk/live/android/api-reference/CoHostStore.md +0 -325
- package/resource/doc/livekit/core-sdk/live/android/api-reference/DeviceStore.md +0 -436
- package/resource/doc/livekit/core-sdk/live/android/api-reference/GiftStore.md +0 -165
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveAudienceStore.md +0 -239
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveCoreView.md +0 -74
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveSeatStore.md +0 -417
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LoginStore.md +0 -207
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BarrageStore.md +0 -158
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BattleStore.md +0 -304
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoGuestStore.md +0 -394
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoHostStore.md +0 -303
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/DeviceStore.md +0 -410
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/GiftStore.md +0 -160
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveAudienceStore.md +0 -231
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveSeatStore.md +0 -375
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LoginStore.md +0 -170
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BarrageStore.md +0 -165
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BaseBeautyStore.md +0 -143
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BattleStore.md +0 -298
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoGuestStore.md +0 -349
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoHostStore.md +0 -297
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/DeviceStore.md +0 -471
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/GiftStore.md +0 -179
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveAudienceStore.md +0 -238
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveCoreView.md +0 -74
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveSeatStore.md +0 -412
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LoginStore.md +0 -173
- package/resource/doc/livekit/core-sdk/voice/android/voice-room-list.md +0 -365
- package/resource/doc/livekit/core-sdk/voice/ios/voice-room-list.md +0 -336
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
- package/resource/doc/livekit/preset/live/vue/components/barrage.md +0 -291
- package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -88
- package/resource/doc/livekit/preset/live/vue/components/live-audience-list.md +0 -164
- package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -130
- package/resource/doc/livekit/preset/live/vue/components/live-view.md +0 -203
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -211
- package/resource/doc/livekit/preset/live/vue/faq.md +0 -1
- package/resource/doc/roomkit/faq/common/error-code.md +0 -67
- package/resource/doc/roomkit/flutter/features/call-user-to-room.md +0 -228
- package/resource/doc/roomkit/vue/faq.md +0 -1
- package/resource/doc/roomkit/vue/features/device-state.md +0 -460
- package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
- package/resource/doc/roomkit/vue/features/room-participant-state.md +0 -385
- package/resource/doc/roomkit/vue/features/room-state.md +0 -280
- package/resource/doc/roomkit/vue/features/room-view.md +0 -241
- package/resource/doc/roomkit/vue/integration.md +0 -315
- package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -472
- package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -388
- package/resource/doc/trtc/android/TXBeautyManager.md +0 -403
- package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -404
- package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -382
- package/server-config.js.map +0 -1
- package/server.js.map +0 -1
- package/streamable-http.js.map +0 -1
- package/tools/call/get_callkit_api.js +0 -33
- package/tools/call/get_callkit_api.js.map +0 -1
- package/tools/call/get_native_call_uikit_integration.js.map +0 -1
- package/tools/call/get_native_callkit_core_integration.js.map +0 -1
- package/tools/call/get_web_call_uikit_integration.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_native_chat_uikit_integration.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/chat/get_web_chat_uikit_integration.js.map +0 -1
- package/tools/common/get_faq.js +0 -266
- 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.map +0 -1
- package/tools/common/record_answer.js.map +0 -1
- package/tools/common/record_feedback.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 -28
- package/tools/definitions/get_callkit_api_def.js.map +0 -1
- package/tools/definitions/get_faq_def.js +0 -40
- package/tools/definitions/get_faq_def.js.map +0 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_callkit_core_integration_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_chat_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +0 -33
- package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_integration_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_usersig_def.js.map +0 -1
- package/tools/definitions/get_web_call_uikit_integration_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_chat_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_api_def.js +0 -27
- package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_component_detail_def.js +0 -29
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -30
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
- package/tools/definitions/present_framework_choice_def.js.map +0 -1
- package/tools/definitions/record_answer_def.js.map +0 -1
- package/tools/definitions/record_feedback_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/index.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_native_livekit_core_integration.js.map +0 -1
- package/tools/live/get_web_live_uikit_integration.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_room_uikit_integration.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 -122
- package/utils/build-session-directives.js.map +0 -1
- package/utils/generate-structured-result.js.map +0 -1
- package/utils/generate-usersig.js.map +0 -1
- package/utils/get-device-identifier.js.map +0 -1
- package/utils/get-doc-content.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/http-get.js.map +0 -1
- package/utils/http-post.js.map +0 -1
- package/utils/report-cls-client.js.map +0 -1
- package/utils/report-es-client.js.map +0 -1
- package/utils/report-runtime-error-cls-client.js.map +0 -1
- /package/resource/{doc/callkit/faq/common → knowledge/callkit/faq}/error-code.md +0 -0
- /package/resource/{doc/livekit/faq/common → knowledge/livekit/faq}/error-code.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/29-advanced-water-mark.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/34-advanced-proxy.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.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/38-advanced-basic-beauty.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
- /package/resource/{doc/rtcengine/faq/common → knowledge/share}/userSig.md +0 -0
|
@@ -1,56 +1,27 @@
|
|
|
1
1
|
`RoomParticipantStore` 是 `AtomicXCore` 中专用于房间参与者管理的模块。该模块为多人房间场景提供了核心能力,支持构建完整的成员管理体系。
|
|
2
2
|
|
|
3
|
-
## 房间模式说明
|
|
4
|
-
|
|
5
|
-
在开始使用成员管理功能之前,需要了解 `AtomicXCore` 中房间模块支持的两种房间模式,不同模式下的成员管理功能有所区别:
|
|
6
|
-
| **标准房间模式(Standard Room)** | **网络研讨会房间模式(Webinar Room)** |
|
|
7
|
-
| --- | --- |
|
|
8
|
-
| - **适用场景:**小型会议、团队协作、朋友聊天等。<br>- **成员特点:**所有成员都是参与者,可以自由开启/关闭音视频设备。<br>- **管理特点:**扁平化管理,房主可设置管理员进行协助管理。 | - **适用场景**:网络研讨会、在线培训等。<br>- **成员特点**:<br>- **嘉宾(Participants)**:可以开启音视频设备,参与互动。<br>- **观众(Audience)**:只能观看,无法开启音视频设备。<br>- **管理特点**:分层管理,支持观众与嘉宾身份转换。 |
|
|
9
|
-
|
|
10
3
|
## 核心功能
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
- **获取观众列表:**网络研讨会房间模式下,获取观众列表信息。
|
|
14
|
-
|
|
15
|
-
- **搜索房间内成员:**搜索所在房间内的指定用户。
|
|
4
|
+
- **获取参与者列表**:获取并展示当前房间内所有参与者信息。
|
|
16
5
|
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
- **将嘉宾降级为观众:**网络研讨会房间模式下,可以将嘉宾降级为观众, 降级为观众的用户无法与房间内的嘉宾进行语音互动。
|
|
20
|
-
|
|
21
|
-
- **转移房主身份**:房主可以将房主身份转移给房间内任意一名参与者。
|
|
6
|
+
- **房主转移**:房主可以将房主身份转移给房间内任意一名参与者。
|
|
22
7
|
|
|
23
8
|
- **设置/撤销管理员**:房主可以设置参与者为管理员,同时也可撤销房间内的管理员。
|
|
24
9
|
|
|
25
|
-
-
|
|
10
|
+
- **将参与者移除房间**:房主或者管理员可以将房间内任意一名参与者移出房间。
|
|
26
11
|
|
|
27
12
|
- **更新参与者信息**:房间内所有人都可以更新自己的参与者信息。
|
|
28
13
|
|
|
29
14
|
- **音视频设备管理**:支持申请/邀请打开摄像头、麦克风,关闭远端摄像头、麦克风,以及房主和管理员设置全体静音,全体禁用摄像头功能。
|
|
30
15
|
|
|
31
|
-
## 功能对比
|
|
32
|
-
| **功能** | **标准房间模式** | **网络研讨会房间模式** |
|
|
33
|
-
| --- | --- | --- |
|
|
34
|
-
| 获取参与者列表 | 获取所有房间成员 | 获取嘉宾列表 |
|
|
35
|
-
| 获取观众列表 | 不适用 | 获取观众列表 |
|
|
36
|
-
| 搜索房间内成员 | 支持 | 支持 |
|
|
37
|
-
| 将观众提升为嘉宾 | 不适用 | 支持 |
|
|
38
|
-
| 将嘉宾降级为观众 | 不适用 | 支持 |
|
|
39
|
-
| 转移房主身份 | 支持 | 支持 |
|
|
40
|
-
| 设置/撤销管理员 | 支持 | 支持 |
|
|
41
|
-
| 移出房间 | 支持 | 支持 |
|
|
42
|
-
| 更新参与者信息 | 支持 | 支持 |
|
|
43
|
-
| 音视频设备管理 | 支持 | 支持 |
|
|
44
|
-
|
|
45
16
|
## 核心概念
|
|
46
17
|
|
|
47
|
-
|
|
48
|
-
|
|
|
18
|
+
在开始集成之前,需要通过下表了解一下 `RoomParticipantStore` 相关的几个核心概念:
|
|
19
|
+
| <strong>核心概念</strong> | <strong>类型</strong> | <strong>核心职责与描述</strong> |
|
|
49
20
|
| --- | --- | --- |
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
|
|
|
21
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomparticipant">RoomParticipant</a> | <code>struct</code> | 代表参与者的核心数据模型,封装了参与者的完整信息和状态管理能力。<br>核心功能包括:参与者基本信息管理(用户 ID 、用户名称、用户头像、房间内角色身份)、参与者设备状态管理(麦克风状态,摄像头状态,屏幕分享状态,消息状态)。 |
|
|
22
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomparticipantstate">RoomParticipantState</a> | <code>struct</code> | 代表参与者状态管理的核心数据结构,负责维护房间内与参与者相关的状态信息。<br>核心属性:<br>- <code>participantList</code> 存储了当前所在房间的所有参与者信息集合。<br>- <code>participantListCursor</code> 则代表房间内参与者列表的分页快照。<br>- <code>localParticipant</code> 则代表自身所在房间内的参与者信息。 |
|
|
23
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomparticipantevent">RoomParticipantEvent</a> | <code>enum</code> | 代表房间内和参与者相关的实时事件。主要事件分为三大类:参与者进退房事件、 参与者身份改变事件,参与者设备控制事件。 |
|
|
24
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomparticipantstore">RoomParticipantStore</a> | <code>class</code> | 这是参与者控制相关的核心类。功能包含:控制房间内参与者音视频状态、执行参与者管理操作,并通过订阅其 <code>participantEventPublisher</code> 来接收实时事件。 |
|
|
54
25
|
|
|
55
26
|
## 实现步骤
|
|
56
27
|
|
|
@@ -60,66 +31,34 @@
|
|
|
60
31
|
|
|
61
32
|
### 步骤2:获取参与者列表
|
|
62
33
|
|
|
63
|
-
在加入房间后,调用RoomParticipantStore的getParticipantList
|
|
64
|
-
- **标准房间模式:**获取房间内所有成员列表。
|
|
65
|
-
|
|
66
|
-
- **网络研讨会房间模式:**获取房间内嘉宾列表。
|
|
67
|
-
|
|
68
|
-
``` swift
|
|
69
|
-
import Foundation
|
|
70
|
-
import AtomicXCore
|
|
71
|
-
|
|
72
|
-
func getParticipantList() {
|
|
73
|
-
// 1. 业务逻辑说明
|
|
74
|
-
// 前提:需要先完成进房操作,通过进房的roomID创建RoomParticipantStore实例
|
|
75
|
-
let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
|
|
76
|
-
|
|
77
|
-
// 2. 首次获取参与者列表(从头开始)
|
|
78
|
-
// 支持分页加载,可以通过 cursor 参数实现增量获取
|
|
79
|
-
let initialCursor: String? = nil // nil 表示从第一页开始获取
|
|
80
|
-
|
|
81
|
-
participantStore.getParticipantList(cursor: initialCursor) { result in
|
|
82
|
-
switch result {
|
|
83
|
-
case .success(let participantInfo):
|
|
84
|
-
print("成功获取参与者列表,数量: \(participantInfo.0.count)")
|
|
85
|
-
case .failure(let error):
|
|
86
|
-
print("获取参与者列表失败 [错误码: \(error.code)]: \(error.message)")
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### 步骤3:获取观众列表
|
|
93
|
-
|
|
94
|
-
网络研讨会房间模式下,可以通过调用`RoomParticipantStore`的`getAudienceList`接口获取房间内的观众列表。
|
|
34
|
+
在加入房间后,调用 `RoomParticipantStore` 的 `getParticipantList` 接口获取到房间内参与者列表。
|
|
95
35
|
``` swift
|
|
96
36
|
import Foundation
|
|
97
37
|
import AtomicXCore
|
|
98
38
|
|
|
99
|
-
func
|
|
100
|
-
// 前提:需要先完成进房操作, 并且进房时 roomType 设置为 webinar 类型。
|
|
39
|
+
func getParticipantList() {
|
|
101
40
|
// 1. 业务逻辑说明
|
|
102
|
-
//
|
|
41
|
+
// 前提:需要先完成进房操作,通过进房的roomID创建RoomParticipantStore实例
|
|
103
42
|
let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
|
|
104
43
|
|
|
105
|
-
// 2.
|
|
44
|
+
// 2. 首次获取参与者列表(从头开始)
|
|
106
45
|
// 支持分页加载,可以通过 cursor 参数实现增量获取
|
|
107
46
|
let initialCursor: String? = nil // nil 表示从第一页开始获取
|
|
108
47
|
|
|
109
|
-
participantStore.
|
|
48
|
+
participantStore.getParticipantList(cursor: initialCursor) { result in
|
|
110
49
|
switch result {
|
|
111
|
-
case .success(let
|
|
112
|
-
print("
|
|
50
|
+
case .success(let participantInfo):
|
|
51
|
+
print("成功获取参与者列表,数量: \(participantInfo.0.count)")
|
|
113
52
|
case .failure(let error):
|
|
114
|
-
print("
|
|
53
|
+
print("获取参与者列表失败 [错误码: \(error.code)]: \(error.message)")
|
|
115
54
|
}
|
|
116
55
|
}
|
|
117
56
|
}
|
|
118
57
|
```
|
|
119
58
|
|
|
120
|
-
### 步骤
|
|
59
|
+
### 步骤3:搜索房间内成员
|
|
121
60
|
|
|
122
|
-
|
|
61
|
+
进入房间成功后,可以通过调用 `RoomParticipantStore` 的 `searchUsers` 接口搜索房间内的成员。
|
|
123
62
|
``` swift
|
|
124
63
|
import Foundation
|
|
125
64
|
import AtomicXCore
|
|
@@ -144,117 +83,9 @@ func searchUsers() {
|
|
|
144
83
|
}
|
|
145
84
|
```
|
|
146
85
|
|
|
147
|
-
### 步骤
|
|
148
|
-
|
|
149
|
-
网络研讨会房间模式下,作为房主或管理员,调用`RoomParticipantStore`的`promoteAudienceToParticipant`接口可以将房间内的观众提升为嘉宾。
|
|
150
|
-
``` swift
|
|
151
|
-
import Foundation
|
|
152
|
-
import AtomicXCore
|
|
153
|
-
|
|
154
|
-
func promoteAudienceToParticipant(userID: String) {
|
|
155
|
-
// 前提:需要先完成进房操作。
|
|
156
|
-
// 1. 业务逻辑说明
|
|
157
|
-
// 通过进房的 roomID 创建 RoomParticipantStore 实例
|
|
158
|
-
let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
|
|
159
|
-
|
|
160
|
-
// 2. 调用 RoomParticipantStore 提升观众为参与者接口
|
|
161
|
-
// 注意:只有房主或管理员才有权限执行此操作。
|
|
162
|
-
participantStore.promoteAudienceToParticipant(userID: userID) { result in
|
|
163
|
-
switch result {
|
|
164
|
-
case .success():
|
|
165
|
-
print("提升为参与者成功")
|
|
166
|
-
case .failure(let error):
|
|
167
|
-
print("提升为参与者失败 [错误码: \(error.code)]: \(error.message)")
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
作为房间内成员订阅`RoomParticipantStore`的`participantEventPublisher`中的`onAudiencePromotedToParticipant`事件,被动接收观众提升为参与者的变化通知。
|
|
174
|
-
``` swift
|
|
175
|
-
import Foundation
|
|
176
|
-
import AtomicXCore
|
|
177
|
-
import Combine
|
|
178
|
-
|
|
179
|
-
private var cancellableSet = Set<AnyCancellable>()
|
|
180
|
-
|
|
181
|
-
private func subscribeParticipantEvent() {
|
|
182
|
-
// 1. 业务逻辑说明
|
|
183
|
-
// 前提:需要先完成进房操作,通过进房的 roomID 创建 RoomParticipantStore 实例
|
|
184
|
-
let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
|
|
185
|
-
|
|
186
|
-
// 2. 订阅参与者事件
|
|
187
|
-
// participantEventPublisher 会推送所有参与者相关的事件
|
|
188
|
-
participantStore.participantEventPublisher
|
|
189
|
-
.receive(on: DispatchQueue.main) // 确保在主线程处理 UI 逻辑
|
|
190
|
-
.sink { event in
|
|
191
|
-
switch event {
|
|
192
|
-
case .onAudiencePromotedToParticipant(userInfo: let userInfo):
|
|
193
|
-
print("观众被提升为参与者,userInfo: \(userInfo)")
|
|
194
|
-
default: break
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
.store(in: &cancellableSet)
|
|
198
|
-
}
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
### 步骤6:将**嘉宾降级为观众**
|
|
202
|
-
|
|
203
|
-
网络研讨会房间模式下,作为房主或管理员,调用`RoomParticipantStore`的`demoteParticipantToAudience`接口可以将房间内的嘉宾降级为观众。
|
|
204
|
-
``` swift
|
|
205
|
-
import Foundation
|
|
206
|
-
import AtomicXCore
|
|
207
|
-
|
|
208
|
-
func demoteParticipantToAudience(userID: String) {
|
|
209
|
-
// 前提:需要先完成进房操作。
|
|
210
|
-
// 1. 业务逻辑说明
|
|
211
|
-
// 通过进房的 roomID 创建 RoomParticipantStore 实例
|
|
212
|
-
let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
|
|
213
|
-
|
|
214
|
-
// 2. 调用 RoomParticipantStore 降级参与者为观众接口
|
|
215
|
-
// 注意:只有房主或管理员才有权限执行此操作。
|
|
216
|
-
participantStore.demoteParticipantToAudience(userID: userID) { result in
|
|
217
|
-
switch result {
|
|
218
|
-
case .success():
|
|
219
|
-
print("降级为观众成功")
|
|
220
|
-
case .failure(let error):
|
|
221
|
-
print("降级为观众失败 [错误码: \(error.code)]: \(error.message)")
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
作为房间内成员订阅`RoomParticipantStore`的`participantEventPublisher`中的`onParticipantDemotedToAudience`事件,被动接收参与者降级为观众的变化通知。
|
|
228
|
-
``` swift
|
|
229
|
-
import Foundation
|
|
230
|
-
import AtomicXCore
|
|
231
|
-
import Combine
|
|
232
|
-
|
|
233
|
-
private var cancellableSet = Set<AnyCancellable>()
|
|
234
|
-
|
|
235
|
-
private func subscribeParticipantEvent() {
|
|
236
|
-
// 1. 业务逻辑说明
|
|
237
|
-
// 前提:需要先完成进房操作,通过进房的roomID创建RoomParticipantStore实例
|
|
238
|
-
let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
|
|
239
|
-
|
|
240
|
-
// 1. 订阅参与者事件
|
|
241
|
-
// participantEventPublisher 会推送所有参与者相关的事件
|
|
242
|
-
participantStore.participantEventPublisher
|
|
243
|
-
.receive(on: DispatchQueue.main) // 确保在主线程处理 UI 逻辑
|
|
244
|
-
.sink { event in
|
|
245
|
-
switch event {
|
|
246
|
-
case .onParticipantDemotedToAudience(userInfo: let userInfo):
|
|
247
|
-
print("参与者被降级为观众,userInfo: \(userInfo)")
|
|
248
|
-
default: break
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
.store(in: &cancellableSet)
|
|
252
|
-
}
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
### 步骤7:转移房主身份
|
|
86
|
+
### 步骤4:转移房主身份
|
|
256
87
|
|
|
257
|
-
|
|
88
|
+
作为房主调用 `RoomParticipantStore` 的 `transferOwner` 接口可以将房主身份直接转移给房间内任意一位参与者,转移后原房主身份将变为普通参与者,一个房间内有且仅有一名房主。
|
|
258
89
|
``` swift
|
|
259
90
|
import Foundation
|
|
260
91
|
import AtomicXCore
|
|
@@ -277,7 +108,7 @@ func transferOwner(to userID: String) {
|
|
|
277
108
|
}
|
|
278
109
|
```
|
|
279
110
|
|
|
280
|
-
|
|
111
|
+
作为参与者订阅 `RoomParticipantStore` 的 `participantEventPublisher` 中的 `onOwnerChanged` 事件,被动接收房主变化通知。
|
|
281
112
|
``` swift
|
|
282
113
|
import Foundation
|
|
283
114
|
import AtomicXCore
|
|
@@ -305,9 +136,9 @@ private func subscribeParticipantEvent() {
|
|
|
305
136
|
}
|
|
306
137
|
```
|
|
307
138
|
|
|
308
|
-
### 步骤
|
|
139
|
+
### 步骤5:设置/撤销管理员
|
|
309
140
|
|
|
310
|
-
|
|
141
|
+
作为房主调用 `RoomParticipantStore` 的 `setAdmin` 接口,指定房间内任意一位参与者成为管理员,也可以将管理员身份撤销。
|
|
311
142
|
``` swift
|
|
312
143
|
import Foundation
|
|
313
144
|
import AtomicXCore
|
|
@@ -341,7 +172,7 @@ func revokeUserAdmin(userID: String) {
|
|
|
341
172
|
}
|
|
342
173
|
```
|
|
343
174
|
|
|
344
|
-
|
|
175
|
+
作为参与者订阅 `RoomParticipantStore` 的 `participantEventPublisher` 中的 `onAdminSet` 和 `onAdminRevoked` 事件,被动接收参与者身份变化通知。
|
|
345
176
|
``` swift
|
|
346
177
|
import Foundation
|
|
347
178
|
import AtomicXCore
|
|
@@ -368,9 +199,9 @@ private func subscribeParticipantEvents() {
|
|
|
368
199
|
}
|
|
369
200
|
```
|
|
370
201
|
|
|
371
|
-
### 步骤
|
|
202
|
+
### 步骤6:**将参与者移出房间**
|
|
372
203
|
|
|
373
|
-
|
|
204
|
+
作为房主和管理员调用 `RoomParticipantStore` 的 `kickUser` 可以将房间内参与者移出房间。
|
|
374
205
|
``` swift
|
|
375
206
|
import Foundation
|
|
376
207
|
import AtomicXCore
|
|
@@ -397,7 +228,7 @@ func kickUser(userID: String) {
|
|
|
397
228
|
}
|
|
398
229
|
```
|
|
399
230
|
|
|
400
|
-
|
|
231
|
+
作为参与者订阅 `RoomParticipantStore` 的 `participantEventPublisher` 中的 `onKickedFromRoom` 事件,被动接收参与者被移出房间通知。
|
|
401
232
|
``` swift
|
|
402
233
|
import Foundation
|
|
403
234
|
import AtomicXCore
|
|
@@ -424,9 +255,9 @@ private func subscribeParticipantEvent() {
|
|
|
424
255
|
}
|
|
425
256
|
```
|
|
426
257
|
|
|
427
|
-
### 步骤
|
|
258
|
+
### 步骤7:更新参与者信息
|
|
428
259
|
|
|
429
|
-
|
|
260
|
+
在加入房间后,调用 `RoomParticipantStore` 的 `updateParticipantNameCard`、`updateParticipantMetaData` 更新您在房间里的参与者信息,包含:参与者名片信息,参与者自定义信息。
|
|
430
261
|
``` swift
|
|
431
262
|
import Foundation
|
|
432
263
|
import AtomicXCore
|
|
@@ -455,7 +286,7 @@ func updateParticipantNameCard(userID: String, nameCard: String) {
|
|
|
455
286
|
func updateParticipantMetaData(userID: String, metaData: [String: String]) {
|
|
456
287
|
// 1. 业务逻辑说明
|
|
457
288
|
// updateParticipantMetaData 接口用于更新指定参与者的自定义信息
|
|
458
|
-
//
|
|
289
|
+
// 存储自定义的业务数据,例如用户标签、扩展属性等
|
|
459
290
|
// 注意:自定义信息的键值对数量和大小有限制,键长度不能超过 50 字节,值长度不超过 200 字节
|
|
460
291
|
|
|
461
292
|
// 2. 调用 RoomParticipantStore 更新自定义信息接口
|
|
@@ -470,9 +301,9 @@ func updateParticipantMetaData(userID: String, metaData: [String: String]) {
|
|
|
470
301
|
}
|
|
471
302
|
```
|
|
472
303
|
|
|
473
|
-
### 步骤
|
|
304
|
+
### 步骤8:邀请参与者打开其设备
|
|
474
305
|
|
|
475
|
-
|
|
306
|
+
作为房主和管理员调用 `RoomParticipantStore` 的 `inviteToOpenDevice` 接口,邀请房间内参与者打开摄像头、麦克风。
|
|
476
307
|
``` swift
|
|
477
308
|
import Foundation
|
|
478
309
|
import AtomicXCore
|
|
@@ -501,9 +332,9 @@ func inviteUserToOpenDevice(userID: String, device: DeviceType, timeout: Int = 3
|
|
|
501
332
|
```
|
|
502
333
|
|
|
503
334
|
作为参与者:
|
|
504
|
-
-
|
|
335
|
+
- 订阅 `RoomParticipantStore` 的 `participantEventPublisher` 中的 `onDeviceInvitationReceived` 事件,被动接收邀请打开设备通知。
|
|
505
336
|
|
|
506
|
-
-
|
|
337
|
+
- 接收到邀请打开设备通知后调用 `RoomParticipantStore` 的 `acceptOpenDeviceInvitation` 或者 `declineOpenDeviceInvitation` 接口接受或拒绝邀请。
|
|
507
338
|
|
|
508
339
|
``` swift
|
|
509
340
|
import Foundation
|
|
@@ -555,9 +386,9 @@ func inviteUserToOpenDevice(userID: String, device: DeviceType, timeout: Int = 3
|
|
|
555
386
|
}
|
|
556
387
|
```
|
|
557
388
|
|
|
558
|
-
### 步骤
|
|
389
|
+
### 步骤9:关闭远端参与者设备
|
|
559
390
|
|
|
560
|
-
|
|
391
|
+
作为房主和管理员调用 `RoomParticipantStore` 的 `closeParticipantDevice` 可以主动关闭远端参与者的摄像头、麦克风。
|
|
561
392
|
``` swift
|
|
562
393
|
import Foundation
|
|
563
394
|
import AtomicXCore
|
|
@@ -583,7 +414,7 @@ func closeParticipantDevice(userID: String, device: DeviceType) {
|
|
|
583
414
|
}
|
|
584
415
|
```
|
|
585
416
|
|
|
586
|
-
|
|
417
|
+
作为参与者订阅 `RoomParticipantStore` 的 `participantEventPublisher` 中的 `onParticipantDeviceClosed` 事件,被动接收设备被关闭通知,并在 UI 上做出提示。
|
|
587
418
|
``` swift
|
|
588
419
|
import Foundation
|
|
589
420
|
import AtomicXCore
|
|
@@ -611,9 +442,9 @@ private func subscribeDeviceClosedEvent() {
|
|
|
611
442
|
}
|
|
612
443
|
```
|
|
613
444
|
|
|
614
|
-
### 步骤
|
|
445
|
+
### 步骤10:参与者申请打开自己的设备
|
|
615
446
|
|
|
616
|
-
|
|
447
|
+
作为参与者调用 `RoomParticipantStore` 的 `requestToOpenDevice` 接口,可以在房间被房主或管理员设置全体静音,全体禁用摄像头的场景下,主动申请打开摄像头、麦克风。
|
|
617
448
|
``` swift
|
|
618
449
|
import Foundation
|
|
619
450
|
import AtomicXCore
|
|
@@ -641,9 +472,9 @@ func requestToOpenDevice(device: DeviceType, timeout: Int = 30) {
|
|
|
641
472
|
```
|
|
642
473
|
|
|
643
474
|
作为房主和管理员:
|
|
644
|
-
-
|
|
475
|
+
- 订阅 `RoomParticipantStore` 的 `participantEventPublisher` 中的 `onDeviceRequestReceived` 事件,被动接收申请打开设备通知。
|
|
645
476
|
|
|
646
|
-
-
|
|
477
|
+
- 接收到申请打开设备通知后,调用 `RoomParticipantStore` 的 `approveOpenDeviceRequest` 或者 `rejectOpenDeviceRequest` 接口,批准或者拒绝申请。
|
|
647
478
|
|
|
648
479
|
``` swift
|
|
649
480
|
import Foundation
|
|
@@ -696,9 +527,9 @@ func requestToOpenDevice(device: DeviceType, timeout: Int = 30) {
|
|
|
696
527
|
}
|
|
697
528
|
```
|
|
698
529
|
|
|
699
|
-
### 步骤
|
|
530
|
+
### 步骤11:全体禁用麦克风及摄像头
|
|
700
531
|
|
|
701
|
-
|
|
532
|
+
作为房主和管理员调用 `RoomParticipantStore` 的 `disableAllDevices` 接口设置全员静音与全员禁用摄像头。开启后,房间内参与者的音视频开启权限将被限制,无法自主打开麦克风或摄像头设备。
|
|
702
533
|
``` swift
|
|
703
534
|
import Foundation
|
|
704
535
|
import AtomicXCore
|
|
@@ -727,7 +558,7 @@ func disableAllDevices(device: DeviceType, disable: Bool) {
|
|
|
727
558
|
}
|
|
728
559
|
```
|
|
729
560
|
|
|
730
|
-
作为参与者订阅 `RoomParticipantStore
|
|
561
|
+
作为参与者订阅 `RoomParticipantStore` 的 `participantEventPublisher` 中的 `onAllDevicesDisabled` 事件,可以监听全员静音或禁用摄像头指令,并在 UI 界面同步受控状态。受限状态下,摄像头与麦克风的主动开启功能将被锁定,参与者需发起开启申请,待房主或管理员核准授权后方可使用。
|
|
731
562
|
``` swift
|
|
732
563
|
import Foundation
|
|
733
564
|
import AtomicXCore
|
|
@@ -755,9 +586,9 @@ private func subscribeAllDevicesDisabledEvent() {
|
|
|
755
586
|
}
|
|
756
587
|
```
|
|
757
588
|
|
|
758
|
-
### 步骤
|
|
589
|
+
### 步骤12:监听参与者事件
|
|
759
590
|
|
|
760
|
-
|
|
591
|
+
订阅 `RoomParticipantEvent` 参与者相关的被动事件。以订阅参与者加入房间、离开房间为例,示例代码如下:
|
|
761
592
|
``` swift
|
|
762
593
|
import Foundation
|
|
763
594
|
import AtomicXCore
|
|
@@ -816,6 +647,6 @@ private func subscribeParticipantState() {
|
|
|
816
647
|
```
|
|
817
648
|
|
|
818
649
|
## API 文档
|
|
819
|
-
|
|
|
650
|
+
| <strong>Store/Component</strong> | <strong>功能描述</strong> | <strong>API 文档</strong> |
|
|
820
651
|
| --- | --- | --- |
|
|
821
|
-
|
|
|
652
|
+
| <strong>RoomParticipantStore</strong> | 房间内参与者管理:设置管理员 / 转移房主 / 获取参与者列表 / 移出房间 / 参与者设备控制(例如关闭、邀请打开摄像头、麦克风等)/ 申请打开设备(例如申请打开摄像头、麦克风等)。 | <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomparticipantstore">API 文档</a> |
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
`RoomStore`
|
|
1
|
+
`RoomStore` 专职负责 `AtomicXCore` 中的房间事务管理,提供从房间创建到解散的完整流程控制接口。通过 `RoomStore` 提供的接口(例如获取及更新房间信息),可高效开发出一套成熟的房间管理体系。
|
|
2
2
|
|
|
3
3
|
## 核心功能
|
|
4
4
|
- **创建并加入房间**:房主通过调用该接口可以直接创建并进入房间。
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
|
|
16
16
|
## 核心概念
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
|
18
|
+
在开始集成之前,需要通过下表了解一下 `RoomStore` 相关的几个核心概念:
|
|
19
|
+
| <strong>核心概念</strong> | <strong>类型</strong> | <strong>核心职责与描述</strong> |
|
|
20
20
|
| --- | --- | --- |
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
21
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roominfo">RoomInfo</a> | <code>struct</code> | 代表房间信息的核心数据模型,封装了房间的完整信息和状态管理能力。<br>核心功能包括:<br>- 房间基本信息管理(房间 ID、名称、创建者)。<br>- 实时状态跟踪(参与者数量、房间状态、创建时间)。<br>- 房间调度功能(预约时间、参会者列表、提醒设置)。<br>- 权限控制(密码保护、设备管控、消息管理)。 |
|
|
22
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomstate">RoomState</a> | <code>struct</code> | 代表房间状态管理的核心数据结构,负责维护用户的房间相关状态信息。<br>核心属性:<br>- <code>scheduledRoomList</code> 存储了当前账号下所有预约的房间列表信息。<br>- <code>scheduledRoomListCursor</code> 则代表预约房间列表的分页快照。<br>- <code>currentRoom</code> 则代表当前所在房间的状态信息。 |
|
|
23
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomevent">RoomEvent</a> | <code>enum</code> | 代表房间动态的实时事件。主要事件分为三大类:预约房间事件,房间结束事件,房间呼叫事件。 |
|
|
24
|
+
| <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomstore">RoomStore</a> | <code>class</code> | 这是与房间全生命周期相关的核心类。功能包含:获取预约房间列表快照、执行房间管理操作,并通过订阅其 <code>roomEventPublisher</code> 来接收实时动态事件。 |
|
|
25
25
|
|
|
26
26
|
## 实现步骤
|
|
27
27
|
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
### 步骤2:**创建并加入房间**
|
|
33
33
|
|
|
34
34
|
##### 实现方式:
|
|
35
|
-
1.
|
|
35
|
+
1. **配置房间初始化参数:**初始化 `CreateRoomOptions` 来设置房间名称,房间密码。
|
|
36
36
|
|
|
37
37
|
2. **房间权限预设:**设置房间内全场成员权限,例如全体静音,全体禁画等。
|
|
38
38
|
|
|
39
|
-
3.
|
|
39
|
+
3. **创建并加入房间:**调用 `RoomStore` 的 `createAndJoinRoom` 接口执行核心操作。
|
|
40
40
|
|
|
41
41
|
##### 示例代码:
|
|
42
42
|
``` swift
|
|
@@ -72,20 +72,20 @@ func createAndJoinRoom() {
|
|
|
72
72
|
##### createAndJoinRoom 接口参数详细说明
|
|
73
73
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
74
74
|
| --- | --- | --- | --- |
|
|
75
|
-
|
|
|
76
|
-
|
|
|
77
|
-
|
|
|
78
|
-
|
|
|
75
|
+
| <code>roomID</code> | <code>String</code> | 是 | - 字符串类型的房间唯一标识符。<br>- 限制长度为 0-48 字节。<br>- 建议仅包含数字、英文字母(区分大小写)、下划线(_)和连字符(-)。避免使用空格和中文字符。 |
|
|
76
|
+
| <code>roomType</code> | <code>RoomType</code> | 是 | 房间类型:<br>- <code>standard</code>:标准房间,所有成员可自由音视频互动。<br>- <code>webinar</code>:大型研讨会房间,区分嘉宾和观众角色,观众默认无上麦权限。<br>多人会议场景这里填写 <code>standard</code> 房间类型。 |
|
|
77
|
+
| <code>options</code> | <code>CreateRoomOptions</code> | 是 | - 创建房间配置对象。<br>- 详细用法请参考:CreateRoomOptions 结构体详细说明。 |
|
|
78
|
+
| <code>completion</code> | <code>CompletionClosure</code> | 否 | 操作完成回调,用于返回创建和加入房间的结果。若创建失败则会返回错误码和错误信息。 |
|
|
79
79
|
|
|
80
80
|
##### CreateRoomOptions 结构体详细说明
|
|
81
81
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
82
82
|
| --- | --- | --- | --- |
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
87
|
-
|
|
|
88
|
-
|
|
|
83
|
+
| <code>roomName</code> | <code>String</code> | 否 | - 房间名称,可以不设置,默认为空字符串。<br>- 限制长度为 0-60 字节。<br>- 支持中英文、数字、特殊字符。 |
|
|
84
|
+
| <code>password</code> | <code>String</code> | 否 | - 房间密码,空字符串 "" 通常表示该房间不设密码。<br>- 限制长度为 0-32 字节。<br>- 推荐使用 4-8 位纯数字,方便移动端输入。设置后,其他用户加入房间时需输入密码。建议不要存储明文敏感信息。 |
|
|
85
|
+
| <code>isAllMicrophoneDisabled</code> | <code>Bool</code> | 否 | 是否全员禁止打开麦克风。开启后,除房主/管理员外,普通参与者默认禁止打开麦克风:<br>- true:禁止。<br>- false:取消禁止 (默认值)。 |
|
|
86
|
+
| <code>isAllCameraDisabled</code> | <code>Bool</code> | 否 | 是否全员禁止打开摄像头。开启后,除房主/管理员外,普通参与者默认禁止打开摄像头:<br>- true:禁止。<br>- false:取消禁止(默认值)。 |
|
|
87
|
+
| <code>isAllScreenShareDisabled</code> | <code>Bool</code> | 否 | 是否全员禁止发起屏幕共享。开启后,仅房主/管理员可进行屏幕共享:<br>- true:禁止。<br>- false:取消禁止(默认值)。 |
|
|
88
|
+
| <code>isAllMessageDisabled</code> | <code>Bool</code> | 否 | 是否全员禁止发送聊天消息(禁言)。开启后,普通参与者无法在房间内发送文字消息:<br>- true:禁止。<br>- false:取消禁止(默认值)。 |
|
|
89
89
|
|
|
90
90
|
### 步骤3:**加入房间**
|
|
91
91
|
|
|
@@ -115,10 +115,10 @@ func joinRoom() {
|
|
|
115
115
|
##### joinRoom 接口参数详细说明
|
|
116
116
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
117
117
|
| --- | --- | --- | --- |
|
|
118
|
-
|
|
|
119
|
-
|
|
|
120
|
-
|
|
|
121
|
-
|
|
|
118
|
+
| <code>roomID</code> | <code>String</code> | 是 | - 字符串类型的房间唯一标识符。<br>- 限制长度为 0-48 字节。<br>- 建议仅包含数字、英文字母(区分大小写)、下划线(_)和连字符(-)。避免使用空格和中文字符。 |
|
|
119
|
+
| <code>roomType</code> | <code>RoomType</code> | 是 | 房间类型:<br>- <code>standard</code>:标准房间,所有成员可自由音视频互动。<br>- <code>webinar</code>:大型研讨会房间,区分嘉宾和观众角色,观众默认无上麦权限。<br>多人会议场景这里填写 <code>standard</code> 房间类型。 |
|
|
120
|
+
| <code>password</code> | <code>String</code> | 是 | - 房间密码,空字符串 "" 通常表示该房间不设密码。<br>- 限制长度为 0-32 字节。<br>- 推荐使用 4-8 位纯数字,方便移动端输入。设置后,其他用户加入房间时需输入密码。建议不要存储明文敏感信息。 |
|
|
121
|
+
| <code>completion</code> | <code>CompletionClosure</code> | 否 | 操作完成回调,用于返回加入房间的结果。若创建失败则会返回错误码和错误信息。 |
|
|
122
122
|
|
|
123
123
|
### **步骤4:离开房间**
|
|
124
124
|
|
|
@@ -204,26 +204,26 @@ func updateRoomInfo() {
|
|
|
204
204
|
##### updateRoomInfo 接口参数详细说明
|
|
205
205
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
206
206
|
| --- | --- | --- | --- |
|
|
207
|
-
|
|
|
208
|
-
|
|
|
209
|
-
|
|
|
210
|
-
|
|
|
207
|
+
| <code>roomID</code> | <code>String</code> | 是 | - 字符串类型的房间唯一标识符。<br>- 限制长度为 0-48 字节。<br>- 建议仅包含数字、英文字母(区分大小写)、下划线(_)和连字符(-)。避免使用空格和中文字符。 |
|
|
208
|
+
| <code>options</code> | <code>UpdateRoomOptions</code> | 是 | - 更新房间属性配置对象。<br>- 详细用法请参考:UpdateRoomOptions 结构体详细说明。 |
|
|
209
|
+
| <code>modifyFlag</code> | <code>UpdateRoomOptions.ModifyFlag</code> | 是 | - 更新房间属性修改标志位。目前支持更新<strong>房间名称</strong>、<strong>房间密码</strong>。<br>- 详细用法请参考:UpdateRoomOptions.ModifyFlag 详细说明。 |
|
|
210
|
+
| <code>completion</code> | <code>CompletionClosure</code> | 否 | 操作完成回调,用于返回更新房间信息的结果。若更新失败则会返回错误码和错误信息。 |
|
|
211
211
|
|
|
212
212
|
**UpdateRoomOptions 结构体详细说明**
|
|
213
213
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
214
214
|
| --- | --- | --- | --- |
|
|
215
|
-
|
|
|
216
|
-
|
|
|
215
|
+
| <code>roomName</code> | <code>String</code> | 否 | - 房间名称,可以不设置,默认为空字符串。<br>- 限制长度为 0-60 字节。<br>- 支持中英文、数字、特殊字符。 |
|
|
216
|
+
| <code>password</code> | <code>String</code> | 否 | - 房间密码,空字符串 "" 通常表示该房间不设密码。<br>- 限制长度为 0-32 字节。<br>- 推荐使用 4-8 位纯数字,方便移动端输入。设置后,其他用户加入房间时需输入密码。建议不要存储明文敏感信息。 |
|
|
217
217
|
|
|
218
218
|
**UpdateRoomOptions.ModifyFlag 详细说明**
|
|
219
219
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
220
220
|
| --- | --- | --- | --- |
|
|
221
|
-
|
|
|
222
|
-
|
|
|
221
|
+
| <code>roomName</code> | <code>UInt</code> | 否 | - 修改房间名称时的标识位。<br>- 当修改 <code>UpdateRoomOptions</code> 中的 <code>roomName</code> 后,需要同步设置 <code>ModifyFlag</code> 的 <code>roomName</code> 标识位。 |
|
|
222
|
+
| <code>password</code> | <code>UInt</code> | 否 | - 修改房间密码时的标识位。<br>- 当修改 <code>UpdateRoomOptions</code> 中的 <code>password</code> 后,需要同步设置 <code>ModifyFlag</code> 的 <code>password</code> 标识位。 |
|
|
223
223
|
|
|
224
224
|
### 步骤7:获取房间信息
|
|
225
225
|
|
|
226
|
-
|
|
226
|
+
进入房间成功后调用 `RoomStore` 的 `getRoomInfo` 接口即可获取到房间详细信息。
|
|
227
227
|
``` swift
|
|
228
228
|
import Foundation
|
|
229
229
|
import AtomicXCore
|
|
@@ -248,7 +248,7 @@ func getRoomInfo() {
|
|
|
248
248
|
|
|
249
249
|
### 步骤8:监听房间实时事件及状态变化
|
|
250
250
|
|
|
251
|
-
|
|
251
|
+
订阅 `RoomEvent` 房间内的被动事件。以订阅房间结束事件为例,示例代码如下:
|
|
252
252
|
``` swift
|
|
253
253
|
import Foundation
|
|
254
254
|
import AtomicXCore
|
|
@@ -271,7 +271,7 @@ private func subscribeRoomEvent() {
|
|
|
271
271
|
}
|
|
272
272
|
```
|
|
273
273
|
|
|
274
|
-
|
|
274
|
+
订阅 `RoomState` 房间属性状态变化。以订阅当前所在房间信息变化为例,示例代码如下:
|
|
275
275
|
``` swift
|
|
276
276
|
import Foundation
|
|
277
277
|
import AtomicXCore
|
|
@@ -294,16 +294,16 @@ private func subscribeRoomState() {
|
|
|
294
294
|
```
|
|
295
295
|
|
|
296
296
|
## API 文档
|
|
297
|
-
|
|
|
297
|
+
| <strong>Store/Component</strong> | <strong>功能描述</strong> | <strong>API 文档</strong> |
|
|
298
298
|
| --- | --- | --- |
|
|
299
|
-
|
|
|
299
|
+
| <strong>RoomStore</strong> | 房间全生命周期管理:创建并加入 / 加入 / 离开 / 结束房间 / 更新、获取房间信息 / 房间预定 / 呼叫房间外成员 / 监听房间内被动事件(例如房间解散,房间信息更新等)。 | <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomstore">API 文档</a> |
|
|
300
300
|
|
|
301
301
|
## 常见问题
|
|
302
302
|
|
|
303
303
|
### `RoomInfo` 中的参与人数(`participantCount`)是如何更新的?时机和频率是怎样的?
|
|
304
304
|
|
|
305
305
|
`participantCount` 的更新并非总是实时的,其机制如下:
|
|
306
|
-
- **主动进出房间**:当用户主动加入或正常退出房间时,参与人数的变更通知会即时触发。您会很快在 `RoomState`
|
|
306
|
+
- **主动进出房间**:当用户主动加入或正常退出房间时,参与人数的变更通知会即时触发。您会很快在 `RoomState` 中的 `currentRoom` 观察到 `participantCount` 的变化。
|
|
307
307
|
|
|
308
308
|
- **异常掉线**:当用户因网络问题、应用崩溃等原因异常掉线时,系统需要通过心跳机制来判断其真实状态。只有当该用户连续 90 秒没有心跳后,系统才会判定其为离线,并触发人数变更通知。
|
|
309
309
|
|