@tencentcloud/sdk-mcp 1.4.7 → 1.6.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +0 -1
- package/knowledge/bm25-cache.js +73 -0
- package/knowledge/bm25.js +147 -0
- package/knowledge/build-index.js +65 -0
- package/knowledge/chunker.js +167 -0
- package/knowledge/content-loader.js +44 -0
- package/knowledge/extractors.js +25 -0
- package/knowledge/path-meta.js +175 -0
- package/knowledge/search/exact-lookup.js +330 -0
- package/knowledge/search/filter-pool.js +86 -0
- package/knowledge/search/requires-framework.js +72 -0
- package/knowledge/search/search-knowledge.js +226 -0
- package/package.json +9 -9
- package/resource/_schema/feature-aliases.yaml +10 -0
- package/resource/_schema/goal-tags.yaml +72 -0
- package/resource/_schema/products.yaml +16 -0
- package/resource/_schema/trtc-intents.yaml +27 -0
- package/resource/_schema/types.yaml +44 -0
- package/resource/index/component-slugs.json +1 -0
- package/resource/index/manifest.json +1 -0
- package/resource/{doc → integration}/callkit/preset/android/integration.md +32 -28
- package/resource/{doc → integration}/callkit/preset/flutter/integration.md +109 -54
- package/resource/integration/callkit/preset/ios/integration.md +411 -0
- package/resource/integration/callkit/preset/react/integration.md +499 -0
- package/resource/integration/callkit/preset/vue/integration.md +768 -0
- package/resource/{doc/chatkit → integration/chat/preset}/android/integration.md +11 -11
- package/resource/{doc/chatkit → integration/chat/preset}/flutter/integration.md +59 -37
- package/resource/integration/chat/preset/ios/integration.md +568 -0
- package/resource/{doc/chatkit → integration/chat/preset}/react/integration.md +127 -95
- package/resource/integration/chat/preset/uni-app/integration.md +494 -0
- package/resource/{doc/chatkit → integration/chat/preset}/vue/integration.md +163 -143
- package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +15 -15
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +25 -13
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-h5-integration.md +15 -9
- package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +31 -26
- package/resource/integration/roomkit/preset/vue/integration.md +571 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +852 -0
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +929 -0
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +364 -0
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1150 -0
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1216 -0
- package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +412 -0
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1191 -0
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1292 -0
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +537 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
- package/resource/knowledge/callkit/faq/android.md +168 -0
- package/resource/knowledge/callkit/faq/common.md +180 -0
- package/resource/knowledge/callkit/faq/flutter.md +52 -0
- package/resource/knowledge/callkit/faq/ios.md +116 -0
- package/resource/knowledge/callkit/faq/uniapp-app.md +89 -0
- package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +217 -0
- package/resource/knowledge/callkit/faq/web.md +363 -0
- package/resource/knowledge/callkit/preset/android/api.md +413 -0
- package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
- package/resource/knowledge/callkit/preset/ios/api.md +256 -0
- package/resource/knowledge/callkit/preset/web/api.md +79 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +72 -0
- package/resource/knowledge/chat/preset/android/features/contact-list.md +41 -0
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +123 -0
- package/resource/knowledge/chat/preset/android/features/language.md +142 -0
- package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
- package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
- package/resource/knowledge/chat/preset/android/features/search.md +64 -0
- package/resource/{doc/chatkit → knowledge/chat/preset}/android/features/theme.md +21 -18
- package/resource/knowledge/chat/preset/android-view/integration.md +448 -0
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +62 -0
- package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
- package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
- package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +163 -0
- package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
- package/resource/{doc/chatkit → knowledge/chat/preset}/flutter/features/theme.md +47 -19
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +92 -0
- package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
- package/resource/knowledge/chat/preset/ios/features/language.md +105 -0
- package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
- package/resource/knowledge/chat/preset/ios/features/message-list.md +164 -0
- package/resource/knowledge/chat/preset/ios/features/search.md +94 -0
- package/resource/{doc/chatkit → knowledge/chat/preset}/ios/features/theme.md +54 -51
- package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +157 -94
- package/resource/knowledge/chat/preset/react/features/chat-setting.md +123 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +256 -104
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +217 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/conversation-list.md +86 -79
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +99 -0
- package/resource/knowledge/chat/preset/react/features/conversation-search.md +58 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +30 -83
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-list.md +22 -25
- package/resource/knowledge/chat/preset/react/features/search.md +531 -0
- package/resource/knowledge/chat/preset/react/features/theme.md +16 -0
- package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/chat-setting.md +0 -4
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/contact-list.md +59 -53
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-actions.md +49 -43
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-list.md +61 -49
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-preview.md +43 -40
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +1 -1
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/message-input.md +128 -105
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/message-list.md +108 -195
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +74 -68
- package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
- package/resource/knowledge/chat/urls/error-code.md +16 -0
- package/resource/knowledge/chat/urls/product.md +61 -0
- package/resource/knowledge/chat/urls/restapi.md +226 -0
- package/resource/knowledge/chat/urls/sdk/android.md +84 -0
- package/resource/knowledge/chat/urls/sdk/flutter.md +73 -0
- package/resource/knowledge/chat/urls/sdk/ios.md +84 -0
- package/resource/knowledge/chat/urls/sdk/web.md +88 -0
- package/resource/knowledge/chat/urls/webhook.md +73 -0
- package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/AudioEffectStore.md +79 -76
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
- package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/CameraView.md +7 -6
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
- package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/LikeStore.md +12 -10
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +439 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +221 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/AudioEffectStore.md +79 -76
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/BaseBeautyStore.md +43 -45
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +420 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/LikeStore.md +12 -11
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/LiveCoreView.md +49 -42
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +397 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +183 -0
- package/resource/{doc/livekit/core-sdk/live/ios/api-reference → knowledge/livekit/core-sdk/api-reference/ios}/AudioEffectStore.md +79 -75
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
- package/resource/{doc/livekit/core-sdk/live/ios/api-reference → knowledge/livekit/core-sdk/api-reference/ios}/LikeStore.md +12 -10
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +434 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +187 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +780 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +59 -51
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +37 -34
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +68 -38
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +18 -15
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +17 -17
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +86 -80
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +53 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +47 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +26 -22
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +16 -13
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +33 -21
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +29 -25
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +21 -20
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +78 -69
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-host-interaction.md +47 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +48 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +27 -23
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +15 -12
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +39 -36
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +42 -29
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +19 -16
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +20 -19
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +55 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +50 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +48 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +26 -22
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +59 -51
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +41 -38
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +67 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +53 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +86 -80
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +45 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +43 -42
- package/resource/knowledge/livekit/core-sdk/voice/android/voice-room-list.md +523 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-audience-list.md +16 -13
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-audio-effect.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-barrage.md +33 -21
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +34 -28
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-gift.md +73 -64
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +46 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-room-list.md +165 -148
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +19 -16
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +40 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +41 -28
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +54 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +52 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +55 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +47 -45
- package/resource/knowledge/livekit/core-sdk/voice/ios/voice-room-list.md +404 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-audience-list.md +40 -57
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-audio-effect.md +38 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-barrage.md +53 -53
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-co-guest-interaction.md +106 -116
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-gift.md +49 -59
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-integration.md +52 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-room-list.md +38 -46
- package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +915 -0
- package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +179 -0
- package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +419 -0
- package/resource/knowledge/push/config/android/fcm.md +133 -0
- package/resource/knowledge/push/config/android/honor.md +111 -0
- package/resource/knowledge/push/config/android/huawei.md +106 -0
- package/resource/knowledge/push/config/android/meizu.md +121 -0
- package/resource/knowledge/push/config/android/oppo.md +108 -0
- package/resource/knowledge/push/config/android/vivo.md +101 -0
- package/resource/knowledge/push/config/android/xiaomi.md +99 -0
- package/resource/knowledge/push/integration/android.md +1028 -0
- package/resource/knowledge/push/integration/donut.md +271 -0
- package/resource/knowledge/push/integration/flutter.md +363 -0
- package/resource/knowledge/push/integration/harmonyos.md +72 -0
- package/resource/knowledge/push/integration/ios.md +705 -0
- package/resource/knowledge/push/integration/react-native.md +337 -0
- package/resource/knowledge/push/integration/uni-app.md +461 -0
- package/resource/knowledge/push/integration/unity.md +357 -0
- package/resource/knowledge/push/integration/unreal-engine.md +353 -0
- package/resource/knowledge/push/overview/prepare.md +30 -0
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/call-user-to-room.md +22 -20
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/room-participant-state.md +22 -193
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/room-state.md +33 -32
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/schedule-room.md +30 -29
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/room-participant-state.md +22 -21
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/room-state.md +29 -28
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/schedule-room.md +17 -16
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/call-user-to-room.md +22 -20
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/room-participant-state.md +49 -218
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/room-state.md +37 -37
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/schedule-room.md +28 -28
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/call-user-to-room.md +122 -7
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +318 -3
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +1504 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/free-beauty-panel.md +4 -3
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +709 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +1105 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +635 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +529 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/schedule-room.md +256 -13
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/screen-share.md +218 -25
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/virtual-background.md +4 -3
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/android/integration.md +50 -64
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/flutter/integration.md +34 -31
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/ios/integration.md +45 -53
- package/resource/knowledge/roomkit/preset/react/integration.md +571 -0
- package/resource/{doc → knowledge}/rtcengine/web/how_to_run_web_sdk_demo.md +31 -15
- package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +9 -3
- package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +6 -6
- package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -4
- package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +4 -4
- package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
- package/resource/{doc → knowledge}/trtc/android/TRTCCloud.md +547 -495
- package/resource/{doc → knowledge}/trtc/android/TRTCCloudDef.md +434 -403
- package/resource/{doc → knowledge}/trtc/android/TRTCCloudListener.md +394 -348
- package/resource/{doc → knowledge}/trtc/android/TRTCStatistics.md +17 -15
- package/resource/{doc → knowledge}/trtc/android/TXAudioEffectManager.md +227 -197
- package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
- package/resource/{doc → knowledge}/trtc/android/TXDeviceManager.md +70 -63
- package/resource/{doc → knowledge}/trtc/android/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/ITRTCCloud.md +599 -544
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/ITRTCStatistics.md +17 -15
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +403 -0
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TRTCCloudCallback.md +439 -387
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TRTCTypeDef.md +417 -387
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCCloud.md +619 -559
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCCloudDelegate.md +409 -360
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCStatistics.md +17 -15
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXAudioEffectManager.md +187 -164
- package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +399 -0
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXLiveSDKTypeDef.md +422 -396
- package/server-config.js +0 -1
- package/server.js +22 -12
- package/streamable-http.js +0 -1
- package/tools/call/get_native_call_uikit_integration.js +2 -4
- package/tools/call/get_native_callkit_core_integration.js +2 -6
- package/tools/call/get_web_call_uikit_integration.js +2 -4
- package/tools/chat/get_native_chat_uikit_integration.js +2 -4
- package/tools/chat/get_web_chat_uikit_integration.js +2 -4
- package/tools/common/get_usersig.js +0 -1
- package/tools/common/present_framework_choice.js +9 -4
- package/tools/common/record_answer.js +19 -26
- package/tools/common/record_feedback.js +17 -31
- package/tools/common/search_trtc_knowledge.js +44 -0
- package/tools/definitions/get_native_call_uikit_integration_def.js +2 -1
- package/tools/definitions/get_native_callkit_core_integration_def.js +2 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js +3 -2
- package/tools/definitions/get_native_livekit_core_integration_def.js +2 -1
- package/tools/definitions/get_usersig_def.js +0 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +2 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +4 -3
- package/tools/definitions/get_web_room_core_integration_def.js +46 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +3 -1
- package/tools/definitions/integration-boundary.js +5 -0
- package/tools/definitions/present_framework_choice_def.js +11 -10
- package/tools/definitions/record_answer_def.js +6 -5
- package/tools/definitions/record_feedback_def.js +4 -3
- package/tools/definitions/search_trtc_knowledge_def.js +69 -0
- package/tools/index.js +5 -37
- package/tools/live/get_native_livekit_core_integration.js +1 -4
- package/tools/live/get_web_live_uikit_integration.js +2 -5
- package/tools/room/get_web_room_core_integration.js +47 -0
- package/tools/room/get_web_room_uikit_integration.js +2 -4
- package/utils/generate-structured-result.js +4 -11
- package/utils/generate-usersig.js +0 -1
- package/utils/get-device-identifier.js +0 -1
- package/utils/get-doc-content.js +14 -9
- package/utils/http-get.js +0 -1
- package/utils/http-post.js +0 -1
- package/utils/report-cls-client.js +22 -21
- package/utils/report-es-client.js +1 -2
- package/utils/report-runtime-error-cls-client.js +0 -1
- package/index.js.map +0 -1
- package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
- package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -942
- package/resource/doc/callkit/core-sdk/android/make-call.md +0 -876
- package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -368
- package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1132
- package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1206
- package/resource/doc/callkit/core-sdk/flutter/offline-push.md +0 -357
- package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1009
- package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1154
- package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -470
- package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -1146
- package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1267
- package/resource/doc/callkit/faq/android-faq.md +0 -767
- package/resource/doc/callkit/faq/flutter-faq.md +0 -749
- package/resource/doc/callkit/faq/ios-faq.md +0 -759
- package/resource/doc/callkit/faq/web-faq.md +0 -753
- package/resource/doc/callkit/preset/android/api.md +0 -330
- package/resource/doc/callkit/preset/flutter/api.md +0 -401
- package/resource/doc/callkit/preset/ios/api.md +0 -282
- package/resource/doc/callkit/preset/ios/integration.md +0 -188
- package/resource/doc/callkit/preset/react/api.md +0 -600
- package/resource/doc/callkit/preset/react/integration.md +0 -86
- package/resource/doc/callkit/preset/vue/api.md +0 -600
- package/resource/doc/callkit/preset/vue/integration.md +0 -83
- package/resource/doc/chatkit/android/faq.md +0 -109
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -280
- package/resource/doc/chatkit/faq/common/product.md +0 -82
- package/resource/doc/chatkit/faq/common/server.md +0 -53
- package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -183
- package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -54
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -279
- package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
- package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -292
- package/resource/doc/chatkit/flutter/faq.md +0 -22
- package/resource/doc/chatkit/ios/faq.md +0 -109
- package/resource/doc/chatkit/react/components/avatar.md +0 -104
- package/resource/doc/chatkit/react/components/chat-header.md +0 -148
- package/resource/doc/chatkit/react/components/chat-setting.md +0 -117
- package/resource/doc/chatkit/react/components/chat.md +0 -38
- package/resource/doc/chatkit/react/components/component-list.md +0 -35
- package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
- package/resource/doc/chatkit/react/components/conversation-preview.md +0 -116
- package/resource/doc/chatkit/react/components/conversation-search.md +0 -57
- package/resource/doc/chatkit/react/components/search.md +0 -282
- package/resource/doc/chatkit/react/components/tuikit.md +0 -43
- package/resource/doc/chatkit/react/faq.md +0 -26
- package/resource/doc/chatkit/vue/components/avatar.md +0 -104
- package/resource/doc/chatkit/vue/components/chat-header.md +0 -149
- package/resource/doc/chatkit/vue/components/chat.md +0 -42
- package/resource/doc/chatkit/vue/components/component-list.md +0 -89
- package/resource/doc/chatkit/vue/components/tuikit.md +0 -45
- package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
- package/resource/doc/chatkit/vue/faq.md +0 -35
- package/resource/doc/livekit/core-sdk/live/android/api-reference/BarrageStore.md +0 -148
- package/resource/doc/livekit/core-sdk/live/android/api-reference/BattleStore.md +0 -316
- package/resource/doc/livekit/core-sdk/live/android/api-reference/CoGuestStore.md +0 -419
- package/resource/doc/livekit/core-sdk/live/android/api-reference/CoHostStore.md +0 -325
- package/resource/doc/livekit/core-sdk/live/android/api-reference/DeviceStore.md +0 -436
- package/resource/doc/livekit/core-sdk/live/android/api-reference/GiftStore.md +0 -165
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveAudienceStore.md +0 -239
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveCoreView.md +0 -74
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveSeatStore.md +0 -417
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LoginStore.md +0 -207
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BarrageStore.md +0 -158
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BattleStore.md +0 -304
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoGuestStore.md +0 -394
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoHostStore.md +0 -303
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/DeviceStore.md +0 -410
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/GiftStore.md +0 -160
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveAudienceStore.md +0 -231
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveSeatStore.md +0 -375
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LoginStore.md +0 -170
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BarrageStore.md +0 -165
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BaseBeautyStore.md +0 -143
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BattleStore.md +0 -298
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoGuestStore.md +0 -349
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoHostStore.md +0 -297
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/DeviceStore.md +0 -471
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/GiftStore.md +0 -179
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveAudienceStore.md +0 -238
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveCoreView.md +0 -74
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveSeatStore.md +0 -412
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LoginStore.md +0 -173
- package/resource/doc/livekit/core-sdk/voice/android/voice-room-list.md +0 -365
- package/resource/doc/livekit/core-sdk/voice/ios/voice-room-list.md +0 -336
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
- package/resource/doc/livekit/preset/live/vue/components/barrage.md +0 -291
- package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -88
- package/resource/doc/livekit/preset/live/vue/components/live-audience-list.md +0 -164
- package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -130
- package/resource/doc/livekit/preset/live/vue/components/live-view.md +0 -203
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -211
- package/resource/doc/livekit/preset/live/vue/faq.md +0 -1
- package/resource/doc/roomkit/faq/common/error-code.md +0 -67
- package/resource/doc/roomkit/flutter/features/call-user-to-room.md +0 -228
- package/resource/doc/roomkit/vue/faq.md +0 -1
- package/resource/doc/roomkit/vue/features/device-state.md +0 -460
- package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
- package/resource/doc/roomkit/vue/features/room-participant-state.md +0 -385
- package/resource/doc/roomkit/vue/features/room-state.md +0 -280
- package/resource/doc/roomkit/vue/features/room-view.md +0 -241
- package/resource/doc/roomkit/vue/integration.md +0 -315
- package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -472
- package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -388
- package/resource/doc/trtc/android/TXBeautyManager.md +0 -403
- package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -404
- package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -382
- package/server-config.js.map +0 -1
- package/server.js.map +0 -1
- package/streamable-http.js.map +0 -1
- package/tools/call/get_callkit_api.js +0 -33
- package/tools/call/get_callkit_api.js.map +0 -1
- package/tools/call/get_native_call_uikit_integration.js.map +0 -1
- package/tools/call/get_native_callkit_core_integration.js.map +0 -1
- package/tools/call/get_web_call_uikit_integration.js.map +0 -1
- package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
- package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
- package/tools/chat/get_native_chat_uikit_integration.js.map +0 -1
- package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
- package/tools/chat/get_web_chat_uikit_integration.js.map +0 -1
- package/tools/common/get_faq.js +0 -266
- package/tools/common/get_faq.js.map +0 -1
- package/tools/common/get_usersig.js.map +0 -1
- package/tools/common/present_framework_choice.js.map +0 -1
- package/tools/common/record_answer.js.map +0 -1
- package/tools/common/record_feedback.js.map +0 -1
- package/tools/common/record_skill_session.js +0 -69
- package/tools/common/record_skill_session.js.map +0 -1
- package/tools/definitions/get_callkit_api_def.js +0 -28
- package/tools/definitions/get_callkit_api_def.js.map +0 -1
- package/tools/definitions/get_faq_def.js +0 -40
- package/tools/definitions/get_faq_def.js.map +0 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_callkit_core_integration_def.js.map +0 -1
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +0 -33
- package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +0 -1
- package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
- package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
- package/tools/definitions/get_usersig_def.js.map +0 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_api_def.js +0 -27
- package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_component_detail_def.js +0 -29
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -30
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
- package/tools/definitions/present_framework_choice_def.js.map +0 -1
- package/tools/definitions/record_answer_def.js.map +0 -1
- package/tools/definitions/record_feedback_def.js.map +0 -1
- package/tools/definitions/record_skill_session_def.js +0 -31
- package/tools/definitions/record_skill_session_def.js.map +0 -1
- package/tools/index.js.map +0 -1
- package/tools/live/get_native_livekit_core_features.js +0 -68
- package/tools/live/get_native_livekit_core_features.js.map +0 -1
- package/tools/live/get_native_livekit_core_integration.js.map +0 -1
- package/tools/live/get_web_live_uikit_integration.js.map +0 -1
- package/tools/live/get_web_livekit_api.js +0 -33
- package/tools/live/get_web_livekit_api.js.map +0 -1
- package/tools/live/get_web_livekit_component_detail.js +0 -35
- package/tools/live/get_web_livekit_component_detail.js.map +0 -1
- package/tools/room/get_web_room_uikit_integration.js.map +0 -1
- package/tools/room/get_web_roomkit_feature_detail.js +0 -69
- package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
- package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
- package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
- package/utils/build-session-directives.js +0 -122
- package/utils/build-session-directives.js.map +0 -1
- package/utils/generate-structured-result.js.map +0 -1
- package/utils/generate-usersig.js.map +0 -1
- package/utils/get-device-identifier.js.map +0 -1
- package/utils/get-doc-content.js.map +0 -1
- package/utils/handle-framework.js +0 -9
- package/utils/handle-framework.js.map +0 -1
- package/utils/handle-state-name.js +0 -29
- package/utils/handle-state-name.js.map +0 -1
- package/utils/http-get.js.map +0 -1
- package/utils/http-post.js.map +0 -1
- package/utils/report-cls-client.js.map +0 -1
- package/utils/report-es-client.js.map +0 -1
- package/utils/report-runtime-error-cls-client.js.map +0 -1
- /package/resource/{doc/callkit/faq/common → knowledge/callkit/faq}/error-code.md +0 -0
- /package/resource/{doc/livekit/faq/common → knowledge/livekit/faq}/error-code.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
- /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/38-advanced-basic-beauty.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
- /package/resource/{doc/rtcengine/faq/common → knowledge/share}/userSig.md +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
本篇文档旨在指导您如何使用 `AtomicXCore` 框架中的
|
|
1
|
+
本篇文档旨在指导您如何使用 `AtomicXCore` 框架中的 `AudioEffectStore` 和 `DeviceStore` 模块,为您的直播应用快速集成音效控制功能,包括麦克风音量、耳返监听,并添加多种趣味变声效果和混响效果。
|
|
2
2
|
|
|
3
3
|
## 核心功能
|
|
4
4
|
|
|
@@ -7,29 +7,29 @@
|
|
|
7
7
|
|
|
8
8
|
- **耳返功能**:允许主播或连麦用户通过耳机实时听到自己的声音,用于监听和矫正发音。
|
|
9
9
|
|
|
10
|
-
-
|
|
10
|
+
- **变声效果**:提供多种趣味变声选项,例如萝莉、大叔、熊孩子等。
|
|
11
11
|
|
|
12
|
-
-
|
|
12
|
+
- **混响效果**:模拟不同环境的声场效果,例如 KTV、金属声、低沉、洪亮等。
|
|
13
13
|
|
|
14
14
|
## 概念说明
|
|
15
|
-
|
|
|
15
|
+
| <strong>核心概念</strong> | <strong>类型</strong> | <strong>核心职责与描述</strong> |
|
|
16
16
|
| --- | --- | --- |
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
17
|
+
| <code>AudioChangerType</code> | <code>enum class</code> | 变声效果枚举,例如,“小孩”,“男人”等。 |
|
|
18
|
+
| <code>AudioReverbType</code> | <code>enum class</code> | 混响效果枚举,例如,“ktv”,“礼堂”等。 |
|
|
19
|
+
| <code>AudioEffectState</code> | <code>data class</code> | 代表音效模块的当前状态,通常用于 UI 渲染。包括变声状态、混响状态、耳返开启状态、耳返音量。 |
|
|
20
|
+
| <code>AudioEffectStore</code> | <code>abstract class</code> | 代表音效模块<strong>单例数据管理类</strong>。通过它您可以调用修改音效接口,当您调用接口后,相应的 <code>state</code> 属性会自动更新,可以通过订阅这个 state 响应式数据来接收和监听状态更新。 |
|
|
21
|
+
| <code>DeviceState</code> | <code>data class</code> | 代表设备模块的当前状态,通常用于 UI 渲染。核心属性包括摄像头、麦克风的设备状态。 |
|
|
22
|
+
| <code>DeviceStore</code> | <code>abstract class</code> | 代表设备模块<strong>单例数据管理类</strong>。通过它您可以调用操作摄像头、麦克风接口,当您调用接口后,相应的 <code>state</code> 属性会自动更新,可以通过订阅这个 state 响应式数据来接收和监听状态更新。 |
|
|
23
23
|
|
|
24
24
|
## 实现步骤
|
|
25
25
|
|
|
26
26
|
### 步骤1:组件集成
|
|
27
27
|
|
|
28
|
-
请参考
|
|
28
|
+
请参考 开播与收听 集成 **AtomicXCore。**
|
|
29
29
|
|
|
30
30
|
### 步骤2:获取 Store 实例
|
|
31
31
|
|
|
32
|
-
`AudioEffectStore` 和 `DeviceStore
|
|
32
|
+
`AudioEffectStore` 和 `DeviceStore` 是单例对象,您可以直接通过 shared 属性在项目的任何位置获取实例。您也可以参考 TUILiveKit 开源 UI Demo 项目中的 [AudioEffectPanel.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/component/audioeffect/AudioEffectPanel.kt) 文件来了解完整的实现逻辑。
|
|
33
33
|
``` java
|
|
34
34
|
import io.trtc.tuikit.atomicxcore.api.device.AudioEffectStore
|
|
35
35
|
import io.trtc.tuikit.atomicxcore.api.device.DeviceStore
|
|
@@ -49,11 +49,11 @@ val deviceStore = DeviceStore.shared()
|
|
|
49
49
|
>
|
|
50
50
|
|
|
51
51
|
#### 实现方式:
|
|
52
|
-
1.
|
|
52
|
+
1. **开关耳返**:您可以使用 `Switch` 控件实现开关耳返功能。
|
|
53
53
|
|
|
54
|
-
2. **设置耳返音量值**:您可以使用 `SeekBar` 控件实现左右拖动滑块来调节音量的功能,并将 `SeekBar`
|
|
54
|
+
2. **设置耳返音量值**:您可以使用 `SeekBar` 控件实现左右拖动滑块来调节音量的功能,并将 `SeekBar` 的值映射为音量值,调用 `setOutputVolume(volume)。`请注意,该接口接收的参数范围是 `[0, 150],`所以您需要将 UI 控件的值(例如 UISlider 的 `0 - 1.0`)映射到 `0 - 150` 的范围。
|
|
55
55
|
|
|
56
|
-
3. **监听状态更新UI**:您可以订阅实时的耳返状态值更新 `UI`。
|
|
56
|
+
3. **监听状态更新 UI**:您可以订阅实时的耳返状态值更新 `UI`。
|
|
57
57
|
|
|
58
58
|
#### 代码示例:
|
|
59
59
|
``` java
|
|
@@ -81,21 +81,21 @@ CoroutineScope(Dispatchers.Main).launch {
|
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
#### setVoiceEarMonitorEnable 接口参数
|
|
84
|
-
|
|
|
84
|
+
| <strong>参数名</strong> | <strong>类型</strong> | <strong>描述</strong> |
|
|
85
85
|
| --- | --- | --- |
|
|
86
|
-
|
|
|
86
|
+
| <code>enable</code> | <code>Boolean</code> | 是否开启耳返。<br>- true:开启<br>- false:关闭 |
|
|
87
87
|
|
|
88
88
|
#### setVoiceEarMonitorVolume 接口参数
|
|
89
|
-
|
|
|
89
|
+
| <strong>参数名</strong> | <strong>类型</strong> | <strong>描述</strong> |
|
|
90
90
|
| --- | --- | --- |
|
|
91
|
-
|
|
|
91
|
+
| <code>volume</code> | <code>Int</code> | 耳返音量大小。<br>- 取值范围: [0, 150]<br>- 默认值:100 |
|
|
92
92
|
|
|
93
93
|
### 步骤4:实现人声音量调节
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
当主播希望调节自己的上行采集音量大小时,调用 `DeviceStore` 的 `setCaptureVolume(volume)` 方法传入音量值即可。
|
|
96
96
|
|
|
97
97
|
#### 实现方式:
|
|
98
|
-
1. **设置采集音量值**:您可以使用 `SeekBar` 控件实现左右拖动滑块来调节音量的功能,并将 `SeekBar`
|
|
98
|
+
1. **设置采集音量值**:您可以使用 `SeekBar` 控件实现左右拖动滑块来调节音量的功能,并将 `SeekBar` 的值映射成音量值后调用 `setCaptureVolume(80)。`请注意,该接口接收的参数范围是 `[0, 150],`所以您需要将 `UI` 控件的值(例如 `SeekBar` 的 `0 - 150`)映射到 `0 - 150` 的范围。
|
|
99
99
|
|
|
100
100
|
2. **监听状态更新 UI**:您可以订阅实时的音量状态值更新 UI。
|
|
101
101
|
|
|
@@ -120,13 +120,13 @@ CoroutineScope(Dispatchers.Main).launch {
|
|
|
120
120
|
```
|
|
121
121
|
|
|
122
122
|
#### setCaptureVolume 接口参数
|
|
123
|
-
|
|
|
123
|
+
| <strong>参数名</strong> | <strong>类型</strong> | <strong>描述</strong> |
|
|
124
124
|
| --- | --- | --- |
|
|
125
|
-
|
|
|
125
|
+
| <code>volume</code> | <code>Int</code> | 采集音量大小。<br>- 取值范围: [0, 150]<br>- 默认值:100 |
|
|
126
126
|
|
|
127
127
|
### 步骤5:实现变声效果
|
|
128
128
|
|
|
129
|
-
当主播希望改变自己的声音时,您可以调用 `setAudioChangerType(type)`方法,传入相应的Type 枚举值即可切换效果。
|
|
129
|
+
当主播希望改变自己的声音时,您可以调用 `setAudioChangerType(type)`方法,传入相应的 Type 枚举值即可切换效果。
|
|
130
130
|
|
|
131
131
|
#### 示例代码:
|
|
132
132
|
``` java
|
|
@@ -141,13 +141,14 @@ audioEffectStore.setAudioChangerType(AudioChangerType.NONE)
|
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
#### setAudioChangerType 接口参数
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
144
|
+
|
|
145
|
+
|**参数名**|**类型**|**描述**|
|
|
146
|
+
|---------|---------|---------|
|
|
147
|
+
|`type`|`AudioChangerType`|变声效果枚举。|
|
|
147
148
|
|
|
148
149
|
### 步骤6:实现混响效果
|
|
149
150
|
|
|
150
|
-
|
|
151
|
+
当主播希望给自己的声音添加混响效果时,您可以调用 `setAudioReverbType(type)` 方法,传入相应的 Type 枚举值即可切换效果。
|
|
151
152
|
``` java
|
|
152
153
|
import io.trtc.tuikit.atomicxcore.api.device.AudioEffectStore
|
|
153
154
|
import io.trtc.tuikit.atomicxcore.api.device.AudioReverbType
|
|
@@ -160,9 +161,10 @@ audioEffectStore.setAudioReverbType(AudioReverbType.NONE)
|
|
|
160
161
|
```
|
|
161
162
|
|
|
162
163
|
#### setAudioReverbType 接口参数
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
|
|
165
|
+
|**参数名**|**类型**|**描述**|
|
|
166
|
+
|---------|---------|---------|
|
|
167
|
+
|`type`|`AudioReverbType`|混响效果枚举。|
|
|
166
168
|
|
|
167
169
|
### 步骤7:重置音效设置
|
|
168
170
|
|
|
@@ -175,7 +177,7 @@ audioEffectStore.setAudioReverbType(AudioReverbType.NONE)
|
|
|
175
177
|
以下两种情况您可能需要重置音效设置:
|
|
176
178
|
1. 当前直播间结束时,需要重置音效设置。
|
|
177
179
|
|
|
178
|
-
2. 您需要提供“一键恢复”的功能,可以通过调用 `store`
|
|
180
|
+
2. 您需要提供“一键恢复”的功能,可以通过调用 `store` 的 `reset()` 方法实现。
|
|
179
181
|
|
|
180
182
|
``` java
|
|
181
183
|
import io.trtc.tuikit.atomicxcore.api.device.AudioEffectStore
|
|
@@ -190,16 +192,17 @@ audioEffectStore.setAudioReverbType(AudioReverbType.NONE)
|
|
|
190
192
|
## API 文档
|
|
191
193
|
|
|
192
194
|
关于 [AudioEffectStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-audio-effect-store/index.html) 和 [DeviceStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-device-store/index.html) 及其相关类的所有公开接口、属性的详细信息,请参阅随 [AtomicXCore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore) 框架的官方 API 文档。
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
|
|
196
|
+
|**Store/Component**|**功能描述**|**API 文档**|
|
|
197
|
+
|---------|---------|---------|
|
|
198
|
+
|**AudioEffectStore**|音效管理:进行音效设置,并获取实时音效状态。|[API 文档](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-audio-effect-store/index.html)|
|
|
199
|
+
|**DeviceStore **|设备管理:进行摄像头、麦克风操作,并获取实时设备状态。|[API 文档](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-device-store/index.html)|
|
|
197
200
|
|
|
198
201
|
## 常见问题
|
|
199
202
|
|
|
200
203
|
### 音效和设备接口的调用时机有没有要求?
|
|
201
204
|
|
|
202
|
-
没有限制。`AudioEffectStore
|
|
205
|
+
没有限制。`AudioEffectStore` 和 `DeviceStore` 的设置是全局生效的,您可以在进入直播间之前或之后随时调用相关接口(例如设置变声、混响或耳返),设置会立即生效并被保留。
|
|
203
206
|
|
|
204
207
|
### **“人声音量” 和“耳返音量” 有什么区别?**
|
|
205
208
|
|
|
@@ -210,7 +213,7 @@ audioEffectStore.setAudioReverbType(AudioReverbType.NONE)
|
|
|
210
213
|
|
|
211
214
|
### **新创建的直播间为什么直接就有音效、或者出现音量很大、很小等问题?**
|
|
212
215
|
|
|
213
|
-
`AudioEffectStore
|
|
216
|
+
`AudioEffectStore` 和 `DeviceStore` 是单例,这意味着音效和设备设置是全局生效的,出现这种情况很可能是因为您之前设置过音效但是没有重置,需要在合适的地方调用 `reset()` 方法重置。
|
|
214
217
|
|
|
215
218
|
### **为什么我开启了“耳返”,但是听不到自己的声音?**
|
|
216
219
|
|
|
@@ -7,24 +7,26 @@
|
|
|
7
7
|
|
|
8
8
|
- 发送文本弹幕与观众互动。
|
|
9
9
|
|
|
10
|
-
-
|
|
10
|
+
- 发送自定义业务弹幕,以支持系统公告、后台通知等场景。
|
|
11
11
|
|
|
12
12
|
- 在本地消息列表中插入系统提示(例如,"欢迎 XX 进入直播间")。
|
|
13
13
|
|
|
14
14
|
## 核心概念解析
|
|
15
15
|
|
|
16
16
|
在开始集成之前,我们先通过下表了解一下 BarrageStore 相关的几个核心概念:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
|
21
|
-
|
|
|
17
|
+
|
|
18
|
+
|**核心概念**|**类型**|**核心职责与描述**|
|
|
19
|
+
|---------|---------|---------|
|
|
20
|
+
|[Barrage](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.barrage/-barrage/index.html)|`data class`|代表一条弹幕消息的数据模型。它包含了发送者信息 (`sender`)、消息内容 (`textContent` 或 `data`)、消息类型 (`messageType`) 等所有关键信息。|
|
|
21
|
+
|[BarrageState](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.barrage/-barrage-state/index.html)|`data class`|代表弹幕模块的当前状态。其核心属性 `messageList` 是一个 `StateFlow`,按时间顺序存储了当前直播间的所有弹幕消息,是 UI 渲染的数据源。|
|
|
22
|
+
|[BarrageStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.barrage/-barrage-store/index.html)|`abstract class`|这是与弹幕功能交互的核心管理类。通过它,您可以发送消息 (`sendTextMessage`, `sendCustomMessage`),并通过订阅其 `state` 属性来接收和监听所有弹幕消息的更新。|
|
|
22
23
|
|
|
23
24
|
## 实现步骤
|
|
24
25
|
|
|
25
26
|
### 步骤1:组件集成
|
|
27
|
+
- **视频直播**:请参考 开播与观看 集成 **AtomicXCore**,完成接入。
|
|
26
28
|
|
|
27
|
-
|
|
29
|
+
- **语聊房**:请参考 开播与收听 集成 **AtomicXCore**,完成接入。
|
|
28
30
|
|
|
29
31
|
### 步骤2:初始化并监听弹幕
|
|
30
32
|
|
|
@@ -46,8 +48,10 @@ class BarrageManager(
|
|
|
46
48
|
val messagesFlow: StateFlow<List<Barrage>> = _messagesFlow.asStateFlow()
|
|
47
49
|
|
|
48
50
|
init {
|
|
49
|
-
//
|
|
51
|
+
// 初始化后立即开始监听弹幕文本消息
|
|
50
52
|
subscribeToBarrageUpdates()
|
|
53
|
+
// 初始化后立即开始监听自定义消息
|
|
54
|
+
subscribeToCustomMessage()
|
|
51
55
|
}
|
|
52
56
|
|
|
53
57
|
private fun subscribeToBarrageUpdates() {
|
|
@@ -60,12 +64,27 @@ class BarrageManager(
|
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
66
|
}
|
|
67
|
+
|
|
68
|
+
private fun subscribeToCustomMessage() {
|
|
69
|
+
scope.launch {
|
|
70
|
+
barrageStore.customMessageEvent.collect { event ->
|
|
71
|
+
// 当 收到自定义弹幕消息时,通过 customMessageEvent 事件 将自定义弹幕消息数据传递给UI层
|
|
72
|
+
when (event) {
|
|
73
|
+
is CustomMessageEvent.CustomMessageReceived -> {
|
|
74
|
+
val barrage = event.barrage
|
|
75
|
+
// 收到自定义弹幕消息后处理自己的业务逻辑
|
|
76
|
+
_messagesFlow.value = _messagesFlow.value + barrage
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
63
82
|
}
|
|
64
83
|
```
|
|
65
84
|
|
|
66
85
|
### 步骤3:发送文本弹幕
|
|
67
86
|
|
|
68
|
-
调用 `sendTextMessage`
|
|
87
|
+
调用 `sendTextMessage` 方法向直播间内的所有用户广播一条纯文本消息。接收方会在步骤2中触发 messageList 的更新。
|
|
69
88
|
``` kotlin
|
|
70
89
|
import io.trtc.tuikit.atomicxcore.api.CompletionHandler
|
|
71
90
|
import io.trtc.tuikit.atomicxcore.api.barrage.BarrageStore
|
|
@@ -104,15 +123,16 @@ class BarrageManager(
|
|
|
104
123
|
```
|
|
105
124
|
|
|
106
125
|
#### **接口参数**
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
126
|
+
|
|
127
|
+
|**参数**|**类型**|**描述**|
|
|
128
|
+
|---------|---------|---------|
|
|
129
|
+
|`text`|`String?`|要发送的文本内容。|
|
|
130
|
+
|`extensionInfo`|`Map<String, String>?`|附加的扩展信息,可用于业务自定义。|
|
|
131
|
+
|`completion`|`CompletionHandler?`|发送完成后的回调,包含成功或失败的结果。|
|
|
112
132
|
|
|
113
133
|
### 步骤4:发送自定义弹幕
|
|
114
134
|
|
|
115
|
-
|
|
135
|
+
发送一条包含自定义业务逻辑的消息,例如系统公告、后台通知等场景。接收方会在步骤2 中触发 CustomMessageReceived 事件。这条消息对其他客户端来说是透明的,需要业务层自行解析并处理。
|
|
116
136
|
``` kotlin
|
|
117
137
|
class BarrageManager(
|
|
118
138
|
private val liveId: String
|
|
@@ -137,7 +157,7 @@ class BarrageManager(
|
|
|
137
157
|
}
|
|
138
158
|
|
|
139
159
|
// 3. 调用核心API发送自定义消息
|
|
140
|
-
barrageStore.sendCustomMessage(
|
|
160
|
+
this.barrageStore.sendCustomMessage(
|
|
141
161
|
businessId,
|
|
142
162
|
jsonString,
|
|
143
163
|
object : CompletionHandler {
|
|
@@ -155,11 +175,12 @@ class BarrageManager(
|
|
|
155
175
|
```
|
|
156
176
|
|
|
157
177
|
#### **接口参数**
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
178
|
+
|
|
179
|
+
|**参数**|**类型**|**描述**|
|
|
180
|
+
|---------|---------|---------|
|
|
181
|
+
|`businessId`|`String`|业务唯一标识符,例如 "live_gift",用于接收端区分不同的自定义消息。|
|
|
182
|
+
|`data`|`String`|业务数据,通常为 JSON 格式的字符串。|
|
|
183
|
+
|`completion`|`CompletionHandler?`|发送完成后的回调。|
|
|
163
184
|
|
|
164
185
|
### 步骤5:在本地插入提示消息
|
|
165
186
|
|
|
@@ -179,15 +200,16 @@ class BarrageManager(
|
|
|
179
200
|
)
|
|
180
201
|
|
|
181
202
|
// 2. 调用API将其插入本地列表
|
|
182
|
-
barrageStore.appendLocalTip(welcomeTip)
|
|
203
|
+
this.barrageStore.appendLocalTip(welcomeTip)
|
|
183
204
|
}
|
|
184
205
|
}
|
|
185
206
|
```
|
|
186
207
|
|
|
187
208
|
#### **接口参数**
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
209
|
+
|
|
210
|
+
|**参数**|**类型**|**描述**|
|
|
211
|
+
|---------|---------|---------|
|
|
212
|
+
|`message`|`Barrage`|要在本地插入的消息对象。SDK 会将此消息对象追加到 BarrageState 的 messageList 中。|
|
|
191
213
|
|
|
192
214
|
### 步骤6:管理用户发言(禁言与解禁)
|
|
193
215
|
|
|
@@ -201,7 +223,7 @@ import io.trtc.tuikit.atomicxcore.api.*
|
|
|
201
223
|
import io.trtc.tuikit.atomicxcore.api.live.LiveAudienceStore
|
|
202
224
|
|
|
203
225
|
// 1. 获取与当前直播间绑定的 LiveAudienceStore 实例
|
|
204
|
-
val audienceStore = LiveAudienceStore.create(
|
|
226
|
+
val audienceStore = LiveAudienceStore.create("your_live_id_here")
|
|
205
227
|
|
|
206
228
|
// 2. 定义要操作的用户ID和禁言状态
|
|
207
229
|
val userIdToMute = "user_id_to_be_muted"
|
|
@@ -267,11 +289,11 @@ liveListStore.updateLiveInfo(
|
|
|
267
289
|
|
|
268
290
|
#### 技术挑战
|
|
269
291
|
|
|
270
|
-
SDK会以极高频率返回完整的弹幕列表。如果每次都调用 `adapter.notifyDataSetChanged()`,主线程会被密集的 UI 布局和渲染操作阻塞,导致界面卡顿。
|
|
292
|
+
SDK 会以极高频率返回完整的弹幕列表。如果每次都调用 `adapter.notifyDataSetChanged()`,主线程会被密集的 UI 布局和渲染操作阻塞,导致界面卡顿。
|
|
271
293
|
|
|
272
294
|
#### 优化方案:批处理与流量削峰 (Batch Processing & Debouncing)
|
|
273
295
|
|
|
274
|
-
不必响应每一次的数据更新,而是设定一个时间阈值(例如300毫秒)。只在距离上次UI刷新超过这个阈值后,才执行下一次刷新操作。这能将每秒数十次的 `notifyDataSetChanged()` 调用,降低到每秒3-4次,极大提升流畅度。
|
|
296
|
+
不必响应每一次的数据更新,而是设定一个时间阈值(例如300毫秒)。只在距离上次 UI 刷新超过这个阈值后,才执行下一次刷新操作。这能将每秒数十次的 `notifyDataSetChanged()` 调用,降低到每秒3-4次,极大提升流畅度。
|
|
275
297
|
|
|
276
298
|
#### 代码示例
|
|
277
299
|
|
|
@@ -363,7 +385,7 @@ class BarrageUIManager(
|
|
|
363
385
|
|
|
364
386
|
渲染包含多图文、自定义字体或复杂布局的视图,比渲染纯文本耗时更长。在列表中高频渲染这些复杂视图,会加重主线程的计算压力,导致列表滚动时出现卡顿。
|
|
365
387
|
|
|
366
|
-
#### 优化方案:异步绘制 (Asynchronous
|
|
388
|
+
#### 优化方案:异步绘制 (Asynchronous drawing)
|
|
367
389
|
|
|
368
390
|
将视图内容的绘制过程从主线程剥离,放到后台线程去完成。主线程只负责最终的"贴图"操作,即显示已经绘制好的位图。这极大地减轻了主线程的计算压力。
|
|
369
391
|
|
|
@@ -375,7 +397,7 @@ import android.view.LayoutInflater
|
|
|
375
397
|
import androidx.asynclayoutinflater.view.AsyncLayoutInflater
|
|
376
398
|
import androidx.recyclerview.widget.RecyclerView
|
|
377
399
|
|
|
378
|
-
//
|
|
400
|
+
// 在您的自定义弹幕ViewHolder中
|
|
379
401
|
class BarrageViewHolder(
|
|
380
402
|
itemView: View
|
|
381
403
|
) : RecyclerView.ViewHolder(itemView) {
|
|
@@ -393,7 +415,7 @@ class BarrageViewHolder(
|
|
|
393
415
|
}
|
|
394
416
|
|
|
395
417
|
fun bind(viewModel: BarrageViewModel) {
|
|
396
|
-
//
|
|
418
|
+
// 在这里设置您的TextView文本、ImageView图片等
|
|
397
419
|
// 由于使用了异步布局加载,这些内容的最终渲染会尽量在后台完成
|
|
398
420
|
}
|
|
399
421
|
|
|
@@ -421,7 +443,7 @@ class BarrageViewHolder(
|
|
|
421
443
|
```
|
|
422
444
|
2. **发送端:** 在发送时,将这个 JSON 结构转换为字符串,并通过 `sendCustomMessage` 的 `data` 参数发送出去。`businessID` 可以设置为一个能代表您业务的唯一标识,例如 "`barrage_style_v1`"。
|
|
423
445
|
|
|
424
|
-
3. **接收端**: 在接收到弹幕消息后,检查其 `messageType` 是否为 `BarrageType.CUSTOM` 以及 `businessID` 是否匹配。如果匹配,则解析 `data` 字符串(通常是解析 JSON),根据解析出的数据(例如 `color、text`)来渲染您的自定义UI样式。
|
|
446
|
+
3. **接收端**: 在接收到弹幕消息后,检查其 `messageType` 是否为 `BarrageType.CUSTOM` 以及 `businessID` 是否匹配。如果匹配,则解析 `data` 字符串(通常是解析 JSON),根据解析出的数据(例如 `color、text`)来渲染您的自定义 UI 样式。
|
|
425
447
|
|
|
426
448
|
### 我在不同的类、不同的文件中都调用了 `BarrageStore.create(liveID = "some_id")`,这会创建出多个实例导致混乱吗?
|
|
427
449
|
|
|
@@ -440,14 +462,22 @@ class BarrageViewHolder(
|
|
|
440
462
|
|
|
441
463
|
### 新观众进入直播间时,如何让他们看到加入前的历史弹幕消息?
|
|
442
464
|
|
|
443
|
-
`AtomicXCore` 支持拉取历史弹幕消息,但这需要您在**服务端控制台**进行一项简单的配置。配置完成后,SDK会自动处理后续的一切,您无需编写额外的代码。
|
|
465
|
+
`AtomicXCore` 支持拉取历史弹幕消息,但这需要您在**服务端控制台**进行一项简单的配置。配置完成后,SDK 会自动处理后续的一切,您无需编写额外的代码。
|
|
466
|
+
|
|
467
|
+
**步骤1:在控制台进行配置**
|
|
468
|
+
|
|
469
|
+
根据您的应用创建方式,选择对应的控制台进行配置(实时音视频控制台或即时通信 IM 控制台)。
|
|
470
|
+
|
|
471
|
+
在控制台的配置页面中,找到**查看直播间历史消息**选项,修改其配置(最大支持 **50** 条消息)。
|
|
472
|
+
- 若您的应用在 [实时音视频控制台](https://console.cloud.tencent.com/trtc/app) 创建,配置步骤如下:
|
|
473
|
+
|
|
474
|
+
左侧导航栏选择**应用管理** > **功能配置 **>** LiveKit 功能**,在**应用管理**选择对应的应用后,单击**查看直播间历史消息 > 编辑**。
|
|
444
475
|
|
|
445
|
-
|
|
446
|
-
1. 登录您的 [即时通信 IM 控制台](https://cloud.tencent.com/login?s_url=https%3A%2F%2Fconsole.cloud.tencent.com%2Fim)。
|
|
476
|
+
- 若您的应用在 [即时通信 IM 控制台](https://console.cloud.tencent.com/im/rtc-config) 创建,配置步骤如下:
|
|
447
477
|
|
|
448
|
-
|
|
478
|
+
左侧导航栏选择**音视频服务 RTC**,选择对应的应用后,单击**在线直播/语音聊天室(TUILiveKit) > 配置**。
|
|
449
479
|
|
|
450
|
-
|
|
480
|
+
进入 **LiveKit 功能配置**后,单击**查看直播间历史消息** > **编辑**。
|
|
451
481
|
|
|
452
482
|
**步骤2:客户端无感获取**
|
|
453
483
|
|
package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
**AtomicXCore** 提供了 [CoGuestStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-guest-store/index.html) 和 [LiveSeatStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-live-seat-store/index.html)模块,用于管理观众连麦的完整业务流程。您无需关心复杂的状态同步和信令交互,只需调用几个简单的方法,即可为您的直播添加强大的观众与主播音视频互动功能。本文档将指导您如何使用 `CoGuestStore `和 `LiveSeatStore` 在 `Android` 应用中快速实现语音连麦功能。
|
|
1
|
+
**AtomicXCore** 提供了 [CoGuestStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-guest-store/index.html) 和 [LiveSeatStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-live-seat-store/index.html) 模块,用于管理观众连麦的完整业务流程。您无需关心复杂的状态同步和信令交互,只需调用几个简单的方法,即可为您的直播添加强大的观众与主播音视频互动功能。本文档将指导您如何使用 `CoGuestStore `和 `LiveSeatStore` 在 `Android` 应用中快速实现语音连麦功能。
|
|
2
2
|
|
|
3
3
|
## 核心场景
|
|
4
4
|
|
|
5
|
-
`CoGuestStore
|
|
5
|
+
`CoGuestStore` 和 `LiveSeatStore` 支持以下几个主流的场景:
|
|
6
6
|
- **观众申请上麦**:观众主动发起连麦请求,主播在收到请求后进行同意或拒绝。
|
|
7
7
|
|
|
8
8
|
- **主播邀请上麦**:主播可以主动向直播间内的任意一位观众发起连麦邀请。
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
### 步骤1:组件集成
|
|
15
15
|
|
|
16
|
-
请参考
|
|
16
|
+
请参考 开播与收听 集成 **AtomicXCore**。
|
|
17
17
|
|
|
18
18
|
### 步骤2:实现观众申请上麦
|
|
19
19
|
|
|
@@ -59,13 +59,13 @@
|
|
|
59
59
|
val guestListener = object : GuestListener() {
|
|
60
60
|
override fun onGuestApplicationResponded(isAccept: Boolean, hostUser: LiveUserInfo) {
|
|
61
61
|
if (isAccept) {
|
|
62
|
-
print("主播 ${hostUser.userName}
|
|
62
|
+
print("主播 ${hostUser.userName} 同意了您的申请,准备上麦")
|
|
63
63
|
// 1. 打开摄像头、麦克风
|
|
64
64
|
DeviceStore.shared().openLocalCamera(true, null)
|
|
65
65
|
DeviceStore.shared().openLocalMicrophone(null)
|
|
66
66
|
// 2. 在此更新 UI,例如关闭申请按钮,显示连麦中的状态
|
|
67
67
|
} else {
|
|
68
|
-
print("主播 ${hostUser.userName}
|
|
68
|
+
print("主播 ${hostUser.userName} 拒绝了您的申请")
|
|
69
69
|
// 弹窗提示用户申请被拒绝
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -224,9 +224,9 @@
|
|
|
224
224
|
// 在 hostListener 的实现中添加
|
|
225
225
|
override fun onHostInvitationResponded(isAccept: Boolean, guestUser: LiveUserInfo) {
|
|
226
226
|
if (isAccept) {
|
|
227
|
-
print("观众 ${guestUser.userName}
|
|
227
|
+
print("观众 ${guestUser.userName} 接受了您的邀请")
|
|
228
228
|
} else {
|
|
229
|
-
print("观众 ${guestUser.userName}
|
|
229
|
+
print("观众 ${guestUser.userName} 拒绝了您的邀请")
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
```
|
|
@@ -302,9 +302,10 @@ seatStore.unmuteMicrophone(null) //解除静音
|
|
|
302
302
|
```
|
|
303
303
|
|
|
304
304
|
#### unmuteMicrophone 接口参数:
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
305
|
+
|
|
306
|
+
|**参数**|**类型**|**描述**|
|
|
307
|
+
|---------|---------|---------|
|
|
308
|
+
|`completion`|`CompletionHandler?`|操作完成后的回调。|
|
|
308
309
|
|
|
309
310
|
### 主播远程控制麦上用户开麦或关麦
|
|
310
311
|
|
|
@@ -366,16 +367,18 @@ seatStore.addLiveSeatEventListener(seatListener)
|
|
|
366
367
|
```
|
|
367
368
|
|
|
368
369
|
#### closeRemoteMicrophone 接口参数:
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
370
|
+
|
|
371
|
+
|**参数**|**类型**|**描述**|
|
|
372
|
+
|---------|---------|---------|
|
|
373
|
+
|`userID`|`String`|被操作的用户 `userID`。|
|
|
374
|
+
|`completion`|`CompletionHandler?`|请求完成后的回调。|
|
|
373
375
|
|
|
374
376
|
#### openRemoteMicrophone 接口参数:
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
377
|
+
|
|
378
|
+
|**参数**|**类型**|**描述**|
|
|
379
|
+
|---------|---------|---------|
|
|
380
|
+
|`userID`|`String`|被操作的用户 `userID`。|
|
|
381
|
+
|`completion`|`CompletionHandler?`|请求完成后的回调。|
|
|
379
382
|
|
|
380
383
|
### 主播将麦上用户踢下麦位
|
|
381
384
|
|
|
@@ -405,17 +408,18 @@ override fun onKickedOffSeat(seatIndex: Int, hostUser: LiveUserInfo) {
|
|
|
405
408
|
```
|
|
406
409
|
|
|
407
410
|
#### kickUserOutOfSeat 接口参数:
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
411
|
+
|
|
412
|
+
|**参数**|**类型**|**描述**|
|
|
413
|
+
|---------|---------|---------|
|
|
414
|
+
|`userID`|`String`|被踢下麦用户 `userID`。|
|
|
415
|
+
|`completion`|`CompletionHandler?`|请求完成后的回调。|
|
|
412
416
|
|
|
413
417
|
### 主播锁定和解锁麦位
|
|
414
418
|
|
|
415
419
|
主播可以锁定或解锁某个麦位。
|
|
416
420
|
|
|
417
421
|
#### 实现方式:
|
|
418
|
-
1. **锁定麦位**:主播可调用 `lockSeat` 方法锁定指定索引的麦位,麦位被锁定后,观众无法通过 `applyForSeat`
|
|
422
|
+
1. **锁定麦位**:主播可调用 `lockSeat` 方法锁定指定索引的麦位,麦位被锁定后,观众无法通过 `applyForSeat` 或 `takeSeat` 占用该麦位。
|
|
419
423
|
|
|
420
424
|
2. **解锁麦位**:调用 `unlockSeat` 可以解锁麦位,解锁后该麦位可以再次被占用。
|
|
421
425
|
|
|
@@ -443,25 +447,27 @@ seatStore.unlockSeat(2, object : CompletionHandler {
|
|
|
443
447
|
```
|
|
444
448
|
|
|
445
449
|
#### lockSeat 接口参数:
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
+
|
|
451
|
+
|**参数**|**类型**|**描述**|
|
|
452
|
+
|---------|---------|---------|
|
|
453
|
+
|`seatIndex`|`Int`|需要锁定的麦位索引。|
|
|
454
|
+
|`completion`|`CompletionHandler?`|请求完成后的回调。|
|
|
450
455
|
|
|
451
456
|
#### unlockSeat 接口参数:
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
457
|
+
|
|
458
|
+
|**参数**|**类型**|**描述**|
|
|
459
|
+
|---------|---------|---------|
|
|
460
|
+
|`seatIndex`|`Int`|需要解锁的麦位索引。|
|
|
461
|
+
|`completion`|`CompletionHandler?`|请求完成后的回调。|
|
|
456
462
|
|
|
457
463
|
### 移动麦位
|
|
458
464
|
|
|
459
|
-
|
|
465
|
+
主播和普通上麦用户可以调用 `moveUserToSeat` 移动麦位。
|
|
460
466
|
|
|
461
467
|
#### 实现方式:
|
|
462
|
-
1. **主播移动麦位**:主播可以调用此接口将任意用户移动到指定麦位。此时 `userID` 传入目标用户的 ID,`targetIndex
|
|
468
|
+
1. **主播移动麦位**:主播可以调用此接口将任意用户移动到指定麦位。此时 `userID` 传入目标用户的 ID,`targetIndex` 是目标麦位索引,`policy` 参数来指定如果目标麦位有人时的移动策略,详见接口参数说明。
|
|
463
469
|
|
|
464
|
-
2. **普通上麦用户移动自己麦位**:普通上麦用户也可以调用此接口来移动自己。此时 `userID` 必须传入用户自己的 ID,`targetIndex`
|
|
470
|
+
2. **普通上麦用户移动自己麦位**:普通上麦用户也可以调用此接口来移动自己。此时 `userID` 必须传入用户自己的 ID,`targetIndex` 传入想去的新麦位索引,此时 `policy` 参数无效,如果目标麦位有人时会报错并停止移动。
|
|
465
471
|
|
|
466
472
|
#### 示例代码:
|
|
467
473
|
``` java
|
|
@@ -482,20 +488,21 @@ seatStore.moveUserToSeat("userC",
|
|
|
482
488
|
```
|
|
483
489
|
|
|
484
490
|
#### moveUserToSeat 接口参数:
|
|
485
|
-
|
|
|
491
|
+
| <strong>参数</strong> | <strong>类型</strong> | <strong>描述</strong> |
|
|
486
492
|
| --- | --- | --- |
|
|
487
|
-
|
|
|
488
|
-
|
|
|
489
|
-
|
|
|
490
|
-
|
|
|
493
|
+
| <code>userID</code> | <code>String</code> | 需要移麦的用户 <code>userID</code>。 |
|
|
494
|
+
| <code>targetIndex</code> | <code>Int</code> | 目标麦位索引。 |
|
|
495
|
+
| <code>policy</code> | <code>MoveSeatPolicy?</code> | 目标麦位有人时的移动策略枚举:<br>- <code>abortWhenOccupied</code>:目标麦位有人时放弃移动(默认策略)<br>- <code>forceReplace</code>:强制替换目标麦位上的用户,被替换的用户将会被踢下麦<br>- <code>swapPosition</code>:与目标麦位用户交换位置。 |
|
|
496
|
+
| <code>completion</code> | <code>CompletionHandler?</code> | 请求完成后的回调。 |
|
|
491
497
|
|
|
492
498
|
## API 文档
|
|
493
499
|
|
|
494
500
|
关于 [CoGuestStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-guest-store/index.html) 和 [LiveSeatStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-live-seat-store/index.html) 及其相关类的所有公开接口、属性和方法的详细信息,请参阅 [AtomicXCore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore) 框架的官方 API 文档。本指南使用到的相关 Store 如下:
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
|
501
|
+
|
|
502
|
+
|**Store/Component**|**功能描述**|**API 文档**|
|
|
503
|
+
|---------|---------|---------|
|
|
504
|
+
|CoGuestStore|观众连麦管理:连麦申请 / 邀请 / 同意 / 拒绝,连麦成员权限控制(麦克风 / 摄像头),状态同步。|[API 文档](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-guest-store/index.html)|
|
|
505
|
+
|LiveSeatStore|麦位管理:静音/解除静音,锁定/解锁麦位,踢人下麦、远程控制麦上用户麦克风,麦列表状态监听|[API 文档](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-live-seat-store/index.html)|
|
|
499
506
|
|
|
500
507
|
## 常见问题
|
|
501
508
|
|
|
@@ -532,8 +539,8 @@ seatStore.moveUserToSeat("userC",
|
|
|
532
539
|
|
|
533
540
|
推荐的工作流程:您应该遵循“设备只开一次,麦上只用静音切换”的原则
|
|
534
541
|
|
|
535
|
-
1. **上麦时**:当观众成功上麦,调用一次 `openLocalMicrophone
|
|
542
|
+
1. **上麦时**:当观众成功上麦,调用一次 `openLocalMicrophone` 来启动设备。
|
|
536
543
|
|
|
537
|
-
2. **在麦上时**:用户在麦位上所有的“开麦”和“闭麦”操作,都应该调用 `unmuteMicrophone
|
|
544
|
+
2. **在麦上时**:用户在麦位上所有的“开麦”和“闭麦”操作,都应该调用 `unmuteMicrophone` 和 `muteMicrophone` 来控制上行音频流的通断。
|
|
538
545
|
|
|
539
|
-
3. **下麦时**:当用户下麦(例如调用 `disconnect
|
|
546
|
+
3. **下麦时**:当用户下麦(例如调用 `disconnect`),调用 `closeLocalMicrophone` 来释放设备。
|