@tencentcloud/sdk-mcp 1.4.6 → 1.6.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 -11
- 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 +9 -8
- 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 -41
- 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,228 +0,0 @@
|
|
|
1
|
-
`RoomStore` 是 `AtomicXCore` 中专职房间事务管理的模块,深度集成了会中呼叫能力。本章节旨在指导如何利用 `RoomStore` 高效完成会中呼叫相关功能的开发与接入。
|
|
2
|
-
|
|
3
|
-
## 核心功能
|
|
4
|
-
- **会中呼叫**:房间内任意参与者均可呼叫房间外任意成员加入房间。
|
|
5
|
-
|
|
6
|
-
- **获取会中呼叫用户列表**:可以获取指定房间的会中呼叫的用户列表。
|
|
7
|
-
|
|
8
|
-
## 核心概念
|
|
9
|
-
|
|
10
|
-
在开始集成之前,需要通过下表了解一下`RoomStore`中与会中呼叫相关的几个核心概念:
|
|
11
|
-
| **核心概念** | **核心职责与描述** |
|
|
12
|
-
| --- | --- |
|
|
13
|
-
| [RoomCallStatus](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomcallstatus) | 代表会中呼叫的状态,包含:<br>- `none`(默认态)。<br>- `calling`(呼叫中)。<br>- `timeout`(呼叫超时)。<br>- `rejected`(呼叫被拒绝)。 |
|
|
14
|
-
| [RoomCallResult](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomcallresult) | 代表会中呼叫的结果,包含:<br>- `success`(呼叫成功)。<br>- `alreadyInCalling`(已在呼叫中)。<br>- `alreadyInRoom`(已在房间中)。 |
|
|
15
|
-
| [CallRejectionReason](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callrejectionreason) | 代表呼叫被拒绝的原因,目前仅支持:<br>- `rejected`(主动拒绝)。<br>- `inOtherRoom`(在其他房间中)。 |
|
|
16
|
-
| [RoomCall](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomcall) | 代表会中呼叫业务的核心数据结构。负责存储呼叫者信息、被呼叫者信息、以及当前呼叫状态。 |
|
|
17
|
-
| [RoomEvent](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomevent) | 代表房间动态的实时事件。其中包含会中呼叫相关的事件。 |
|
|
18
|
-
| [RoomStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomstore) | 这是与房间全生命周期相关的核心类。功能包含:发起会中呼叫,响应会中呼叫,获取房间的会中呼叫列表,并通过订阅其 `roomEventPublisher` 来接收与会中呼叫相关的实时动态事件。 |
|
|
19
|
-
|
|
20
|
-
## 实现步骤
|
|
21
|
-
|
|
22
|
-
### 步骤1:组件集成
|
|
23
|
-
|
|
24
|
-
请参考 接入概览 集成 **AtomicXCore SDK**,并已完成 实现登录逻辑 部分接入。
|
|
25
|
-
|
|
26
|
-
### 步骤2:呼叫方功能
|
|
27
|
-
|
|
28
|
-
#### **1. 发起呼叫**
|
|
29
|
-
|
|
30
|
-
作为呼叫方调用`RoomStore`的`callUserToRoom`接口,可以批量呼叫用户进房。
|
|
31
|
-
``` java
|
|
32
|
-
import 'package:atomic_x_core/atomicxcore.dart';
|
|
33
|
-
|
|
34
|
-
Future<void> callUserToRoom({
|
|
35
|
-
required List<String> userIDList,
|
|
36
|
-
int timeout = 30,
|
|
37
|
-
String? extensionInfo,
|
|
38
|
-
}) async {
|
|
39
|
-
final result = await RoomStore.shared.callUserToRoom(
|
|
40
|
-
roomID: "roomID",
|
|
41
|
-
userIDList: userIDList,
|
|
42
|
-
timeout: timeout,
|
|
43
|
-
extensionInfo: extensionInfo,
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
if (result.isSuccess) {
|
|
47
|
-
print("呼叫用户请求发送成功");
|
|
48
|
-
} else {
|
|
49
|
-
print("呼叫用户失败: [错误码: ${result.errorCode}]: ${result.errorMessage}");
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
#### **2. 取消呼叫**
|
|
55
|
-
|
|
56
|
-
作为呼叫方调用`RoomStore`的`cancelCall`接口,可以批量取消正在呼叫申请。
|
|
57
|
-
``` java
|
|
58
|
-
import 'package:atomic_x_core/atomicxcore.dart';
|
|
59
|
-
|
|
60
|
-
Future<void> cancelCall(List<String> userIDList) async {
|
|
61
|
-
final result = await RoomStore.shared.cancelCall(
|
|
62
|
-
roomID: "roomID",
|
|
63
|
-
userIDList: userIDList,
|
|
64
|
-
);
|
|
65
|
-
|
|
66
|
-
if (result.isSuccess) {
|
|
67
|
-
print("取消呼叫成功");
|
|
68
|
-
} else {
|
|
69
|
-
print("取消呼叫失败: [错误码: ${result.errorCode}]: ${result.errorMessage}");
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
#### **3. 获取呼叫列表信息**
|
|
75
|
-
|
|
76
|
-
进入房间后,调用`RoomStore`的`getPendingCalls`接口,可以分页查询当前房间正在呼叫的用户列表信息。
|
|
77
|
-
``` java
|
|
78
|
-
import 'package:atomic_x_core/atomicxcore.dart';
|
|
79
|
-
|
|
80
|
-
Future<void> getPendingCalls(String roomID, String? cursor) async {
|
|
81
|
-
// cursor 为分页游标,首次调用时传入 null,获取第一页数据,后续调用时传入上次返回的 cursor 值。
|
|
82
|
-
final result = await RoomStore.shared.getPendingCalls(
|
|
83
|
-
roomID: roomID,
|
|
84
|
-
cursor: cursor,
|
|
85
|
-
);
|
|
86
|
-
|
|
87
|
-
if (result.isSuccess) {
|
|
88
|
-
print("获取呼叫列表成功,列表信息: ${result.data}, 分页游标: ${result.cursor}");
|
|
89
|
-
} else {
|
|
90
|
-
print("获取呼叫列表失败: [错误码: ${result.errorCode}]: ${result.errorMessage}");
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
#### **4. 订阅会中呼叫事件**
|
|
96
|
-
|
|
97
|
-
作为呼叫方订阅 `RoomStore` 的 `roomEventPublisher` 能够实时获取呼叫的生命周期事件。通过监听以下回调,可以精准捕捉呼叫的最终结果并据此更新 UI 状态或执行后续业务逻辑。
|
|
98
|
-
``` java
|
|
99
|
-
import 'package:atomic_x_core/atomicxcore.dart';
|
|
100
|
-
|
|
101
|
-
late RoomListener _listener;
|
|
102
|
-
|
|
103
|
-
/// 订阅会中呼叫相关事件
|
|
104
|
-
void addRoomCallListener() {
|
|
105
|
-
_listener = RoomListener(
|
|
106
|
-
onCallTimeout: (roomInfo, call) {
|
|
107
|
-
print("呼叫超时 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}");
|
|
108
|
-
},
|
|
109
|
-
onCallAccepted: (roomInfo, call) {
|
|
110
|
-
print("呼叫已被接受 房间信息: ${roomInfo.roomID}, 被呼叫者: ${call.callee.userID}");
|
|
111
|
-
},
|
|
112
|
-
onCallRejected: (roomInfo, call, reason) {
|
|
113
|
-
print("呼叫被拒绝 房间信息: ${roomInfo.roomID}, 被呼叫者: ${call.callee.userID}, 拒绝原因: $reason");
|
|
114
|
-
},
|
|
115
|
-
onCallHandledByOtherDevice: (roomInfo, isAccepted) {
|
|
116
|
-
print("呼叫已被其他设备处理 房间信息: ${roomInfo.roomID}, 处理结果: $isAccepted");
|
|
117
|
-
},
|
|
118
|
-
);
|
|
119
|
-
|
|
120
|
-
RoomStore.shared.addRoomListener(_listener);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
void removeRoomCallListener() {
|
|
124
|
-
RoomStore.shared.removeRoomListener(_listener);
|
|
125
|
-
}
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
**呼叫事件函数详细说明**
|
|
129
|
-
| 事件函数 | 触发时机与说明 |
|
|
130
|
-
| --- | --- |
|
|
131
|
-
| [onCallTimeout](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomevent/oncalltimeout(roominfo:call:)) | 呼叫超时。当呼叫请求在预设的时间内(由调用 callUserToRoom 时指定)未得到被呼叫方的响应时触发。此时,呼叫自动结束,呼叫方通常需要提示“对方无人接听”。 |
|
|
132
|
-
| [onCallAccepted](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomevent/oncallaccepted(roominfo:call:)) | 呼叫被接受。被呼叫方主动点击了“接听”或“接受”按钮。收到此回调后,表示双方已达成呼叫意图,呼叫方通常应立即执行进入房间或开始推流的操作。 |
|
|
133
|
-
| [onCallRejected](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomevent/oncallrejected(roominfo:call:reason:)) | 呼叫被拒绝。被呼叫方主动拒绝了通话请求,或者因为被呼叫方当前正处于其他房间中而自动拒绝。回调中通常包含拒绝原因(如主动拒绝或在其他房间中)。 |
|
|
134
|
-
| [onCallHandledByOtherDevice](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomevent/oncallhandledbyotherdevice(roominfo:isaccepted:)) | 呼叫已在其他设备处理。当用户在多个设备(例如手机和 iPad)同时登录时,如果呼叫已在其中一台设备上被处理(接受或拒绝),当前设备会收到此通知,用于同步 UI 状态并自动消除呼叫界面。 |
|
|
135
|
-
|
|
136
|
-
### 步骤3:被呼叫方功能
|
|
137
|
-
|
|
138
|
-
#### **1. 订阅会中呼叫事件**
|
|
139
|
-
|
|
140
|
-
作为被呼叫方订阅 `RoomStore` 的 `roomEventPublisher` 可以实时监听并响应来自呼叫方的呼叫行为。以下是构建呼叫提醒界面以及维护呼叫链路状态的关键事件。
|
|
141
|
-
``` java
|
|
142
|
-
import 'package:atomic_x_core/atomicxcore.dart';
|
|
143
|
-
|
|
144
|
-
late RoomListener _listener;
|
|
145
|
-
|
|
146
|
-
/// 订阅会中呼叫相关事件
|
|
147
|
-
void addRoomCallListener() {
|
|
148
|
-
_listener = RoomListener(
|
|
149
|
-
onCallReceived: (roomInfo, call, extensionInfo) {
|
|
150
|
-
print("收到房间呼叫 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}, 扩展信息: $extensionInfo");
|
|
151
|
-
},
|
|
152
|
-
onCallCancelled: (roomInfo, call) {
|
|
153
|
-
print("呼叫被取消 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}");
|
|
154
|
-
},
|
|
155
|
-
onCallRevokedByAdmin: (roomInfo, call, operatorUser) {
|
|
156
|
-
print("呼叫被管理员移除 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}, 移除操作者: ${operatorUser.userID}");
|
|
157
|
-
},
|
|
158
|
-
);
|
|
159
|
-
|
|
160
|
-
RoomStore.shared.addRoomListener(_listener);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
void removeRoomCallListener() {
|
|
164
|
-
RoomStore.shared.removeRoomListener(_listener);
|
|
165
|
-
}
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
**事件函数详细说明**
|
|
169
|
-
| 事件函数 | 触发时机与说明 |
|
|
170
|
-
| --- | --- |
|
|
171
|
-
| [onCallReceived](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomevent/oncallreceived(roominfo:call:extensioninfo:)) | 收到呼叫邀请。当有其他用户向您发起入会邀请时触发。收到此回调后,被呼叫方通常应立即弹出“呼叫提醒”界面,展示呼叫者信息、房间信息,并提供“接听”和“拒绝”按钮。 |
|
|
172
|
-
| [onCallCancelled](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomevent/oncallcancelled(roominfo:call:)) | 呼叫被发起方取消。呼叫方在您未做出响应前,主动撤回了呼叫请求。收到此回调后,被呼叫方应立即关闭当前的来电界面,并提示“对方已取消呼叫”,以恢复应用正常操作流程。 |
|
|
173
|
-
| [onCallRevokedByAdmin](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomevent/oncallrevokedbyadmin(roominfo:call:operator:)) | 呼叫被管理员撤销。房间管理员或后台系统因权限变更、房间解散等原因强行终止了该笔呼叫邀请。收到此通知后,被呼叫方需立即停止呼叫流程并隐藏相关 UI,处理逻辑通常类似于呼叫被取消。 |
|
|
174
|
-
|
|
175
|
-
#### **2. 接受呼叫、拒绝呼叫**
|
|
176
|
-
|
|
177
|
-
作为被呼叫方调用`RoomStore`的`acceptCall`或者`rejectCall`接口,处理接受或者拒绝呼叫邀请。
|
|
178
|
-
``` java
|
|
179
|
-
import 'package:atomic_x_core/atomicxcore.dart';
|
|
180
|
-
|
|
181
|
-
late RoomListener _listener;
|
|
182
|
-
|
|
183
|
-
/// 订阅会中呼叫相关事件
|
|
184
|
-
void addRoomCallListener() {
|
|
185
|
-
_listener = RoomListener(
|
|
186
|
-
onCallReceived: (roomInfo, call, extensionInfo) {
|
|
187
|
-
print("收到房间呼叫 房间信息: ${roomInfo.roomID}, 呼叫者: ${call.caller.userID}, 扩展信息: $extensionInfo");
|
|
188
|
-
// 接受、拒绝呼叫邀请操作
|
|
189
|
-
},
|
|
190
|
-
);
|
|
191
|
-
|
|
192
|
-
RoomStore.shared.addRoomListener(_listener);
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
void removeRoomCallListener() {
|
|
196
|
-
RoomStore.shared.removeRoomListener(_listener);
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
// 接受呼叫邀请
|
|
200
|
-
Future<void> acceptCall(String roomID) async {
|
|
201
|
-
final result = await RoomStore.shared.acceptCall(roomID);
|
|
202
|
-
|
|
203
|
-
if (result.isSuccess) {
|
|
204
|
-
print("接受呼叫成功,房间ID: $roomID");
|
|
205
|
-
} else {
|
|
206
|
-
print("接受呼叫失败: [错误码: ${result.errorCode}] ${result.errorMessage}");
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
// 拒绝呼叫邀请
|
|
211
|
-
Future<void> rejectCall(String roomID, {CallRejectionReason reason = CallRejectionReason.rejected}) async {
|
|
212
|
-
final result = await RoomStore.shared.rejectCall(
|
|
213
|
-
roomID: roomID,
|
|
214
|
-
reason: reason,
|
|
215
|
-
);
|
|
216
|
-
|
|
217
|
-
if (result.isSuccess) {
|
|
218
|
-
print("拒绝呼叫成功,房间ID: $roomID");
|
|
219
|
-
} else {
|
|
220
|
-
print("拒绝呼叫失败: [错误码: ${result.errorCode}] ${result.errorMessage}");
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
## API 文档
|
|
226
|
-
| **Store/Component** | **功能描述** | **API文档** |
|
|
227
|
-
| --- | --- | --- |
|
|
228
|
-
| **RoomStore** | 房间全生命周期管理:创建并加入 / 加入 / 离开 / 结束房间 / 更新、获取房间信息 / 预定房间 / 呼叫房间外成员 / 监听房间内被动事件(例如房间解散,房间信息更新等)。 | [API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomstore) |
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
@@ -1,460 +0,0 @@
|
|
|
1
|
-
本文档指导您如何使用 Atomicx 组件和 `useDeviceState` Hook 来管理会议中的音视频设备(摄像头、麦克风、扬声器)状态,以及如何获取本地网络质量信息。
|
|
2
|
-
|
|
3
|
-
## 功能介绍
|
|
4
|
-
- **设备枚举与切换:**支持实时获取系统可用设备列表,并实现无缝切换。
|
|
5
|
-
|
|
6
|
-
- **状态精细化控制:**提供开启/关闭、采集静音、音量调节及实时音量监测能力。
|
|
7
|
-
|
|
8
|
-
- **错误诊断:**实时反馈硬件冲突、系统权限缺失等异常状态。
|
|
9
|
-
|
|
10
|
-
- **网络质量监控:**提供包含延迟、丢包率在内的多维度网络信息。
|
|
11
|
-
|
|
12
|
-
## 前提条件
|
|
13
|
-
- 用户已经通过 [useLoginState](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-LoginState) 完成登录鉴权,请参考 接入概览。
|
|
14
|
-
|
|
15
|
-
- 若在 `iframe` 中集成,需在标签中声明权限。
|
|
16
|
-
|
|
17
|
-
``` typescript
|
|
18
|
-
<iframe allow="microphone; camera;"></iframe>
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## 实现摄像头管理
|
|
22
|
-
|
|
23
|
-
您可以通过 [useDeviceState](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-DeviceState) 来控制本地摄像头的开关、切换设备,并监听采集状态和错误。
|
|
24
|
-
|
|
25
|
-
### 步骤1:开启/关闭摄像头
|
|
26
|
-
|
|
27
|
-
通过调用 [openLocalCamera](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#openLocalCamera) 和 [closeLocalCamera](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#closeLocalCamera) 方法来控制摄像头的开关。
|
|
28
|
-
``` typescript
|
|
29
|
-
import { useDeviceState, DeviceStatus } from 'tuikit-atomicx-vue3/room';
|
|
30
|
-
const { cameraStatus, openLocalCamera, closeLocalCamera } = useDeviceState();
|
|
31
|
-
const toggleCamera = async () => {
|
|
32
|
-
if (cameraStatus.value === DeviceStatus.On) {
|
|
33
|
-
await closeLocalCamera();
|
|
34
|
-
} else {
|
|
35
|
-
await openLocalCamera();
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### 步骤2:获取/切换摄像头设备
|
|
41
|
-
|
|
42
|
-
#### 桌面端获取和切换摄像头示例
|
|
43
|
-
|
|
44
|
-
您可以通过 [cameraList](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#cameraList) 获取所有可用的摄像头设备,使用 [setCurrentCamera](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#setCurrentCamera) 方法切换当前使用的摄像头。
|
|
45
|
-
``` typescript
|
|
46
|
-
import { useDeviceState } from 'tuikit-atomicx-vue3/room';
|
|
47
|
-
const { cameraList, currentCamera, getCameraList, setCurrentCamera } = useDeviceState();
|
|
48
|
-
|
|
49
|
-
// 获取摄像头列表
|
|
50
|
-
await getCameraList();
|
|
51
|
-
|
|
52
|
-
// 遍历并显示可用摄像头
|
|
53
|
-
cameraList.value.forEach((camera) => {
|
|
54
|
-
console.log(`摄像头: ${camera.deviceName} (${camera.deviceId})`);
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
// 切换到指定摄像头
|
|
58
|
-
const switchCamera = async (deviceId: string) => {
|
|
59
|
-
try {
|
|
60
|
-
// 切换设备(如果摄像头已开启,会自动使用新设备重新采集)
|
|
61
|
-
await setCurrentCamera({ deviceId });
|
|
62
|
-
console.log('摄像头切换成功');
|
|
63
|
-
} catch (error) {
|
|
64
|
-
console.error('摄像头切换失败:', error);
|
|
65
|
-
// 切换失败时会保持使用原设备
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
// 监听当前摄像头变化
|
|
70
|
-
watch(currentCamera, (camera) => {
|
|
71
|
-
if (camera) {
|
|
72
|
-
console.log('当前使用摄像头:', camera.deviceName);
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
> **说明:**
|
|
78
|
-
>
|
|
79
|
-
|
|
80
|
-
> 调用 [setCurrentCamera](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#setCurrentCamera) 切换设备时,如果摄像头已开启,Atomicx 会自动停止当前设备的采集,并使用新设备重新开始采集,视频流会无缝切换。如果切换失败,会保持使用原设备。
|
|
81
|
-
>
|
|
82
|
-
|
|
83
|
-
#### 移动端切换摄像头示例
|
|
84
|
-
|
|
85
|
-
移动端使用 [switchCamera](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#switchCamera) 切换前后置摄像头。
|
|
86
|
-
``` typescript
|
|
87
|
-
import { useDeviceState } from 'tuikit-atomicx-vue3/room';
|
|
88
|
-
const { isFrontCamera, switchCamera } = useDeviceState();
|
|
89
|
-
|
|
90
|
-
// 判断是否为移动端
|
|
91
|
-
const isMobile = /Android|webOS|iPhone|iPad|iPod/i.test(navigator.userAgent);
|
|
92
|
-
|
|
93
|
-
// 切换前后置摄像头(仅移动端支持)
|
|
94
|
-
const toggleCamera = async () => {
|
|
95
|
-
if (!isMobile) {
|
|
96
|
-
console.warn('前后置摄像头切换仅在移动端支持');
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// 切换到相反的摄像头
|
|
101
|
-
await switchCamera({ isFrontCamera: !isFrontCamera.value });
|
|
102
|
-
console.log(`已切换到${isFrontCamera.value ? '前置' : '后置'}摄像头`);
|
|
103
|
-
};
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### 步骤3:处理摄像头采集错误
|
|
107
|
-
|
|
108
|
-
当摄像头采集发生错误时,您可以通过 [cameraLastError](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#cameraLastError) 属性获取错误信息。
|
|
109
|
-
|
|
110
|
-
> 注意:
|
|
111
|
-
>
|
|
112
|
-
|
|
113
|
-
> 常见的摄像头错误包括 `NoSystemPermission` (无系统权限) 和 `OccupiedError`(设备被占用)。您应基于此属性向用户展示明确的错误提示。
|
|
114
|
-
>
|
|
115
|
-
|
|
116
|
-
``` typescript
|
|
117
|
-
import { useDeviceState, DeviceError } from 'tuikit-atomicx-vue3/room';
|
|
118
|
-
const { cameraLastError } = useDeviceState();
|
|
119
|
-
|
|
120
|
-
// 监听摄像头错误
|
|
121
|
-
watch(cameraLastError, (error) => {
|
|
122
|
-
switch (error) {
|
|
123
|
-
case DeviceError.NoSystemPermission:
|
|
124
|
-
console.error('摄像头权限被拒绝,请在系统设置中开启摄像头权限');
|
|
125
|
-
break;
|
|
126
|
-
case DeviceError.NoDeviceDetected:
|
|
127
|
-
console.error('未检测到摄像头设备');
|
|
128
|
-
break;
|
|
129
|
-
case DeviceError.OccupiedError:
|
|
130
|
-
console.error('摄像头被其他应用占用');
|
|
131
|
-
break;
|
|
132
|
-
case DeviceError.NotSupportCapture:
|
|
133
|
-
console.error('当前浏览器不支持摄像头采集');
|
|
134
|
-
break;
|
|
135
|
-
default:
|
|
136
|
-
break;
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
## 实现麦克风管理
|
|
142
|
-
|
|
143
|
-
您可以通过 [useDeviceState](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-DeviceState) 来控制本地麦克风的开关、静音、音量调节和实时音量显示,并监听采集状态和错误。
|
|
144
|
-
|
|
145
|
-
### 步骤1:开启/关闭麦克风
|
|
146
|
-
``` typescript
|
|
147
|
-
import { useDeviceState, DeviceStatus } from 'tuikit-atomicx-vue3/room';
|
|
148
|
-
const { microphoneStatus, openLocalMicrophone, closeLocalMicrophone } = useDeviceState();
|
|
149
|
-
const toggleMicrophone = async () => {
|
|
150
|
-
if (microphoneStatus.value === DeviceStatus.On) {
|
|
151
|
-
await closeLocalMicrophone();
|
|
152
|
-
} else {
|
|
153
|
-
await openLocalMicrophone();
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### 步骤2:获取/切换麦克风设备
|
|
159
|
-
|
|
160
|
-
#### 桌面端浏览器获取/切换麦克风示例
|
|
161
|
-
|
|
162
|
-
您可以通过 [microphoneList](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#microphoneList) 获取所有可用的麦克风设备,使用 [setCurrentMicrophone](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#setCurrentMicrophone) 方法切换当前使用的麦克风。
|
|
163
|
-
``` typescript
|
|
164
|
-
import { useDeviceState } from 'tuikit-atomicx-vue3/room';
|
|
165
|
-
|
|
166
|
-
const {
|
|
167
|
-
microphoneList,
|
|
168
|
-
currentMicrophone,
|
|
169
|
-
getMicrophoneList,
|
|
170
|
-
setCurrentMicrophone
|
|
171
|
-
} = useDeviceState();
|
|
172
|
-
|
|
173
|
-
// 获取麦克风列表
|
|
174
|
-
await getMicrophoneList();
|
|
175
|
-
|
|
176
|
-
// 遍历并显示可用麦克风
|
|
177
|
-
microphoneList.value.forEach((mic) => {
|
|
178
|
-
console.log(`麦克风: ${mic.deviceName} (${mic.deviceId})`);
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
// 切换到指定麦克风
|
|
182
|
-
const switchMicrophone = async (deviceId: string) => {
|
|
183
|
-
await setCurrentMicrophone({ deviceId });
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
// 监听当前麦克风变化
|
|
187
|
-
watch(currentMicrophone, (mic) => {
|
|
188
|
-
if (mic) {
|
|
189
|
-
console.log('当前使用麦克风:', mic.deviceName);
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
### 步骤3:设置采集音量
|
|
195
|
-
|
|
196
|
-
您可以使用 [setCaptureVolume](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#setCaptureVolume) 方法来调整本地麦克风的采集音量。
|
|
197
|
-
``` typescript
|
|
198
|
-
import { useDeviceState } from 'tuikit-atomicx-vue3/room';
|
|
199
|
-
const { captureVolume, setCaptureVolume } = useDeviceState();
|
|
200
|
-
|
|
201
|
-
// 设置采集音量为 50%
|
|
202
|
-
await setCaptureVolume(50);
|
|
203
|
-
|
|
204
|
-
// 监听采集音量变化
|
|
205
|
-
watch(captureVolume, (volume) => {
|
|
206
|
-
console.log('当前采集音量:', volume);
|
|
207
|
-
});
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### 步骤4:显示实时音量
|
|
211
|
-
|
|
212
|
-
[currentMicVolume](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#currentMicVolume) 属性会实时更新本地麦克风的采集音量,可用于音量条的动态显示。
|
|
213
|
-
``` typescript
|
|
214
|
-
<template>
|
|
215
|
-
<div class="mic-volume">
|
|
216
|
-
<label>麦克风音量</label>
|
|
217
|
-
<div class="volume-bar-container">
|
|
218
|
-
<div
|
|
219
|
-
class="volume-bar"
|
|
220
|
-
:style="{ width: `${currentMicVolume}%` }"
|
|
221
|
-
/>
|
|
222
|
-
</div>
|
|
223
|
-
<span>{{ currentMicVolume }}</span>
|
|
224
|
-
</div>
|
|
225
|
-
</template>
|
|
226
|
-
|
|
227
|
-
<script setup lang="ts">
|
|
228
|
-
import { useDeviceState } from 'tuikit-atomicx-vue3/room';
|
|
229
|
-
const { currentMicVolume } = useDeviceState();
|
|
230
|
-
</script>
|
|
231
|
-
|
|
232
|
-
<style scoped>
|
|
233
|
-
.volume-bar-container {
|
|
234
|
-
width: 200px;
|
|
235
|
-
height: 8px;
|
|
236
|
-
background-color: #e0e0e0;
|
|
237
|
-
border-radius: 4px;
|
|
238
|
-
overflow: hidden;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
.volume-bar {
|
|
242
|
-
height: 100%;
|
|
243
|
-
background-color: #4caf50;
|
|
244
|
-
transition: width 0.1s ease;
|
|
245
|
-
}
|
|
246
|
-
</style>
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
### 步骤5:处理麦克风采集错误
|
|
250
|
-
|
|
251
|
-
当麦克风采集发生错误时,您可以通过 [microphoneLastError](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#microphoneLastError) 数据获取错误信息。
|
|
252
|
-
``` typescript
|
|
253
|
-
import { useDeviceState, DeviceError } from 'tuikit-atomicx-vue3/room';
|
|
254
|
-
const { microphoneLastError } = useDeviceState();
|
|
255
|
-
|
|
256
|
-
// 监听麦克风错误
|
|
257
|
-
watch(microphoneLastError, (error) => {
|
|
258
|
-
switch (error) {
|
|
259
|
-
case DeviceError.NoSystemPermission:
|
|
260
|
-
console.error('麦克风权限被拒绝,请在系统设置中开启麦克风权限');
|
|
261
|
-
break;
|
|
262
|
-
case DeviceError.NoDeviceDetected:
|
|
263
|
-
console.error('未检测到麦克风设备');
|
|
264
|
-
break;
|
|
265
|
-
case DeviceError.OccupiedError:
|
|
266
|
-
console.error('麦克风被其他应用占用');
|
|
267
|
-
break;
|
|
268
|
-
case DeviceError.NotSupportCapture:
|
|
269
|
-
console.error('当前浏览器不支持麦克风采集');
|
|
270
|
-
break;
|
|
271
|
-
default:
|
|
272
|
-
break;
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
## 实现扬声器管理
|
|
278
|
-
|
|
279
|
-
扬声器(播放设备)主要涉及切换设备和设置播放音量。
|
|
280
|
-
|
|
281
|
-
### 步骤1:获取/切换扬声器设备
|
|
282
|
-
|
|
283
|
-
您可以通过 [speakerList](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#speakerList) 获取所有可用的扬声器设备,使用 [setCurrentSpeaker](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#setCurrentSpeaker) 方法切换当前使用的扬声器。
|
|
284
|
-
``` typescript
|
|
285
|
-
import { useDeviceState } from 'tuikit-atomicx-vue3/room';
|
|
286
|
-
const {
|
|
287
|
-
speakerList,
|
|
288
|
-
currentSpeaker,
|
|
289
|
-
getSpeakerList,
|
|
290
|
-
setCurrentSpeaker
|
|
291
|
-
} = useDeviceState();
|
|
292
|
-
|
|
293
|
-
// 获取扬声器列表
|
|
294
|
-
await getSpeakerList();
|
|
295
|
-
|
|
296
|
-
// 遍历并显示可用扬声器
|
|
297
|
-
speakerList.value.forEach((speaker) => {
|
|
298
|
-
console.log(`扬声器: ${speaker.deviceName} (${speaker.deviceId})`);
|
|
299
|
-
});
|
|
300
|
-
|
|
301
|
-
// 切换到指定扬声器
|
|
302
|
-
const switchSpeaker = async (deviceId: string) => {
|
|
303
|
-
await setCurrentSpeaker({ deviceId });
|
|
304
|
-
};
|
|
305
|
-
|
|
306
|
-
// 监听当前扬声器变化
|
|
307
|
-
watch(currentSpeaker, (speaker) => {
|
|
308
|
-
if (speaker) {
|
|
309
|
-
console.log('当前使用扬声器:', speaker.deviceName);
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
### 步骤2:设置播放音量
|
|
315
|
-
|
|
316
|
-
您可以使用 [setOutputVolume](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#setOutputVolume) 方法来调整扬声器的播放音量。
|
|
317
|
-
``` typescript
|
|
318
|
-
import { useDeviceState } from 'tuikit-atomicx-vue3/room';
|
|
319
|
-
const { outputVolume, setOutputVolume } = useDeviceState();
|
|
320
|
-
|
|
321
|
-
// 设置播放音量为 60%
|
|
322
|
-
await setOutputVolume(60);
|
|
323
|
-
|
|
324
|
-
// 监听播放音量变化
|
|
325
|
-
watch(outputVolume, (volume) => {
|
|
326
|
-
console.log('当前播放音量:', volume);
|
|
327
|
-
});
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
## 实现网络质量监控
|
|
331
|
-
|
|
332
|
-
使用 [useDeviceState](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-DeviceState) 中的 [networkInfo](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#networkInfo) 数据,您可以实时监控本地用户的网络质量。
|
|
333
|
-
|
|
334
|
-
> **说明:**
|
|
335
|
-
>
|
|
336
|
-
|
|
337
|
-
> 仅当本地用户通过 [joinRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#joinRoom)加入房间并打开麦克风或摄像头时,[networkInfo](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#networkInfo) 中才可以拿到有效数据。
|
|
338
|
-
>
|
|
339
|
-
|
|
340
|
-
``` typescript
|
|
341
|
-
<template>
|
|
342
|
-
<div class="network-indicator" @click="showDetails = !showDetails">
|
|
343
|
-
<TUIIcon v-if="networkIcon" :icon="networkIcon" />
|
|
344
|
-
<span class="network-text">{{ networkText }}</span>
|
|
345
|
-
<div v-if="showDetails" class="network-details">
|
|
346
|
-
<div>延迟: {{ networkInfo?.delay }}ms</div>
|
|
347
|
-
<div>上行丢包: {{ networkInfo?.upLoss }}%</div>
|
|
348
|
-
<div>下行丢包: {{ networkInfo?.downLoss }}%</div>
|
|
349
|
-
</div>
|
|
350
|
-
</div>
|
|
351
|
-
</template>
|
|
352
|
-
|
|
353
|
-
<script setup lang="ts">
|
|
354
|
-
import { computed, ref } from 'vue';
|
|
355
|
-
import {
|
|
356
|
-
IconNetworkStability,
|
|
357
|
-
IconNetworkFluctuation,
|
|
358
|
-
IconNetworkLag,
|
|
359
|
-
IconNetworkDisconnected,
|
|
360
|
-
IconArrowStrokeUp,
|
|
361
|
-
} from '@tencentcloud/uikit-base-component-vue3';
|
|
362
|
-
import { useDeviceState, NetworkQuality } from 'tuikit-atomicx-vue3/room';
|
|
363
|
-
|
|
364
|
-
const { networkInfo } = useDeviceState();
|
|
365
|
-
const showDetails = ref(false);
|
|
366
|
-
|
|
367
|
-
// 网络质量图标
|
|
368
|
-
const networkIcon = computed(() => {
|
|
369
|
-
if (!networkInfo.value) return '';
|
|
370
|
-
switch (networkInfo.value.quality) {
|
|
371
|
-
case NetworkQuality.Excellent:
|
|
372
|
-
case NetworkQuality.Good:
|
|
373
|
-
return IconNetworkStability;
|
|
374
|
-
case NetworkQuality.Poor:
|
|
375
|
-
return IconNetworkFluctuation;
|
|
376
|
-
case NetworkQuality.Bad:
|
|
377
|
-
case NetworkQuality.VeryBad:
|
|
378
|
-
return IconNetworkLag;
|
|
379
|
-
case NetworkQuality.Down:
|
|
380
|
-
return IconNetworkDisconnected;
|
|
381
|
-
default:
|
|
382
|
-
return '';
|
|
383
|
-
}
|
|
384
|
-
});
|
|
385
|
-
|
|
386
|
-
// 网络质量文本
|
|
387
|
-
const networkText = computed(() => {
|
|
388
|
-
if (!networkInfo.value) return '未知';
|
|
389
|
-
switch (networkInfo.value.quality) {
|
|
390
|
-
case NetworkQuality.Excellent:
|
|
391
|
-
return '优秀';
|
|
392
|
-
case NetworkQuality.Good:
|
|
393
|
-
return '良好';
|
|
394
|
-
case NetworkQuality.Poor:
|
|
395
|
-
return '一般';
|
|
396
|
-
case NetworkQuality.Bad:
|
|
397
|
-
return '差';
|
|
398
|
-
case NetworkQuality.VeryBad:
|
|
399
|
-
return '很差';
|
|
400
|
-
case NetworkQuality.Down:
|
|
401
|
-
return '断开';
|
|
402
|
-
default:
|
|
403
|
-
return '未知';
|
|
404
|
-
}
|
|
405
|
-
});
|
|
406
|
-
</script>
|
|
407
|
-
|
|
408
|
-
<style scoped>
|
|
409
|
-
|
|
410
|
-
.network-indicator {
|
|
411
|
-
position: relative;
|
|
412
|
-
display: flex;
|
|
413
|
-
align-items: center;
|
|
414
|
-
gap: 8px;
|
|
415
|
-
padding: 8px 12px;
|
|
416
|
-
border-radius: 4px;
|
|
417
|
-
cursor: pointer;
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
.network-details {
|
|
421
|
-
position: absolute;
|
|
422
|
-
top: 100%;
|
|
423
|
-
left: 0;
|
|
424
|
-
margin-top: 4px;
|
|
425
|
-
padding: 8px;
|
|
426
|
-
background: white;
|
|
427
|
-
border-radius: 4px;
|
|
428
|
-
box-shadow: 0 2px 8px rgba(0,0,0,0.15);
|
|
429
|
-
font-size: 12px;
|
|
430
|
-
white-space: nowrap;
|
|
431
|
-
z-index: 2;
|
|
432
|
-
}
|
|
433
|
-
</style>
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
## API 文档
|
|
437
|
-
| **State/Component** | **功能描述** | **API 文档** |
|
|
438
|
-
| --- | --- | --- |
|
|
439
|
-
| **useDeviceState** | 包含音视频设备状态,音视频设备列表及操作接口。 | [API 文档](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-DeviceState) |
|
|
440
|
-
|
|
441
|
-
## 常见问题
|
|
442
|
-
|
|
443
|
-
### 如果用户的电脑无麦克风或扬声器设备,是否可以进入音视频房间?
|
|
444
|
-
|
|
445
|
-
可以进入房间。 用户在缺少麦克风、扬声器或摄像头的情况下,依然可以调用 `joinRoom` 接口成功进入音视频房间。但在这种状态下,用户将面临以下交互异常。
|
|
446
|
-
|
|
447
|
-
**功能限制:**
|
|
448
|
-
- **无法开启媒体采集:**由于系统底层无法驱动相关硬件,调用 [openLocalMicrophone](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#openLocalMicrophone) 或 [openLocalCamera](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#openLocalCamera) 接口时将触发异步错误。此时,[microphoneLastError](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#microphoneLastError) 或 [cameraLastError](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#cameraLastError) 属性将返回 `DeviceError.NoDeviceDetected`(未检测到设备)。
|
|
449
|
-
|
|
450
|
-
- **采集端受限:**无法通过本端设备采集并传输声音(需麦克风)或影像(需摄像头)。
|
|
451
|
-
|
|
452
|
-
- **播放端受限:**由于缺少扬声器设备,用户将无法听到房间内其他参会者的音频。
|
|
453
|
-
|
|
454
|
-
**仍然可以使用的功能:**
|
|
455
|
-
|
|
456
|
-
仅观看模式:用户依然可以观看远端参会者分享的视频流或屏幕共享画面。
|
|
457
|
-
|
|
458
|
-
### 如何实现设备热插拔检测?
|
|
459
|
-
|
|
460
|
-
Atomicx 已经内置了设备热插拔检测功能,当媒体设备插拔时,设备列表和当前设备数据会自动更新。
|