@tencent-rtc/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/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 -11
- 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 -47
- 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
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
# Virtual Background
|
|
2
|
-
|
|
3
|
-
Virtual background feature allows users to replace their real background with a custom image or apply blur effects during video calls or live streams. With this feature, users can effectively protect privacy, hide cluttered backgrounds, or showcase corporate image through specific backgrounds.
|
|
4
|
-
|
|
5
|
-
## Use Cases
|
|
6
|
-
|
|
7
|
-
- **Remote Work/Meetings:** When attending meetings at home or in public places, use background blur or virtual background to hide the real environment and protect personal privacy.
|
|
8
|
-
|
|
9
|
-
- **Online Education:** Teachers use unified teaching backgrounds to create a professional classroom atmosphere.
|
|
10
|
-
|
|
11
|
-
- **Brand Display:** Company employees use backgrounds with company logos in external meetings to enhance brand image.
|
|
12
|
-
|
|
13
|
-
- **Fun Interaction:** In social scenarios, users can change to interesting background images to increase interaction fun.
|
|
14
|
-
|
|
15
|
-
## Prerequisites
|
|
16
|
-
|
|
17
|
-
- **User Status:** User has completed login authentication through useLoginState, refer to Integration Overview, and is in **logged in** state.
|
|
18
|
-
|
|
19
|
-
- **Environment Dependencies:** The project has imported `tuikit-atomicx-vue3`.
|
|
20
|
-
|
|
21
|
-
- **Device Requirements:** A camera device must be available, and the user has granted camera access permission. If the user denies authorization, the virtual background feature will not be available.
|
|
22
|
-
|
|
23
|
-
- **Resource Dependencies:** Virtual background feature depends on AI model files. To ensure the browser can properly load and run these files, you need to complete the following steps:
|
|
24
|
-
|
|
25
|
-
- Publish the `node_modules/trtc-sdk-v5/assets` directory to CDN or static resource server, see [SDK Documentation](https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/tutorial-36-advanced-virtual-background.html) for details.
|
|
26
|
-
|
|
27
|
-
- If choosing Solution 1: Quick Integration Using UI Components, when using the [VirtualBackgroundPanel](https://github.com/Tencent-RTC/TUIKit_Vue3/tree/main/packages/tuikit-atomicx-vue3/src/components/VirtualBackgroundPanel) component, you need to pass the `assetsPath` static resource address through props.
|
|
28
|
-
|
|
29
|
-
- If choosing Solution 2: Custom Integration Using Underlying API, when using the [initVirtualBackground](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#initVirtualBackground) interface, you need to pass the `assetsPath` static resource address.
|
|
30
|
-
|
|
31
|
-
## Implementing Virtual Background Feature
|
|
32
|
-
|
|
33
|
-
This feature provides two integration solutions, and you can choose the most suitable one based on your business requirements:
|
|
34
|
-
|
|
35
|
-
- **Solution 1 (Recommended):** Quick integration using UI components. Directly import the virtual background panel component ([VirtualBackgroundPanel](https://github.com/Tencent-RTC/TUIKit_Vue3/tree/main/packages/tuikit-atomicx-vue3/src/components/VirtualBackgroundPanel)) provided by `tuikit-atomicx-vue3`, and embed it into your application's dialog or sidebar with the lowest development cost.
|
|
36
|
-
|
|
37
|
-
- **Solution 2 (Advanced):** Custom integration using underlying API. Implement UI and interaction logic based on atomicx-core SDK API [useVirtualBackgroundState](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-VirtualBackgroundState) state hook with the highest flexibility.
|
|
38
|
-
|
|
39
|
-
Virtual Background
|
|
40
|
-
|
|
41
|
-
## Solution 1: Quick Integration Using UI Components
|
|
42
|
-
|
|
43
|
-
`tuikit-atomicx-vue3` provides core settings panel components:
|
|
44
|
-
|
|
45
|
-
- [**VirtualBackgroundPanel**](https://github.com/Tencent-RTC/TUIKit_Vue3/tree/main/packages/tuikit-atomicx-vue3/src/components/VirtualBackgroundPanel)**:** Configuration panel for virtual background, including background blur, image selection, and preview functionality.
|
|
46
|
-
|
|
47
|
-
### Step 1: Import Component
|
|
48
|
-
|
|
49
|
-
```typescript
|
|
50
|
-
import { VirtualBackgroundPanel } from 'tuikit-atomicx-vue3/room';
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Step 2: Use Component
|
|
54
|
-
|
|
55
|
-
It is generally recommended to place [VirtualBackgroundPanel](https://github.com/Tencent-RTC/TUIKit_Vue3/tree/main/packages/tuikit-atomicx-vue3/src/components/VirtualBackgroundPanel) in a dialog or modal, triggered by clicking a button.
|
|
56
|
-
|
|
57
|
-
**The following example demonstrates how to implement a complete interaction to open virtual background settings by clicking a button:**
|
|
58
|
-
|
|
59
|
-
> **Note:**
|
|
60
|
-
>
|
|
61
|
-
> - Publish the `node_modules/trtc-sdk-v5/assets` directory to CDN or static resource server, see [SDK Documentation](https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/tutorial-36-advanced-virtual-background.html) for details.
|
|
62
|
-
> - When using the [VirtualBackgroundPanel](https://github.com/Tencent-RTC/TUIKit_Vue3/tree/main/packages/tuikit-atomicx-vue3/src/components/VirtualBackgroundPanel) component, pass the `assetsPath` static resource address through props.
|
|
63
|
-
> - All TUIKit components must be wrapped inside UIKitProvider, otherwise they will not be able to obtain context dependencies, resulting in style abnormalities.
|
|
64
|
-
|
|
65
|
-
```typescript
|
|
66
|
-
<template>
|
|
67
|
-
<UIKitProvider theme="light" language="en-US">
|
|
68
|
-
<div class="toolbar-container">
|
|
69
|
-
<!-- 1. Trigger button -->
|
|
70
|
-
<button @click="openSettings">Set Virtual Background</button>
|
|
71
|
-
|
|
72
|
-
<!-- 2. Settings dialog -->
|
|
73
|
-
<div v-if="showSettings" class="modal-mask">
|
|
74
|
-
<div class="modal-content">
|
|
75
|
-
<div class="modal-header">
|
|
76
|
-
<span>Virtual Background</span>
|
|
77
|
-
<button @click="showSettings = false">Close</button>
|
|
78
|
-
</div>
|
|
79
|
-
|
|
80
|
-
<div class="modal-body">
|
|
81
|
-
<!-- 3. Import panel component -->
|
|
82
|
-
<!-- @close event: triggered when user clicks close button inside panel (if any) -->
|
|
83
|
-
<VirtualBackgroundPanel assetsPath='https://xxxx/assets' @close="showSettings = false" />
|
|
84
|
-
</div>
|
|
85
|
-
</div>
|
|
86
|
-
</div>
|
|
87
|
-
</div>
|
|
88
|
-
</UIKitProvider>
|
|
89
|
-
</template>
|
|
90
|
-
|
|
91
|
-
<script setup lang="ts">
|
|
92
|
-
import { ref } from 'vue';
|
|
93
|
-
import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
|
|
94
|
-
import { VirtualBackgroundPanel, useVirtualBackgroundState, useDeviceState } from 'tuikit-atomicx-vue3/room';
|
|
95
|
-
|
|
96
|
-
const showSettings = ref(false);
|
|
97
|
-
const { isSupported } = useVirtualBackgroundState();
|
|
98
|
-
const { cameraList } = useDeviceState();
|
|
99
|
-
|
|
100
|
-
const openSettings = () => {
|
|
101
|
-
// 1. Check if browser supports virtual background
|
|
102
|
-
if (!isSupported()) {
|
|
103
|
-
alert('Current browser does not support virtual background');
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// 2. Check if camera is available
|
|
108
|
-
if (cameraList.value.length === 0) {
|
|
109
|
-
alert('No camera detected, unable to set virtual background');
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// 3. Open settings panel
|
|
114
|
-
showSettings.value = true;
|
|
115
|
-
};
|
|
116
|
-
</script>
|
|
117
|
-
|
|
118
|
-
<style scoped>
|
|
119
|
-
.modal-mask{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:white;width:600px;border-radius:8px;overflow:hidden}.modal-header{padding:16px;display:flex;justify-content:space-between;border-bottom:1px solid #eee}
|
|
120
|
-
</style>
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## Solution 2: Custom Integration Using Underlying API
|
|
124
|
-
|
|
125
|
-
This section mainly introduces how to implement virtual background through atomicx-core SDK API [**useVirtualBackgroundState**](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-VirtualBackgroundState) interface.
|
|
126
|
-
|
|
127
|
-
### Step 1: Initialization and Detection
|
|
128
|
-
|
|
129
|
-
Before calling the virtual background feature, you must first check if the browser supports it and initialize the resource path.
|
|
130
|
-
|
|
131
|
-
> **Note:**
|
|
132
|
-
>
|
|
133
|
-
> - Publish the node_modules/trtc-sdk-v5/assets directory to CDN or static resource server, see [SDK Documentation](https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/tutorial-36-advanced-virtual-background.html) for details.
|
|
134
|
-
> - When using the [initVirtualBackground](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#initVirtualBackground) interface, pass the assetsPath static resource address.
|
|
135
|
-
> - Virtual background feature depends on camera devices. You can use [useDeviceState](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-DeviceState) to check device status.
|
|
136
|
-
> - [cameraList](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#cameraList): List of currently available camera devices. If the list is empty, it means no camera is detected or camera permission is denied.
|
|
137
|
-
|
|
138
|
-
```typescript
|
|
139
|
-
import { onMounted } from 'vue';
|
|
140
|
-
import { useVirtualBackgroundState } from 'tuikit-atomicx-vue3/room';
|
|
141
|
-
|
|
142
|
-
const { isSupported, initVirtualBackground } = useVirtualBackgroundState();
|
|
143
|
-
|
|
144
|
-
onMounted(async () => {
|
|
145
|
-
// 1. Check browser compatibility
|
|
146
|
-
if (!isSupported()) {
|
|
147
|
-
console.warn('Current browser does not support virtual background');
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
// 2. Initialize resources
|
|
152
|
-
try {
|
|
153
|
-
await initVirtualBackground({ assetsPath: './assets' });
|
|
154
|
-
console.log('Virtual background initialized');
|
|
155
|
-
} catch (error) {
|
|
156
|
-
console.error('Initialization failed', error);
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
### Step 2: Set Preview
|
|
162
|
-
|
|
163
|
-
Before the user confirms applying the background, a preview effect is usually required. Using the [setVirtualBackground](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#setVirtualBackground) method can set the preview effect, which will not be applied to the video stream visible to remote users.
|
|
164
|
-
|
|
165
|
-
> **Note:**
|
|
166
|
-
>
|
|
167
|
-
|
|
168
|
-
> Calling `setVirtualBackground` only takes effect in the local preview screen, remote users will not see the virtual background effect. You need to call `saveVirtualBackground` to synchronize it to the remote video stream.
|
|
169
|
-
>
|
|
170
|
-
|
|
171
|
-
```typescript
|
|
172
|
-
import { useVirtualBackgroundState } from 'tuikit-atomicx-vue3/room';
|
|
173
|
-
|
|
174
|
-
const { setVirtualBackground } = useVirtualBackgroundState();
|
|
175
|
-
|
|
176
|
-
// Enable background blur preview
|
|
177
|
-
const previewBlur = async () => {
|
|
178
|
-
await setVirtualBackground({
|
|
179
|
-
enable: true,
|
|
180
|
-
type: 'blur',
|
|
181
|
-
level: 0.5 // Blur level, optional
|
|
182
|
-
});
|
|
183
|
-
};
|
|
184
|
-
|
|
185
|
-
// Enable background image preview
|
|
186
|
-
const previewImage = async (imageUrl: string) => {
|
|
187
|
-
await setVirtualBackground({
|
|
188
|
-
enable: true,
|
|
189
|
-
type: 'image',
|
|
190
|
-
source: imageUrl // Image URL, supports local or network path
|
|
191
|
-
});
|
|
192
|
-
};
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### Step 3: Save and Apply
|
|
196
|
-
|
|
197
|
-
After the user confirms the preview effect is satisfactory, call [saveVirtualBackground](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#saveVirtualBackground) to actually apply the configuration to the current video stream, at which point remote users will see the effect.
|
|
198
|
-
|
|
199
|
-
```typescript
|
|
200
|
-
import { useVirtualBackgroundState } from 'tuikit-atomicx-vue3/room';
|
|
201
|
-
|
|
202
|
-
const { saveVirtualBackground } = useVirtualBackgroundState();
|
|
203
|
-
|
|
204
|
-
const confirmSettings = async () => {
|
|
205
|
-
try {
|
|
206
|
-
await saveVirtualBackground();
|
|
207
|
-
console.log('Virtual background applied');
|
|
208
|
-
} catch (error) {
|
|
209
|
-
console.error('Save failed', error);
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
### Step 4: Disable Virtual Background
|
|
215
|
-
|
|
216
|
-
If you need to disable virtual background and restore the real background, you can set its `enable` property to `false` and save.
|
|
217
|
-
|
|
218
|
-
```typescript
|
|
219
|
-
import { useVirtualBackgroundState } from 'tuikit-atomicx-vue3/room';
|
|
220
|
-
|
|
221
|
-
const { setVirtualBackground, saveVirtualBackground } = useVirtualBackgroundState();
|
|
222
|
-
|
|
223
|
-
const disableVirtualBackground = async () => {
|
|
224
|
-
// 1. Set to disabled state
|
|
225
|
-
await setVirtualBackground({ enable: false });
|
|
226
|
-
// 2. Save and apply
|
|
227
|
-
await saveVirtualBackground();
|
|
228
|
-
};
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
## Development Notes
|
|
232
|
-
|
|
233
|
-
- **Resource File Path:** The `assetsPath` in `initVirtualBackground` must correctly point to the directory of AI model files. If the path is incorrect, virtual background will not start. Please refer to [SDK Documentation](https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/tutorial-36-advanced-virtual-background.html) to obtain the resource file package.
|
|
234
|
-
|
|
235
|
-
- **Performance Consumption:** Enabling virtual background consumes high CPU and GPU resources. On low-end devices, it may cause video frame drops or overheating. It is recommended to prompt users to disable it when device performance is insufficient.
|
|
236
|
-
|
|
237
|
-
- **Browser Compatibility:** Not all browsers support virtual background (depending on WebAssembly and SIMD features). Be sure to call `isSupported()` for checking before UI rendering.
|
|
238
|
-
|
|
239
|
-
- **Image Format:** Custom background images are recommended to use `jpg` or `png` format, and resolution should not be too large (recommended within 1920x1080) to avoid affecting loading speed and memory consumption.
|
|
240
|
-
|
|
241
|
-
## FAQ
|
|
242
|
-
|
|
243
|
-
### **Running Demo in Chrome shows flipped and laggy screen?**
|
|
244
|
-
|
|
245
|
-
Virtual background plugin uses GPU acceleration. You need to find and enable hardware acceleration mode in browser settings. You can copy `chrome://settings/system` to the browser address bar and enable hardware acceleration mode.
|
|
246
|
-
|
|
247
|
-
### **Why does the computer overheat or the fan runs at high speed after enabling virtual background?**
|
|
248
|
-
|
|
249
|
-
Virtual background feature requires real-time recognition of human contours and image processing, which has certain requirements for CPU and GPU computing power. It is recommended to disable this feature when not needed, or avoid enabling it on low-end devices.
|
|
250
|
-
|
|
251
|
-
### **Initialization failed with error "assets load failed", what to do?**
|
|
252
|
-
|
|
253
|
-
Please check if the `assetsPath` passed in `initVirtualBackground` is correct. Ensure that the path contains the necessary AI model files and can be directly accessed through the browser. If it is a cross-domain resource, CORS policy needs to be configured.
|
|
254
|
-
|
|
255
|
-
### **Does virtual background support mobile browsers?**
|
|
256
|
-
|
|
257
|
-
Due to performance limitations of mobile browsers and differences in WebAssembly support, the experience may not be as stable as desktop. It is recommended to use it primarily on desktop Chrome (recommended 94+), Edge, and other mainstream browsers, and perform proper compatibility checks with `isSupported()`.
|
|
258
|
-
|
|
259
|
-
### **Unable to use virtual background in local development?**
|
|
260
|
-
|
|
261
|
-
WebRTC-related features usually require running in an HTTPS environment, or `localhost` / `127.0.0.1`. Please ensure that your development environment meets secure context requirements.
|
|
262
|
-
|
|
263
|
-
## **Sample Project**
|
|
264
|
-
|
|
265
|
-
Tencent Cloud provides a sample project [atomicx-vite-vue3-ts](https://github.com/Tencent-RTC/TUIRoomKit/tree/main/Web/example/atomicx-vite-vue3-ts) on GitHub, which you can refer to implement complete RoomKit features.
|
|
266
|
-
|
|
267
|
-
## API Documentation
|
|
268
|
-
|
|
269
|
-
| **State/Component** | **Feature Description** | **API Documentation** |
|
|
270
|
-
| --- | --- | --- |
|
|
271
|
-
| **useVirtualBackgroundState** | Virtual background management | [API Documentation](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-VirtualBackgroundState) |
|
|
@@ -1,315 +0,0 @@
|
|
|
1
|
-
TUIRoomKit is an audio/video room UI application launched by Tencent Cloud. This upgrade introduces a brand new atomic component integration solution, allowing developers to flexibly combine these atomic components to build personalized audio/video room interfaces.
|
|
2
|
-
|
|
3
|
-
> **Recommended: Use More Efficient AI Integration Assistant**
|
|
4
|
-
>
|
|
5
|
-
|
|
6
|
-
> We provide you with a brand new AI integration method. Simply describe your requirements to automatically generate integration code, greatly improving development efficiency.
|
|
7
|
-
>
|
|
8
|
-
|
|
9
|
-
> [Click here to experience AI integration immediately](https://cloud.tencent.com/document/product/647/127873)
|
|
10
|
-
>
|
|
11
|
-
|
|
12
|
-
This document describes how to integrate TUIRoomKit into existing Vue3 projects, and how to customize TUIRoomKit's styles, layouts, and functionality.
|
|
13
|
-
- Desktop Multi-person Conference
|
|
14
|
-
|
|
15
|
-
- H5 Multi-person Conference
|
|
16
|
-
|
|
17
|
-
## Prerequisites
|
|
18
|
-
|
|
19
|
-
### Service Activation
|
|
20
|
-
|
|
21
|
-
Please refer to [Service Activation](https://cloud.tencent.com/document/product/647/104842) to get the TUIRoomKit trial version, and obtain the following information from the [Application Management](https://console.cloud.tencent.com/trtc) page:
|
|
22
|
-
- **SDKAppID**: Application identifier, Tencent Cloud completes billing statistics based on `SDKAppID`.
|
|
23
|
-
|
|
24
|
-
- **SDKSecretKey**: Application secret key, used for key information in initialization configuration files.
|
|
25
|
-
|
|
26
|
-
### Environment Preparation
|
|
27
|
-
- **Node.js**: ≥ 18.19.1 (Recommended to use official LTS version).
|
|
28
|
-
|
|
29
|
-
- **Vue**: ≥ 3.4.21.
|
|
30
|
-
|
|
31
|
-
- **Modern Browsers**: Modern browsers that support [WebRTC APIs](https://cloud.tencent.com/document/product/647/17249#.E6.94.AF.E6.8C.81.E7.9A.84.E5.B9.B3.E5.8F.B0).
|
|
32
|
-
|
|
33
|
-
- **Devices**: Camera, microphone, speakers.
|
|
34
|
-
|
|
35
|
-
## Source Code Integration
|
|
36
|
-
|
|
37
|
-
### Step 1: Install Project Dependencies
|
|
38
|
-
|
|
39
|
-
Install the following dependencies in your business project.
|
|
40
|
-
|
|
41
|
-
【npm】
|
|
42
|
-
``` bash
|
|
43
|
-
npm install @tencentcloud/roomkit-web-vue3@latest tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
【pnpm】
|
|
47
|
-
``` bash
|
|
48
|
-
pnpm install @tencentcloud/roomkit-web-vue3@latest tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
【yarn】
|
|
52
|
-
``` bash
|
|
53
|
-
yarn add @tencentcloud/roomkit-web-vue3@latest tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Step 2: **Import **TUIRoomKit** Components**
|
|
57
|
-
``` typescript
|
|
58
|
-
<template>
|
|
59
|
-
<ConferenceMainView v-if="isPC"></ConferenceMainView>
|
|
60
|
-
<ConferenceMainViewH5 v-else></ConferenceMainViewH5>
|
|
61
|
-
</template>
|
|
62
|
-
<script setup>
|
|
63
|
-
import { ref } from 'vue';
|
|
64
|
-
import { ConferenceMainView, ConferenceMainViewH5 } from '@tencentcloud/roomkit-web-vue3';
|
|
65
|
-
import { getPlatform } from '@tencentcloud/universal-api';
|
|
66
|
-
|
|
67
|
-
const isPC = ref(getPlatform() === 'pc');
|
|
68
|
-
</script>
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### Step 3: Configure App.vue File
|
|
73
|
-
|
|
74
|
-
Merge the following content into your project's App.vue file to configure global UI styles and user login logic:
|
|
75
|
-
- Configure global `UIKitProvider`: Import the `UIKitProvider` component and set default theme and language;
|
|
76
|
-
|
|
77
|
-
- User Login: Execute `login` and `setSelfInfo` in the `onMounted` hook;
|
|
78
|
-
|
|
79
|
-
``` typescript
|
|
80
|
-
<template>
|
|
81
|
-
<!-- Step 1: Configure global UIKitProvider -->
|
|
82
|
-
<UIKitProvider theme="light" language="en-US">
|
|
83
|
-
<!-- Your business component containing ConferenceMainView -->
|
|
84
|
-
</UIKitProvider>
|
|
85
|
-
</template>
|
|
86
|
-
|
|
87
|
-
<script setup>
|
|
88
|
-
import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
|
|
89
|
-
import { onMounted } from 'vue';
|
|
90
|
-
import { useLoginState } from 'tuikit-atomicx-vue3/room';
|
|
91
|
-
|
|
92
|
-
// step 2: User login
|
|
93
|
-
const { login, setSelfInfo } = useLoginState();
|
|
94
|
-
const SDKAppID = 0; // Note: Please replace with SDKAppID obtained from TRTC Console
|
|
95
|
-
const userId = 'Enter your real userId'; // Note: Please replace with real userId
|
|
96
|
-
const userName = 'Enter your real userName'; // Note: Please replace with real userName
|
|
97
|
-
const userSig = 'Enter your real userSig'; // Note: For generating temporary userSig, please refer to https://cloud.tencent.com/document/product/647/17275#console
|
|
98
|
-
onMounted(async () => {
|
|
99
|
-
try {
|
|
100
|
-
await login({
|
|
101
|
-
userId,
|
|
102
|
-
userSig,
|
|
103
|
-
sdkAppId: SDKAppID,
|
|
104
|
-
});
|
|
105
|
-
await setSelfInfo({
|
|
106
|
-
userName,
|
|
107
|
-
avatarUrl: '',
|
|
108
|
-
});
|
|
109
|
-
} catch (error: any) {
|
|
110
|
-
console.error('Login failed:', error);
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
</script>
|
|
114
|
-
|
|
115
|
-
<!-- Step 3: Configure global styles (These styles override default styles of scaffolded new projects, configure as needed)-->
|
|
116
|
-
<style>
|
|
117
|
-
html, body {
|
|
118
|
-
padding: 0 !important;
|
|
119
|
-
margin: 0 !important;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
#app {
|
|
123
|
-
width: 100% !important;
|
|
124
|
-
height: 100% !important;
|
|
125
|
-
padding: 0 !important;
|
|
126
|
-
margin: 0 !important;
|
|
127
|
-
max-width: 100% !important;
|
|
128
|
-
max-height: 100% !important;
|
|
129
|
-
text-align: left !important;
|
|
130
|
-
overflow: hidden;
|
|
131
|
-
}
|
|
132
|
-
</style>
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### Step 4: Start New Conference
|
|
136
|
-
|
|
137
|
-
Conference hosts can start a new conference by calling the `conference.start` interface. Other participants can refer to the description in Step 6 and call the `conference.join` interface to join the conference.
|
|
138
|
-
|
|
139
|
-
> **Note:**
|
|
140
|
-
>
|
|
141
|
-
|
|
142
|
-
> Please refer to Step 3 and call the `conference.start` interface to start a conference after successful user login.
|
|
143
|
-
>
|
|
144
|
-
|
|
145
|
-
``` typescript
|
|
146
|
-
import { conference } from '@tencentcloud/roomkit-web-vue3';
|
|
147
|
-
const startConference = async () => {
|
|
148
|
-
await conference.start({
|
|
149
|
-
roomId: '123456', // Please replace with your real roomId
|
|
150
|
-
options: {
|
|
151
|
-
roomName: 'My Temporary Conference',
|
|
152
|
-
},
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
startConference();
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Step 5: Join Existing Conference
|
|
159
|
-
|
|
160
|
-
Participants can join a conference started by the conference host in Step 4 by calling the `conference.join` interface and filling in the corresponding roomId parameter.
|
|
161
|
-
|
|
162
|
-
> **Note:**
|
|
163
|
-
>
|
|
164
|
-
|
|
165
|
-
> Please refer to Step 3 and call the `conference.join` interface to join a conference after successful user login.
|
|
166
|
-
>
|
|
167
|
-
|
|
168
|
-
``` typescript
|
|
169
|
-
import { conference } from '@tencentcloud/roomkit-web-vue3';
|
|
170
|
-
const joinConference = async () => {
|
|
171
|
-
await conference.join({
|
|
172
|
-
roomId: '123456', // Please replace with your real roomId
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
joinConference();
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
## Start Project
|
|
179
|
-
|
|
180
|
-
【npm】
|
|
181
|
-
``` bash
|
|
182
|
-
npm run dev
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
【pnpm】
|
|
186
|
-
``` bash
|
|
187
|
-
pnpm run dev
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
【yarn】
|
|
191
|
-
``` bash
|
|
192
|
-
yarn run dev
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
After successful startup, please open the debug address (usually http://localhost:5173) in your browser to access the application. You will see the conference interface as shown below:
|
|
196
|
-
|
|
197
|
-
## Quick UI Customization
|
|
198
|
-
|
|
199
|
-
### Theme and Language
|
|
200
|
-
|
|
201
|
-
Modify the default values of theme and language by configuring the parameters of `UIKitProvider` in App.vue.
|
|
202
|
-
| UIKitProvider Parameter | Available Values | Default Value |
|
|
203
|
-
| --- | --- | --- |
|
|
204
|
-
| theme | "light" \\| "dark" | "light" |
|
|
205
|
-
| language | "zh-CN" \\| "en-US" | "en-US" |
|
|
206
|
-
|
|
207
|
-
``` typescript
|
|
208
|
-
<UIKitProvider theme="light" language="en-US">
|
|
209
|
-
<router-view />
|
|
210
|
-
</UIKitProvider>
|
|
211
|
-
|
|
212
|
-
<script setup lang="ts">
|
|
213
|
-
import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### Configure User Contact List
|
|
217
|
-
|
|
218
|
-
TUIRoomKit scheduled meeting user selection list and in-meeting call user selection list display user relationship chain list by default. Please refer to the following steps to batch import user relationship chains:
|
|
219
|
-
|
|
220
|
-
Step 1: Use [Account Management > Import Multiple Accounts](https://cloud.tencent.com/document/product/269/4919) REST API interface to batch import user accounts;
|
|
221
|
-
|
|
222
|
-
Step 2: Use [Friend Management > Import Friends](https://cloud.tencent.com/document/product/269/8301) REST API interface to batch import user relationship chains;
|
|
223
|
-
|
|
224
|
-
## TUIRoomKit Interface Customization
|
|
225
|
-
|
|
226
|
-
### Source Code Export
|
|
227
|
-
|
|
228
|
-
【Vue3】
|
|
229
|
-
1. Execute source code export script, default copy path is `./src/components/RoomKit`
|
|
230
|
-
|
|
231
|
-
``` bash
|
|
232
|
-
node ./node_modules/@tencentcloud/roomkit-web-vue3/scripts/eject.js
|
|
233
|
-
```
|
|
234
|
-
2. Confirm according to script prompt whether to copy TUIRoomKit source code to `./src/components/RoomKit` directory. If you need to customize the copy directory, please enter 'y', otherwise enter 'n'.
|
|
235
|
-
|
|
236
|
-
3. After source code export, TUIRoomKit source code will be added to your specified project path. At this time, you need to manually change the references of ConferenceMainView component, ConferenceMainViewH5 component and conference object from npm package address to the relative path address of TUIRoom source code.
|
|
237
|
-
|
|
238
|
-
``` typescript
|
|
239
|
-
- import { ConferenceMainView, conference } from '@tencentcloud/roomkit-web-vue3';
|
|
240
|
-
// Replace reference path to the real path of TUIRoomKit source code
|
|
241
|
-
+ import { ConferenceMainView, ConferenceMainViewH5, conference } from './components/RoomKit/index.ts';
|
|
242
|
-
```
|
|
243
|
-
4. Configure ESLint Validation
|
|
244
|
-
|
|
245
|
-
If you encounter ESLint errors when running the project after exporting TUIRoomKit source code, you can add the RoomKit folder to the `.eslintignore` file to ignore ESLint detection.
|
|
246
|
-
``` javascript
|
|
247
|
-
// Please replace with the real path of TUIRoomKit source code
|
|
248
|
-
src/components/RoomKit
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### Custom Room Stream Layout
|
|
252
|
-
|
|
253
|
-
TUIRoomKit currently supports three stream layouts: grid, sidebar, and top bar, with grid layout as default.
|
|
254
|
-
``` typescript
|
|
255
|
-
// RoomKit/views/ConferenceMainView/index.vue
|
|
256
|
-
import { RoomLayoutTemplate } from 'tuikit-atomicx-vue3/room';
|
|
257
|
-
// Change default video stream layout to sidebar layout
|
|
258
|
-
const participantViewLayout = ref(RoomLayoutTemplate.SidebarLayout);
|
|
259
|
-
function handleLayoutUpdate(layout: RoomLayoutTemplate) {
|
|
260
|
-
participantViewLayout.value = layout;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
// Change default video stream layout to top bar layout
|
|
264
|
-
const participantViewLayout = ref(RoomLayoutTemplate.CinemaLayout);
|
|
265
|
-
function handleLayoutUpdate(layout: RoomLayoutTemplate) {
|
|
266
|
-
participantViewLayout.value = layout;
|
|
267
|
-
}
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
### Custom Video Stream Widgets
|
|
271
|
-
|
|
272
|
-
TUIRoomKit default video stream widgets are shown in the figure. To customize video stream widgets, please modify the `RoomKit/components/RoomLayoutView/ParticipantViewUI/ParticipantViewUI.vue` component.
|
|
273
|
-
|
|
274
|
-
## Frequently Asked Questions
|
|
275
|
-
|
|
276
|
-
#### **TUIRoomKit works normally during local development, but cannot properly capture user's camera or microphone devices after deployment to online environment?**
|
|
277
|
-
- **Root Cause Analysis:** Browsers have strict restrictions on the capture of audio and video devices (microphone, camera) for security and privacy protection considerations. Capture operations are only allowed in secure environments. Secure environment protocols include: https://, localhost, file://, etc. HTTP protocol is considered insecure, and browsers will prohibit access to media devices by default.
|
|
278
|
-
|
|
279
|
-
- **Solution:** If everything works normally in your local (localhost) testing, but capture fails after deployment, please immediately check whether your webpage is deployed on HTTP protocol. You must use HTTPS protocol to deploy your webpage and ensure you have valid security certificates.
|
|
280
|
-
|
|
281
|
-
- **Related Resources:** For more details about URL domain and protocol restrictions, please refer to [URL Domain and Protocol Restrictions](https://cloud.tencent.com/document/product/647/17249#URL-.E5.9F.9F.E5.90.8D.E5.8D.8F.E8.AE.AE.E9.99.90.E5.88.B6).
|
|
282
|
-
|
|
283
|
-
#### **Does TUIRoomKit support iframe integration?**
|
|
284
|
-
|
|
285
|
-
Yes. When integrating TUIRoomKit using iframe, you need to configure the allow attribute in the iframe tag to grant necessary browser permissions (microphone, camera, screen sharing, fullscreen, etc.), as shown in the example below:
|
|
286
|
-
``` typescript
|
|
287
|
-
// Enable microphone, camera, screen sharing, fullscreen permissions
|
|
288
|
-
<iframe allow="microphone; camera; display-capture; display; fullscreen;">
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
#### Does TUIRoomKit support setting internal network proxy?
|
|
292
|
-
|
|
293
|
-
Yes. Please refer to the following guidance to set internal network proxy parameters. For more internal network proxy information, please refer to [Dealing with Firewall Restrictions](https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/tutorial-34-advanced-proxy.html).
|
|
294
|
-
``` typescript
|
|
295
|
-
// Please set internal network proxy parameters before entering room
|
|
296
|
-
import TUIRoomEngine from '@tencentcloud/tuiroom-engine-js';
|
|
297
|
-
import { useRoomEngine } from 'tuikit-atomicx-vue3/room';
|
|
298
|
-
const { roomEngine } = useRoomEngine();
|
|
299
|
-
|
|
300
|
-
TUIRoomEngine.once('ready', () => {
|
|
301
|
-
const trtcCloud = roomEngine.instance?.getTRTCCloud();
|
|
302
|
-
trtcCloud.callExperimentalAPI(JSON.stringify({
|
|
303
|
-
api: 'setNetworkProxy',
|
|
304
|
-
params: {
|
|
305
|
-
websocketProxy: "wss://proxy.example.com/ws/",
|
|
306
|
-
turnServer: [{
|
|
307
|
-
url: '14.3.3.3:3478',
|
|
308
|
-
username: 'turn',
|
|
309
|
-
credential: 'turn',
|
|
310
|
-
}],
|
|
311
|
-
iceTransportPolicy: 'relay',
|
|
312
|
-
},
|
|
313
|
-
}));
|
|
314
|
-
});
|
|
315
|
-
```
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
File without changes
|
|
File without changes
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# Tutorial: Demo Quick Run
|
|
2
|
-
|
|
3
|
-
This article mainly introduces how to quickly run Tencent Cloud TRTC Web demo.
|
|
4
|
-
|
|
5
|
-
## Prerequisites
|
|
6
|
-
|
|
7
|
-
You have registered a Tencent Cloud account and completed real-name authentication.
|
|
8
|
-
|
|
9
|
-
## Operation steps
|
|
10
|
-
|
|
11
|
-
### Step 1: Create a new application
|
|
12
|
-
|
|
13
|
-
Please visit the [TRTC console](https://console.trtc.io/) and create an RTC Engine application.
|
|
14
|
-
|
|
15
|
-
### Step 2. Get your SDKAppId and SDKSecretKey
|
|
16
|
-
|
|
17
|
-
After your application created, you can get your **SDKAppID** and **SDKSecretKey** in Basic information , which are used to run demo.
|
|
18
|
-
|
|
19
|
-
## Step 3: Run the Demo
|
|
20
|
-
|
|
21
|
-
1. **Run demo online**
|
|
22
|
-
|
|
23
|
-
We provides the following basic demos. You can choose the project framework you are familiar with to run and experience:
|
|
24
|
-
|
|
25
|
-
1.1 [quick-demo-js](https://web.sdk.qcloud.com/trtc/webrtc/v5/demo/quick-demo-js/index.html) is a demo coded by Javascript. Source code: [github](https://github.com/LiteAVSDK/TRTC_Web/tree/main/quick-demo-js).
|
|
26
|
-
|
|
27
|
-
1.2 [quick-demo-vue2-js](https://web.sdk.qcloud.com/trtc/webrtc/v5/demo/quick-demo-vue2-js/index.html) is a demo coded by Vue2 + Javascript. Source code: [github](https://github.com/LiteAVSDK/TRTC_Web/tree/main/quick-demo-vue2-js).
|
|
28
|
-
|
|
29
|
-
1.3 [quick-demo-vue3-ts](https://web.sdk.qcloud.com/trtc/webrtc/v5/demo/quick-demo-vue3-ts/index.html) is a demo coded by Vue3 + Typescript. Source code: [github](https://github.com/LiteAVSDK/TRTC_Web/tree/main/quick-demo-vue3-ts).
|
|
30
|
-
|
|
31
|
-
2. **Run Demo locally**
|
|
32
|
-
|
|
33
|
-
2.1 Download source code by [Github](https://github.com/LiteAVSDK/TRTC_Web/tree/main) or [Zip](https://web.sdk.qcloud.com/trtc/webrtc/download/webrtc_latest.zip).
|
|
34
|
-
|
|
35
|
-
2.2 Run demo locally by following steps.
|
|
36
|
-
|
|
37
|
-
(1) Open the demo file
|
|
38
|
-
|
|
39
|
-
- for `quick-demo-js`, open the `TRTC_Web/quick-demo-js/index.html` directly via a browser.
|
|
40
|
-
- for `quick-demo-vue2-js`, enter the `TRTC_Web/quick-demo-vue2-js/` directory, then run `npm start` in this directory, the default browser will automatically open the address [http://localhost:8080/](http://localhost:8080/)
|
|
41
|
-
- for `quick-demo-vue3-ts`, enter the `TRTC_Web/quick-demo-vue3-ts/` directory, then run `npm start` in this directory, the default browser will automatically open the address [http://localhost:3000/](http://localhost:3000/)
|
|
42
|
-
|
|
43
|
-
(2) Fill in the SDKAppId and SDKSecretKey obtained in [Step 2](#Step-2.-Get-your-SDKAppId-and-SDKSecretKey) on the page opened in the browser.
|
|
44
|
-
|
|
45
|
-
(3) Functional experience
|
|
46
|
-
|
|
47
|
-
- Click the [Enter Room] button to enter the room.
|
|
48
|
-
- Click the [Start Local Audio/Video] button to capture the microphone or camera.
|
|
49
|
-
- Click the [Stop Local Audio/Video] button to stop capturing the microphone or camera.
|
|
50
|
-
- Click the [Start Share Screen] button to start screen sharing.
|
|
51
|
-
- Click the [Stop Share Screen] button to cancel screen sharing.
|
|
52
|
-
|
|
53
|
-
(4) After joining the room, you can share the invitation link to experience the TRTC Web voice and video communication function with the invitee.
|
|
54
|
-
|
|
55
|
-
> **Important Notes:**
|
|
56
|
-
>
|
|
57
|
-
> - To deploy to the public network for experience, you need to access it through HTTPS protocol, that is, `https://domain/xxx`. For the reason, please refer to the document [Page Access Protocol Restriction Description](./tutorial-05-info-browser.html#h2-3).
|
|
58
|
-
> - Currently, the desktop Chrome browser supports TRTC Web SDK's related features more completely, so it is recommended to use Chrome browser for experience, please refer to the document [Browser Compatibility Information](./tutorial-05-info-browser.html#h2-2).
|
|
59
|
-
> - The correct way to generate UserSig is to integrate the UserSig calculation code into your server and provide an interface for the App. When you need UserSig, your App sends a request to the business server to obtain a dynamic UserSig. For more details, please refer to [Generating UserSig on the Server](https://trtc.io/document/35166?platform=web&product=rtcengine&menulabel=coresdk).
|