@tencent-rtc/mcp 1.3.8 → 1.4.0
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/package.json +2 -2
- package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/android-faq.md} +10 -22
- package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/flutter-faq.md} +10 -22
- package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/ios-faq.md} +10 -22
- package/resource/doc/callkit/preset/android/api.md +296 -0
- package/resource/doc/callkit/preset/android/integration.md +430 -0
- package/resource/doc/callkit/preset/flutter/api.md +410 -0
- package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +35 -97
- package/resource/doc/callkit/preset/ios/api.md +80 -0
- package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +37 -118
- package/resource/doc/callkit/preset/react/api.md +501 -0
- package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +5 -20
- package/resource/doc/callkit/preset/vue/api.md +501 -0
- package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +4 -19
- package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -38
- package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
- package/resource/doc/chatkit/android/integration.md +490 -0
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +281 -0
- package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +0 -1
- package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -1
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +199 -0
- package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +235 -0
- package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +3 -3
- package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
- package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +19 -88
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -38
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +47 -165
- package/resource/doc/{chatuikit → chatkit}/react/components/avatar.md +0 -33
- package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +8 -49
- package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +6 -35
- package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +0 -6
- package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -11
- package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +96 -502
- package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
- package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
- package/resource/doc/chatkit/react/components/conversation-preview.md +118 -0
- package/resource/doc/chatkit/react/components/conversation-search.md +60 -0
- package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -337
- package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +20 -212
- package/resource/doc/chatkit/react/components/search.md +243 -0
- package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +1 -47
- package/resource/doc/{chatuikit → chatkit}/react/integration.md +21 -81
- package/resource/doc/{chatuikit → chatkit}/vue/components/avatar.md +0 -33
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -48
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +3 -5
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +0 -5
- package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -15
- package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
- package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
- package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -492
- package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
- package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
- package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +2 -223
- package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -252
- package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
- package/resource/doc/{chatuikit → chatkit}/vue/components/tuikit.md +7 -21
- package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +3 -62
- package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
- package/resource/doc/{chatuikit → chatkit}/vue/integration.md +22 -23
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +18 -89
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +28 -141
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +20 -112
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +59 -193
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +94 -344
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +107 -515
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +33 -173
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +14 -93
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -179
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +19 -107
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -166
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -163
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +69 -443
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +107 -492
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +23 -165
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +35 -111
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +35 -193
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +31 -144
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +24 -116
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +37 -171
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +79 -459
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +69 -320
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +85 -502
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +32 -169
- package/resource/doc/livekit/core-sdk/voice/android/voice-audience-list.md +263 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-audio-effect.md +222 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-barrage.md +452 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +536 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-gift.md +442 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-host-interaction.md +489 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-integration.md +574 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-room-list.md +435 -0
- package/resource/doc/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +516 -0
- package/resource/doc/livekit/core-sdk/voice/flutter/voice-integration.md +576 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-audience-list.md +263 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-audio-effect.md +212 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-barrage.md +404 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +499 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-gift.md +403 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-host-interaction.md +552 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-integration.md +514 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-room-list.md +348 -0
- package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -2
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
- package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
- package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +10 -49
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +26 -144
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +12 -75
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +36 -227
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +215 -0
- package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
- package/resource/doc/livekit/preset/live/vue/live-list-integration.md +241 -0
- package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +299 -0
- package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +300 -0
- package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +743 -0
- package/resource/doc/roomkit/vue/faq.md +1 -0
- package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
- package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
- package/resource/doc/roomkit/vue/features/device-state.md +24 -44
- package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
- package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
- package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
- package/resource/doc/roomkit/vue/features/room-state.md +25 -34
- package/resource/doc/roomkit/vue/features/room-view.md +30 -125
- package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
- package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
- package/resource/doc/roomkit/vue/features/virtual-background.md +13 -29
- package/resource/doc/roomkit/vue/integration.md +173 -337
- package/resource/doc/rtcengine/faq/common/error_code.md +1 -0
- package/resource/doc/rtcengine/faq/web/web.md +14 -24
- package/resource/doc/rtcengine/web/api.md +1 -3
- package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +3 -10
- package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +1 -5
- package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -2
- package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -4
- package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +3 -5
- package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +1 -7
- package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +0 -2
- package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -8
- package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +11 -11
- package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +12 -88
- package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -5
- package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +30 -37
- package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +13 -90
- package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -2
- package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -2
- package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +19 -19
- package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
- package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -5
- package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
- package/resource/doc/trtc/C++/ITRTCCloud.md +686 -2835
- package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +202 -1022
- package/resource/doc/trtc/C++/ITXDeviceManager.md +126 -767
- package/resource/doc/trtc/C++/TRTCCloudCallback.md +579 -2147
- package/resource/doc/trtc/C++/TRTCTypeDef.md +703 -3378
- package/resource/doc/trtc/C++/TXLiteAVCode.md +116 -908
- package/resource/doc/trtc/android/TRTCCloud.md +606 -2573
- package/resource/doc/trtc/android/TRTCCloudDef.md +752 -3640
- package/resource/doc/trtc/android/TRTCCloudListener.md +581 -2008
- package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
- package/resource/doc/trtc/android/TXAudioEffectManager.md +202 -1022
- package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
- package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
- package/resource/doc/trtc/android/TXLiteAVCode.md +114 -892
- package/resource/doc/trtc/iOS/TRTCCloud.md +694 -2904
- package/resource/doc/trtc/iOS/TRTCCloudDef.md +726 -3498
- package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +543 -2028
- package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
- package/resource/doc/trtc/iOS/TXAudioEffectManager.md +174 -877
- package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
- package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
- package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
- package/server.js +1 -5
- package/server.js.map +1 -1
- package/tools/call/get_callkit_api.js +32 -0
- package/tools/call/get_callkit_api.js.map +1 -0
- package/tools/call/get_native_call_uikit_integration.js +34 -0
- package/tools/call/get_native_call_uikit_integration.js.map +1 -0
- package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
- package/tools/call/get_web_call_uikit_integration.js.map +1 -0
- package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
- package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
- package/tools/chat/get_native_chat_uikit_integration.js +45 -0
- package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
- package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
- package/tools/chat/get_web_chat_uikit_integration.js +45 -0
- package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
- package/tools/common/get_faq.js +265 -0
- package/tools/common/get_faq.js.map +1 -0
- package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
- package/tools/common/get_usersig.js.map +1 -0
- package/tools/common/present_framework_choice.js +63 -0
- package/tools/common/present_framework_choice.js.map +1 -0
- package/tools/definitions/get_callkit_api_def.js +29 -0
- package/tools/definitions/get_callkit_api_def.js.map +1 -0
- package/tools/definitions/get_faq_def.js +17 -18
- package/tools/definitions/get_faq_def.js.map +1 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js +15 -18
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
- package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -19
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +34 -0
- package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js +34 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
- package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
- package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
- package/tools/definitions/get_usersig_def.js +17 -22
- package/tools/definitions/get_usersig_def.js.map +1 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +15 -18
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_livekit_api_def.js +30 -0
- package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
- package/tools/definitions/get_web_livekit_component_detail_def.js +32 -0
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +15 -30
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +31 -0
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_api_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
- package/tools/definitions/present_framework_choice_def.js +24 -12
- package/tools/definitions/present_framework_choice_def.js.map +1 -1
- package/tools/index.js +47 -59
- package/tools/index.js.map +1 -1
- package/tools/live/get_native_livekit_core_features.js +65 -0
- package/tools/live/get_native_livekit_core_features.js.map +1 -0
- package/tools/live/get_native_livekit_core_integration.js +59 -0
- package/tools/live/get_native_livekit_core_integration.js.map +1 -0
- package/tools/live/get_web_live_uikit_integration.js +48 -0
- package/tools/live/get_web_live_uikit_integration.js.map +1 -0
- package/tools/live/get_web_livekit_api.js +32 -0
- package/tools/live/get_web_livekit_api.js.map +1 -0
- package/tools/live/get_web_livekit_component_detail.js +34 -0
- package/tools/live/get_web_livekit_component_detail.js.map +1 -0
- package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
- package/tools/room/get_web_room_uikit_integration.js.map +1 -0
- package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
- package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
- package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
- package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
- package/utils/generate-structured-result.js +61 -17
- package/utils/generate-structured-result.js.map +1 -1
- package/utils/report-cls-client.js +12 -1
- package/utils/report-cls-client.js.map +1 -1
- package/utils/report-es-client.js +2 -2
- package/resource/doc/chatuikit/android/integration.md +0 -287
- package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1371
- package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -932
- package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1119
- package/resource/doc/chatuikit/flutter/workflow.md +0 -941
- package/resource/doc/chatuikit/iOS/workflow.md +0 -0
- package/resource/doc/chatuikit/react/components/conversation-list.md +0 -1017
- package/resource/doc/chatuikit/react/components/search.md +0 -745
- package/resource/doc/chatuikit/react/create-group.md +0 -23
- package/resource/doc/chatuikit/react/init.md +0 -26
- package/resource/doc/chatuikit/react/workflow.md +0 -258
- package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
- package/resource/doc/chatuikit/vue/create-group.md +0 -25
- package/resource/doc/chatuikit/vue/init.md +0 -40
- package/resource/doc/chatuikit/vue/workflow.md +0 -395
- package/resource/doc/livekit/live/android/workflow.md +0 -320
- package/resource/doc/livekit/live/flutter/workflow.md +0 -353
- package/resource/doc/livekit/live/ios/workflow.md +0 -454
- package/resource/doc/livekit/live/vue/components/barrage.md +0 -616
- package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -446
- package/resource/doc/livekit/live/vue/faq.md +0 -0
- package/resource/doc/livekit/live/vue/live-list-integration.md +0 -200
- package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -269
- package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -269
- package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -595
- package/resource/doc/livekit/live/vue/states/live-state.md +0 -3591
- package/resource/doc/livekit/live/vue/workflow.md +0 -218
- package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -312
- package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -430
- package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -679
- package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -671
- package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -271
- package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
- package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
- package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
- package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
- package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -865
- package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -657
- package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -437
- package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -335
- package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
- package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -327
- package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -507
- package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
- package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -659
- package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
- package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -814
- package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1000
- package/resource/doc/roomkit/vue/features/workflow.md +0 -553
- package/resource/doc/roomkit/vue/workflow.md +0 -487
- package/resource/doc/tuicallkit/android/integration.md +0 -286
- package/resource/doc/tuicallkit/android/workflow.md +0 -0
- package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -784
- package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -610
- package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -938
- package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -897
- package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -469
- package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -781
- package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -398
- package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
- package/resource/doc/tuicallkit/react/api.md +0 -1404
- package/resource/doc/tuicallkit/vue/api.md +0 -1406
- package/resource/doc/tuicallkit/vue/faq.md +0 -36
- package/tools/call/get-native-call-integration.js +0 -43
- package/tools/call/get-native-call-integration.js.map +0 -1
- package/tools/call/get-web-call-api.js +0 -27
- package/tools/call/get-web-call-api.js.map +0 -1
- package/tools/call/get-web-call-integration.js.map +0 -1
- package/tools/chat/get-native-chat-feature-detail.js +0 -30
- package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
- package/tools/chat/get-native-chat-integration.js +0 -45
- package/tools/chat/get-native-chat-integration.js.map +0 -1
- package/tools/chat/get-web-chat-component-detail.js +0 -31
- package/tools/chat/get-web-chat-component-detail.js.map +0 -1
- package/tools/chat/get-web-chat-integration.js +0 -45
- package/tools/chat/get-web-chat-integration.js.map +0 -1
- package/tools/chat/get-web-chat-uikit-init.js +0 -28
- package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
- package/tools/chat/get-web-create-group-doc.js +0 -28
- package/tools/chat/get-web-create-group-doc.js.map +0 -1
- package/tools/common/get-faq.js +0 -91
- 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 +0 -16
- package/tools/common/present-framework-choice.js.map +0 -1
- package/tools/common/record-prompt.js +0 -55
- package/tools/common/record-prompt.js.map +0 -1
- package/tools/common/record-result.js +0 -60
- package/tools/common/record-result.js.map +0 -1
- package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
- package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_native_live_api_def.js +0 -23
- package/tools/definitions/get_native_live_api_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -87
- package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_integration_def.js +0 -49
- package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -74
- package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
- package/tools/definitions/get_trtc_native_api_def.js +0 -16
- package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
- package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
- package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
- package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
- package/tools/definitions/get_web_create_group_doc_def.js +0 -18
- package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
- package/tools/definitions/get_web_live_state_detail_def.js +0 -19
- package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
- package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
- package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_feature_detail_def.js +0 -95
- package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_state_detail_def.js +0 -19
- package/tools/definitions/get_web_room_state_detail_def.js.map +0 -1
- package/tools/definitions/record_prompt_def.js +0 -53
- package/tools/definitions/record_prompt_def.js.map +0 -1
- package/tools/definitions/record_result_def.js +0 -30
- package/tools/definitions/record_result_def.js.map +0 -1
- package/tools/live/get-native-live-uikit-integration.js +0 -101
- package/tools/live/get-native-live-uikit-integration.js.map +0 -1
- package/tools/live/get-web-live-component-detail.js +0 -31
- package/tools/live/get-web-live-component-detail.js.map +0 -1
- package/tools/live/get-web-live-state-detail.js +0 -31
- package/tools/live/get-web-live-state-detail.js.map +0 -1
- package/tools/live/get-web-live-uikit-integration.js +0 -52
- package/tools/live/get-web-live-uikit-integration.js.map +0 -1
- package/tools/live/get_native_live_uikit_extra_features.js +0 -105
- package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
- package/tools/live/get_native_live_uikit_interaction.js +0 -101
- package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
- package/tools/native_live/get-native-live-api.js +0 -31
- package/tools/native_live/get-native-live-api.js.map +0 -1
- package/tools/room/get-web-room-feature-detail.js.map +0 -1
- package/tools/room/get-web-room-integration.js.map +0 -1
- package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
- package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
- package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
- package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
- package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
- package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
- package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
- package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
- package/tools/trtc/get-trtc-native-api.js +0 -31
- package/tools/trtc/get-trtc-native-api.js.map +0 -1
- package/utils/handle-component-name.js +0 -33
- package/utils/handle-component-name.js.map +0 -1
- /package/resource/doc/{chatuikit/android/workflow.md → callkit/core-sdk/.gitkeep} +0 -0
- /package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +0 -0
- /package/resource/doc/{tuicallkit/react/faq.md → callkit/faq/web-faq.md} +0 -0
- /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
- /package/resource/doc/roomkit/faq/common/{error_code.md → error-code.md} +0 -0
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
This document provides guidance on integrating audio effect controls into your live streaming application using the `AudioEffectStore` and `DeviceStore` modules from the **AtomicXCore** framework. These modules enable features such as microphone volume control, ear monitoring, and a variety of voice changing and reverb effects.
|
|
2
2
|
|
|
3
|
-

|
|
4
|
-
|
|
5
|
-
|
|
6
3
|
## Core Features
|
|
7
4
|
|
|
8
5
|
By combining `AudioEffectStore` and DeviceStore, you can implement the following core features:
|
|
@@ -14,74 +11,22 @@ By combining `AudioEffectStore` and DeviceStore, you can implement the following
|
|
|
14
11
|
|
|
15
12
|
- **Reverb Effects**: Simulate different acoustic environments, such as KTV, metallic, deep, bright, and others.
|
|
16
13
|
|
|
17
|
-
|
|
18
14
|
## Core Concepts
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<tr>
|
|
29
|
-
<td rowspan="1" colSpan="1" >`AudioChangerType`</td>
|
|
30
|
-
|
|
31
|
-
<td rowspan="1" colSpan="1" >`enum`</td>
|
|
32
|
-
|
|
33
|
-
<td rowspan="1" colSpan="1" >Enumerates available voice effects, such as "child", "man", etc.</td>
|
|
34
|
-
</tr>
|
|
35
|
-
|
|
36
|
-
<tr>
|
|
37
|
-
<td rowspan="1" colSpan="1" >`AudioReverbType`</td>
|
|
38
|
-
|
|
39
|
-
<td rowspan="1" colSpan="1" >`enum`</td>
|
|
40
|
-
|
|
41
|
-
<td rowspan="1" colSpan="1" >Enumerates available reverb effects, such as "ktv", "hall", etc.</td>
|
|
42
|
-
</tr>
|
|
43
|
-
|
|
44
|
-
<tr>
|
|
45
|
-
<td rowspan="1" colSpan="1" >`AudioEffectState`</td>
|
|
46
|
-
|
|
47
|
-
<td rowspan="1" colSpan="1" >`data`</td>
|
|
48
|
-
|
|
49
|
-
<td rowspan="1" colSpan="1" >Represents the current state of the audio effect module, typically used for UI rendering. Includes voice effect state, reverb state, ear monitoring enabled state, and ear monitor volume.</td>
|
|
50
|
-
</tr>
|
|
51
|
-
|
|
52
|
-
<tr>
|
|
53
|
-
<td rowspan="1" colSpan="1" >`AudioEffectStore`</td>
|
|
54
|
-
|
|
55
|
-
<td rowspan="1" colSpan="1" >`abstract`</td>
|
|
56
|
-
|
|
57
|
-
<td rowspan="1" colSpan="1" >Singleton data management class for audio effects. Use it to invoke audio effect APIs. After calling an API, the corresponding state property is automatically updated. Subscribe to this reactive state to receive and monitor updates.</td>
|
|
58
|
-
</tr>
|
|
59
|
-
|
|
60
|
-
<tr>
|
|
61
|
-
<td rowspan="1" colSpan="1" >`DeviceState`</td>
|
|
62
|
-
|
|
63
|
-
<td rowspan="1" colSpan="1" >`data`</td>
|
|
64
|
-
|
|
65
|
-
<td rowspan="1" colSpan="1" >Represents the current state of the device module, typically used for UI rendering. Core properties include camera and microphone status.</td>
|
|
66
|
-
</tr>
|
|
67
|
-
|
|
68
|
-
<tr>
|
|
69
|
-
<td rowspan="1" colSpan="1" >`DeviceStore`</td>
|
|
70
|
-
|
|
71
|
-
<td rowspan="1" colSpan="1" >`abstract`</td>
|
|
72
|
-
|
|
73
|
-
<td rowspan="1" colSpan="1" >Singleton data management class for device operations. Use it to control the camera and microphone. After calling an API, the corresponding state property is automatically updated. Subscribe to this reactive state to receive and monitor updates.</td>
|
|
74
|
-
</tr>
|
|
75
|
-
</table>
|
|
76
|
-
|
|
15
|
+
| **Core Concept** | **Type** | **Core Responsibility & Description** |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| `AudioChangerType` | `enum` | Enumerates available voice effects, such as "child", "man", etc. |
|
|
18
|
+
| `AudioReverbType` | `enum` | Enumerates available reverb effects, such as "ktv", "hall", etc. |
|
|
19
|
+
| `AudioEffectState` | `data` | Represents the current state of the audio effect module, typically used for UI rendering. Includes voice effect state, reverb state, ear monitoring enabled state, and ear monitor volume. |
|
|
20
|
+
| `AudioEffectStore` | `abstract` | Singleton data management class for audio effects. Use it to invoke audio effect APIs. After calling an API, the corresponding state property is automatically updated. Subscribe to this reactive state to receive and monitor updates. |
|
|
21
|
+
| `DeviceState` | `data` | Represents the current state of the device module, typically used for UI rendering. Core properties include camera and microphone status. |
|
|
22
|
+
| `DeviceStore` | `abstract` | Singleton data management class for device operations. Use it to control the camera and microphone. After calling an API, the corresponding state property is automatically updated. Subscribe to this reactive state to receive and monitor updates. |
|
|
77
23
|
|
|
78
24
|
## Implementation
|
|
79
25
|
|
|
80
26
|
### Step 1: Component Integration
|
|
81
|
-
- **Video Live Streaming**: Please refer to
|
|
82
|
-
|
|
83
|
-
- **Voice Chat Room**: Please refer to [Quick Start](https://write.woa.com/document/194571595678187521) to integrate **AtomicXCore**.
|
|
27
|
+
- **Video Live Streaming**: Please refer to Quick Start to integrate **AtomicXCore.**
|
|
84
28
|
|
|
29
|
+
- **Voice Chat Room**: Please refer to Quick Start to integrate **AtomicXCore**.
|
|
85
30
|
|
|
86
31
|
### Step 2: Obtain Store Instances
|
|
87
32
|
|
|
@@ -99,8 +44,7 @@ val deviceStore = DeviceStore.shared()
|
|
|
99
44
|
Ear monitoring allows users to hear their own microphone audio in real time. Manage ear monitoring using the following APIs.
|
|
100
45
|
|
|
101
46
|
> **Note:**Ear monitoring typically requires headphones to function properly.
|
|
102
|
-
>
|
|
103
|
-
|
|
47
|
+
>
|
|
104
48
|
|
|
105
49
|
#### Implementation
|
|
106
50
|
1. **Toggle Ear Monitoring**: Use a `Switch` control to enable or disable ear monitoring.
|
|
@@ -109,7 +53,6 @@ Ear monitoring allows users to hear their own microphone audio in real time. Man
|
|
|
109
53
|
|
|
110
54
|
3. **Listen for State Updates**: Subscribe to ear monitor state changes to update the UI in real time.
|
|
111
55
|
|
|
112
|
-
|
|
113
56
|
#### Code Example
|
|
114
57
|
``` java
|
|
115
58
|
import io.trtc.tuikit.atomicxcore.api.device.AudioEffectStore
|
|
@@ -136,44 +79,14 @@ CoroutineScope(Dispatchers.Main).launch {
|
|
|
136
79
|
```
|
|
137
80
|
|
|
138
81
|
#### setVoiceEarMonitorEnable Parameters
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
<
|
|
142
|
-
|
|
143
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
144
|
-
|
|
145
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
146
|
-
</tr>
|
|
147
|
-
|
|
148
|
-
<tr>
|
|
149
|
-
<td rowspan="1" colSpan="1" >`enable`</td>
|
|
150
|
-
|
|
151
|
-
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
152
|
-
|
|
153
|
-
<td rowspan="1" colSpan="1" >Whether to enable ear monitoring.<br>- true: Enable<br>- false: Disable</td>
|
|
154
|
-
</tr>
|
|
155
|
-
</table>
|
|
156
|
-
|
|
82
|
+
| **Parameter Name** | **Type** | **Description** |
|
|
83
|
+
| --- | --- | --- |
|
|
84
|
+
| `enable` | `Boolean` | Whether to enable ear monitoring.<br>- true: Enable<br>- false: Disable |
|
|
157
85
|
|
|
158
86
|
#### setVoiceEarMonitorVolume Parameters
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
<
|
|
162
|
-
|
|
163
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
164
|
-
|
|
165
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
166
|
-
</tr>
|
|
167
|
-
|
|
168
|
-
<tr>
|
|
169
|
-
<td rowspan="1" colSpan="1" >`volume`</td>
|
|
170
|
-
|
|
171
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
172
|
-
|
|
173
|
-
<td rowspan="1" colSpan="1" >Ear monitor volume.<br>- Range: [0, 150]<br>- Default: 100</td>
|
|
174
|
-
</tr>
|
|
175
|
-
</table>
|
|
176
|
-
|
|
87
|
+
| **Parameter Name** | **Type** | **Description** |
|
|
88
|
+
| --- | --- | --- |
|
|
89
|
+
| `volume` | `Int` | Ear monitor volume.<br>- Range: [0, 150]<br>- Default: 100 |
|
|
177
90
|
|
|
178
91
|
### Step 4: Implement Microphone Volume Adjustment
|
|
179
92
|
|
|
@@ -184,7 +97,6 @@ To adjust the microphone (capture) volume, call `setCaptureVolume(volume) `on `D
|
|
|
184
97
|
|
|
185
98
|
2. **Listen for State Updates**: Subscribe to capture volume state changes to update the UI in real time.
|
|
186
99
|
|
|
187
|
-
|
|
188
100
|
#### Code Example
|
|
189
101
|
``` java
|
|
190
102
|
import kotlinx.coroutines.CoroutineScope
|
|
@@ -205,24 +117,9 @@ CoroutineScope(Dispatchers.Main).launch {
|
|
|
205
117
|
```
|
|
206
118
|
|
|
207
119
|
#### setCaptureVolume Parameters
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
<
|
|
211
|
-
|
|
212
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
213
|
-
|
|
214
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
215
|
-
</tr>
|
|
216
|
-
|
|
217
|
-
<tr>
|
|
218
|
-
<td rowspan="1" colSpan="1" >`volume`</td>
|
|
219
|
-
|
|
220
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
221
|
-
|
|
222
|
-
<td rowspan="1" colSpan="1" >Microphone (capture) volume.<br>- Range: [0, 150]<br>- Default: 100</td>
|
|
223
|
-
</tr>
|
|
224
|
-
</table>
|
|
225
|
-
|
|
120
|
+
| **Parameter Name** | **Type** | **Description** |
|
|
121
|
+
| --- | --- | --- |
|
|
122
|
+
| `volume` | `Int` | Microphone (capture) volume.<br>- Range: [0, 150]<br>- Default: 100 |
|
|
226
123
|
|
|
227
124
|
### Step 5: Implement Voice Effects
|
|
228
125
|
|
|
@@ -241,24 +138,9 @@ audioEffectStore.setAudioChangerType(AudioChangerType.NONE)
|
|
|
241
138
|
```
|
|
242
139
|
|
|
243
140
|
#### setAudioChangerType Parameters
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
249
|
-
|
|
250
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
251
|
-
</tr>
|
|
252
|
-
|
|
253
|
-
<tr>
|
|
254
|
-
<td rowspan="1" colSpan="1" >`type`</td>
|
|
255
|
-
|
|
256
|
-
<td rowspan="1" colSpan="1" >`AudioChangerType`</td>
|
|
257
|
-
|
|
258
|
-
<td rowspan="1" colSpan="1" >Voice effect enum value.</td>
|
|
259
|
-
</tr>
|
|
260
|
-
</table>
|
|
261
|
-
|
|
141
|
+
| **Parameter Name** | **Type** | **Description** |
|
|
142
|
+
| --- | --- | --- |
|
|
143
|
+
| `type` | `AudioChangerType` | Voice effect enum value. |
|
|
262
144
|
|
|
263
145
|
### Step 6: Implement Reverb Effects
|
|
264
146
|
|
|
@@ -275,33 +157,17 @@ audioEffectStore.setAudioReverbType(AudioReverbType.NONE)
|
|
|
275
157
|
```
|
|
276
158
|
|
|
277
159
|
#### setAudioReverbType Parameters
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
283
|
-
|
|
284
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
285
|
-
</tr>
|
|
286
|
-
|
|
287
|
-
<tr>
|
|
288
|
-
<td rowspan="1" colSpan="1" >`type`</td>
|
|
289
|
-
|
|
290
|
-
<td rowspan="1" colSpan="1" >`AudioReverbType`</td>
|
|
291
|
-
|
|
292
|
-
<td rowspan="1" colSpan="1" >Reverb effect enum value.</td>
|
|
293
|
-
</tr>
|
|
294
|
-
</table>
|
|
295
|
-
|
|
160
|
+
| **Parameter Name** | **Type** | **Description** |
|
|
161
|
+
| --- | --- | --- |
|
|
162
|
+
| `type` | `AudioReverbType` | Reverb effect enum value. |
|
|
296
163
|
|
|
297
164
|
### Step 7: Reset Audio Effect Settings
|
|
298
165
|
|
|
299
166
|
> **Note:**
|
|
300
|
-
>
|
|
167
|
+
>
|
|
301
168
|
|
|
302
169
|
> `AudioEffectStore` and `DeviceStore` are singletons, so audio effect and device settings are globally applied. To prevent settings from one live room affecting others, reset audio effect and device settings when the current live room ends.
|
|
303
|
-
>
|
|
304
|
-
|
|
170
|
+
>
|
|
305
171
|
|
|
306
172
|
Reset audio effect settings in the following scenarios:
|
|
307
173
|
1. When the current live room ends.
|
|
@@ -311,7 +177,7 @@ Reset audio effect settings in the following scenarios:
|
|
|
311
177
|
``` java
|
|
312
178
|
import io.trtc.tuikit.atomicxcore.api.device.AudioEffectStore
|
|
313
179
|
import io.trtc.tuikit.atomicxcore.api.device.DeviceStore
|
|
314
|
-
|
|
180
|
+
|
|
315
181
|
// One-click reset for all voice and reverb effects
|
|
316
182
|
AudioEffectStore.shared().reset()
|
|
317
183
|
DeviceStore.shared().reset()
|
|
@@ -320,32 +186,10 @@ Reset audio effect settings in the following scenarios:
|
|
|
320
186
|
## API Documentation
|
|
321
187
|
|
|
322
188
|
For detailed information on all public interfaces and properties of [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), and their related classes, refer to the official API documentation for the [AtomicXCore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore) framework.
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
<td rowspan="1" colSpan="1" >**Feature Description**</td>
|
|
328
|
-
|
|
329
|
-
<td rowspan="1" colSpan="1" >**API Documentation**</td>
|
|
330
|
-
</tr>
|
|
331
|
-
|
|
332
|
-
<tr>
|
|
333
|
-
<td rowspan="1" colSpan="1" >AudioEffectStore</td>
|
|
334
|
-
|
|
335
|
-
<td rowspan="1" colSpan="1" >Manage audio effects: configure and retrieve real-time audio effect status.</td>
|
|
336
|
-
|
|
337
|
-
<td rowspan="1" colSpan="1" >[API Documentation](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)</td>
|
|
338
|
-
</tr>
|
|
339
|
-
|
|
340
|
-
<tr>
|
|
341
|
-
<td rowspan="1" colSpan="1" >DeviceStore</td>
|
|
342
|
-
|
|
343
|
-
<td rowspan="1" colSpan="1" >Manage devices: control camera and microphone, and retrieve real-time device status.</td>
|
|
344
|
-
|
|
345
|
-
<td rowspan="1" colSpan="1" >[API Documentation](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)</td>
|
|
346
|
-
</tr>
|
|
347
|
-
</table>
|
|
348
|
-
|
|
189
|
+
| **Store/Component** | **Feature Description** | **API Documentation** |
|
|
190
|
+
| --- | --- | --- |
|
|
191
|
+
| AudioEffectStore | Manage audio effects: configure and retrieve real-time audio effect status. | [API Documentation](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) |
|
|
192
|
+
| DeviceStore | Manage devices: control camera and microphone, and retrieve real-time device status. | [API Documentation](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) |
|
|
349
193
|
|
|
350
194
|
## FAQs
|
|
351
195
|
|
|
@@ -360,7 +204,6 @@ This is a common point of confusion:
|
|
|
360
204
|
|
|
361
205
|
- **Ear Monitor Volume**: Set via `AudioEffectStore.setVoiceEarMonitorVolume()`. It only determines the volume level you hear in your in-ear monitor and does not affect the audience.
|
|
362
206
|
|
|
363
|
-
|
|
364
207
|
### Why does a newly created live room already have audio effects, or why is the volume too high or too low?
|
|
365
208
|
|
|
366
209
|
Because `AudioEffectStore` and `DeviceStore` are singletons, audio effect and device settings are globally applied. If you previously set audio effects and did not reset them, those settings persist. Call the `reset()` method at the appropriate time to clear them.
|
|
@@ -374,7 +217,6 @@ Check the following:
|
|
|
374
217
|
|
|
375
218
|
3. **Is the microphone enabled?** Confirm that the microphone is enabled in DeviceStore (i.e., openLocalMicrophone has been called).
|
|
376
219
|
|
|
377
|
-
|
|
378
220
|
### Can voice effects and reverb be enabled at the same time?
|
|
379
221
|
|
|
380
|
-
Yes. `AudioChangerType` and `AudioReverbType` can be enabled simultaneously. For example, you can set both `AudioChangerType.LITTLE_GIRL`and `AudioReverbType.KTV` at the same time.
|
|
222
|
+
Yes. `AudioChangerType` and `AudioReverbType` can be enabled simultaneously. For example, you can set both `AudioChangerType.LITTLE_GIRL`and `AudioReverbType.KTV` at the same time.
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
This document provides a comprehensive guide for iOS developers to quickly integrate a feature-rich, high-performance live chat overlay (barrage/danmaku) system into your live streaming application using the `BarrageStore` module from the **AtomicXCore** framework.
|
|
2
2
|
|
|
3
|
-

|
|
4
|
-
|
|
5
|
-
|
|
6
3
|
## Core Features
|
|
7
4
|
|
|
8
5
|
`BarrageStore` delivers a complete barrage solution for your live streaming app. Core features include:
|
|
@@ -14,50 +11,19 @@ This document provides a comprehensive guide for iOS developers to quickly integ
|
|
|
14
11
|
|
|
15
12
|
- Inserting system tips into the local message list (for example, "Welcome XX to the live room").
|
|
16
13
|
|
|
17
|
-
|
|
18
14
|
## Core Concepts
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<td rowspan="1" colSpan="1" >**Core Responsibility & Description**</td>
|
|
26
|
-
</tr>
|
|
27
|
-
|
|
28
|
-
<tr>
|
|
29
|
-
<td rowspan="1" colSpan="1" >[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)</td>
|
|
30
|
-
|
|
31
|
-
<td rowspan="1" colSpan="1" >data class</td>
|
|
32
|
-
|
|
33
|
-
<td rowspan="1" colSpan="1" >Represents a single barrage message. Contains sender info (sender), message content (textContent or data), and message type (messageType).</td>
|
|
34
|
-
</tr>
|
|
35
|
-
|
|
36
|
-
<tr>
|
|
37
|
-
<td rowspan="1" colSpan="1" >[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)</td>
|
|
38
|
-
|
|
39
|
-
<td rowspan="1" colSpan="1" >data class</td>
|
|
40
|
-
|
|
41
|
-
<td rowspan="1" colSpan="1" >Represents the current state of the barrage module. The main property, messageList, is a StateFlow containing all barrage messages for the current live room, ordered chronologically. This serves as the UI data source.</td>
|
|
42
|
-
</tr>
|
|
43
|
-
|
|
44
|
-
<tr>
|
|
45
|
-
<td rowspan="1" colSpan="1" >[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)</td>
|
|
46
|
-
|
|
47
|
-
<td rowspan="1" colSpan="1" >abstract class</td>
|
|
48
|
-
|
|
49
|
-
<td rowspan="1" colSpan="1" >The main manager for barrage features. Use it to send messages (sendTextMessage, sendCustomMessage) and subscribe to barrage message updates via its state property.</td>
|
|
50
|
-
</tr>
|
|
51
|
-
</table>
|
|
52
|
-
|
|
15
|
+
| **Core Concept** | **Type** | **Core Responsibility & Description** |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| [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 | Represents a single barrage message. Contains sender info (sender), message content (textContent or data), and message type (messageType). |
|
|
18
|
+
| [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 | Represents the current state of the barrage module. The main property, messageList, is a StateFlow containing all barrage messages for the current live room, ordered chronologically. This serves as the UI data source. |
|
|
19
|
+
| [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 | The main manager for barrage features. Use it to send messages (sendTextMessage, sendCustomMessage) and subscribe to barrage message updates via its state property. |
|
|
53
20
|
|
|
54
21
|
## Implementation
|
|
55
22
|
|
|
56
23
|
### Step 1: Component Integration
|
|
57
|
-
- **Video Live Streaming**: Please refer to
|
|
58
|
-
|
|
59
|
-
- **Voice Chat Room**: Please refer to [Quick Start](https://write.woa.com/document/194571595678187521) to integrate AtomicXCore.
|
|
24
|
+
- **Video Live Streaming**: Please refer to Quick Start to integrate AtomicXCore.
|
|
60
25
|
|
|
26
|
+
- **Voice Chat Room**: Please refer to Quick Start to integrate AtomicXCore.
|
|
61
27
|
|
|
62
28
|
### Step 2: Initialize and Listen to Barrages
|
|
63
29
|
|
|
@@ -73,11 +39,11 @@ class BarrageManager(
|
|
|
73
39
|
) {
|
|
74
40
|
private val barrageStore: BarrageStore = BarrageStore.create(liveId)
|
|
75
41
|
private val scope = CoroutineScope(Dispatchers.Main)
|
|
76
|
-
|
|
42
|
+
|
|
77
43
|
// Expose the [full] message list as a Flow for the UI layer to subscribe to
|
|
78
44
|
private val _messagesFlow = MutableStateFlow<List<Barrage>>(emptyList())
|
|
79
45
|
val messagesFlow: StateFlow<List<Barrage>> = _messagesFlow.asStateFlow()
|
|
80
|
-
|
|
46
|
+
|
|
81
47
|
init {
|
|
82
48
|
// Start listening for barrage messages immediately after initialization
|
|
83
49
|
subscribeToBarrageUpdates()
|
|
@@ -114,7 +80,7 @@ class BarrageManager(
|
|
|
114
80
|
if (text.isEmpty()) {
|
|
115
81
|
return
|
|
116
82
|
}
|
|
117
|
-
|
|
83
|
+
|
|
118
84
|
// Call the core API to send the message
|
|
119
85
|
barrageStore.sendTextMessage(
|
|
120
86
|
text,
|
|
@@ -136,40 +102,11 @@ class BarrageManager(
|
|
|
136
102
|
```
|
|
137
103
|
|
|
138
104
|
#### API Parameters
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
146
|
-
</tr>
|
|
147
|
-
|
|
148
|
-
<tr>
|
|
149
|
-
<td rowspan="1" colSpan="1" >`text`</td>
|
|
150
|
-
|
|
151
|
-
<td rowspan="1" colSpan="1" >`String?`</td>
|
|
152
|
-
|
|
153
|
-
<td rowspan="1" colSpan="1" >The text content to send.</td>
|
|
154
|
-
</tr>
|
|
155
|
-
|
|
156
|
-
<tr>
|
|
157
|
-
<td rowspan="1" colSpan="1" >`extensionInfo`</td>
|
|
158
|
-
|
|
159
|
-
<td rowspan="1" colSpan="1" >`Map<String, String>?`</td>
|
|
160
|
-
|
|
161
|
-
<td rowspan="1" colSpan="1" >Additional data for business customization.</td>
|
|
162
|
-
</tr>
|
|
163
|
-
|
|
164
|
-
<tr>
|
|
165
|
-
<td rowspan="1" colSpan="1" >`completion`</td>
|
|
166
|
-
|
|
167
|
-
<td rowspan="1" colSpan="1" >`CompletionHandler?`</td>
|
|
168
|
-
|
|
169
|
-
<td rowspan="1" colSpan="1" >Callback invoked after sending, indicating success or failure.</td>
|
|
170
|
-
</tr>
|
|
171
|
-
</table>
|
|
172
|
-
|
|
105
|
+
| **Parameter** | **Type** | **Description** |
|
|
106
|
+
| --- | --- | --- |
|
|
107
|
+
| `text` | `String?` | The text content to send. |
|
|
108
|
+
| `extensionInfo` | `Map<String, String>?` | Additional data for business customization. |
|
|
109
|
+
| `completion` | `CompletionHandler?` | Callback invoked after sending, indicating success or failure. |
|
|
173
110
|
|
|
174
111
|
### Step 4: Send Custom Barrage
|
|
175
112
|
|
|
@@ -205,7 +142,7 @@ class BarrageManager(
|
|
|
205
142
|
override fun onSuccess() {
|
|
206
143
|
println("Gift message (custom barrage) sent successfully")
|
|
207
144
|
}
|
|
208
|
-
|
|
145
|
+
|
|
209
146
|
override fun onFailure(code: Int, desc: String) {
|
|
210
147
|
println("Failed to send gift message: $desc")
|
|
211
148
|
}
|
|
@@ -216,40 +153,11 @@ class BarrageManager(
|
|
|
216
153
|
```
|
|
217
154
|
|
|
218
155
|
#### API Parameters
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
226
|
-
</tr>
|
|
227
|
-
|
|
228
|
-
<tr>
|
|
229
|
-
<td rowspan="1" colSpan="1" >businessId</td>
|
|
230
|
-
|
|
231
|
-
<td rowspan="1" colSpan="1" >String</td>
|
|
232
|
-
|
|
233
|
-
<td rowspan="1" colSpan="1" >Unique business identifier (e.g., "live_gift"). Used by receivers to distinguish custom messages.</td>
|
|
234
|
-
</tr>
|
|
235
|
-
|
|
236
|
-
<tr>
|
|
237
|
-
<td rowspan="1" colSpan="1" >data</td>
|
|
238
|
-
|
|
239
|
-
<td rowspan="1" colSpan="1" >String</td>
|
|
240
|
-
|
|
241
|
-
<td rowspan="1" colSpan="1" >Business data, typically a JSON string.</td>
|
|
242
|
-
</tr>
|
|
243
|
-
|
|
244
|
-
<tr>
|
|
245
|
-
<td rowspan="1" colSpan="1" >completion</td>
|
|
246
|
-
|
|
247
|
-
<td rowspan="1" colSpan="1" >CompletionHandler?</td>
|
|
248
|
-
|
|
249
|
-
<td rowspan="1" colSpan="1" >Callback after sending.</td>
|
|
250
|
-
</tr>
|
|
251
|
-
</table>
|
|
252
|
-
|
|
156
|
+
| **Parameter** | **Type** | **Description** |
|
|
157
|
+
| --- | --- | --- |
|
|
158
|
+
| businessId | String | Unique business identifier (e.g., "live_gift"). Used by receivers to distinguish custom messages. |
|
|
159
|
+
| data | String | Business data, typically a JSON string. |
|
|
160
|
+
| completion | CompletionHandler? | Callback after sending. |
|
|
253
161
|
|
|
254
162
|
### Step 5: Insert Local Tip Messages
|
|
255
163
|
|
|
@@ -275,24 +183,9 @@ class BarrageManager(
|
|
|
275
183
|
```
|
|
276
184
|
|
|
277
185
|
#### API Parameters
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
283
|
-
|
|
284
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
285
|
-
</tr>
|
|
286
|
-
|
|
287
|
-
<tr>
|
|
288
|
-
<td rowspan="1" colSpan="1" >message</td>
|
|
289
|
-
|
|
290
|
-
<td rowspan="1" colSpan="1" >Barrage</td>
|
|
291
|
-
|
|
292
|
-
<td rowspan="1" colSpan="1" >The message object to insert locally. The SDK appends this to messageList in BarrageState.</td>
|
|
293
|
-
</tr>
|
|
294
|
-
</table>
|
|
295
|
-
|
|
186
|
+
| **Parameter** | **Type** | **Description** |
|
|
187
|
+
| --- | --- | --- |
|
|
188
|
+
| message | Barrage | The message object to insert locally. The SDK appends this to messageList in BarrageState. |
|
|
296
189
|
|
|
297
190
|
### Step 6: Manage User Speaking Permissions (Mute and Unmute)
|
|
298
191
|
|
|
@@ -446,11 +339,11 @@ class BarrageUIManager(
|
|
|
446
339
|
private fun refreshUIIfNeeded() {
|
|
447
340
|
val fullList = this.latestMessageList ?: return
|
|
448
341
|
val adapter = recyclerView.adapter ?: return
|
|
449
|
-
this.latestMessageList = null
|
|
342
|
+
this.latestMessageList = null
|
|
450
343
|
|
|
451
344
|
// Only take the latest N messages
|
|
452
345
|
val cappedList = fullList.takeLast(capacity)
|
|
453
|
-
|
|
346
|
+
|
|
454
347
|
dataSource.clear()
|
|
455
348
|
dataSource.addAll(cappedList)
|
|
456
349
|
adapter.notifyDataSetChanged()
|
|
@@ -516,7 +409,7 @@ For detailed information on all public interfaces, properties, methods of [Barra
|
|
|
516
409
|
|
|
517
410
|
### In addition to basic text barrages, we also want to implement richer styles such as "colored barrages" and "gift barrages." How can we achieve this?
|
|
518
411
|
|
|
519
|
-
You can implement these features using custom messages with `sendCustomMessage`.
|
|
412
|
+
You can implement these features using custom messages with `sendCustomMessage`.
|
|
520
413
|
|
|
521
414
|
**Implementation Steps**
|
|
522
415
|
1. **Define the Data Structure**: Collaborate with your client and server teams to define the JSON structure for custom messages. For example, a colored barrage can be defined as:
|
|
@@ -528,7 +421,6 @@ You can implement these features using custom messages with `sendCustomMessage`.
|
|
|
528
421
|
|
|
529
422
|
3. **Receiver**: Upon receiving a barrage message, check whether its messageType is `BarrageType.CUSTOM` and whether the `businessID` matches. If so, parse the data string (usually as JSON), and render your custom UI style based on the parsed data (such as `color`, `text`).
|
|
530
423
|
|
|
531
|
-
|
|
532
424
|
### If I call BarrageStore.create(liveID = "some_id") in different classes or files, will this create multiple instances and cause confusion?
|
|
533
425
|
|
|
534
426
|
No. The internal mechanism of **AtomicXCore** ensures that as long as you pass in the same `liveID`, you always get the same `BarrageStore` instance for that live room. You do not need to manage singletons manually.
|
|
@@ -544,7 +436,6 @@ No. The internal mechanism of **AtomicXCore** ensures that as long as you pass i
|
|
|
544
436
|
|
|
545
437
|
4. **Network issues**: Ensure the device's network connection is normal. Message sending depends on network connectivity.
|
|
546
438
|
|
|
547
|
-
|
|
548
439
|
### How can new viewers see historical barrage messages sent before they joined the live room?
|
|
549
440
|
|
|
550
441
|
`AtomicXCore` supports retrieving historical chat messages, but you need to enable this feature in the **server console**. Once configured, the SDK handles everything automatically—no additional client code is required.
|
|
@@ -554,12 +445,8 @@ No. The internal mechanism of **AtomicXCore** ensures that as long as you pass i
|
|
|
554
445
|
|
|
555
446
|
2. On the Live Configuration page, select **View Past Messages**, and set Previous Messages Viewable to specify the number of messages (up to a maximum of 50) that new viewers can see.
|
|
556
447
|
|
|
557
|
-
|
|
558
|
-

|
|
559
|
-
|
|
560
|
-
|
|
561
448
|
#### **Step 2: Automatic Retrieval on the Client Side**
|
|
562
449
|
|
|
563
450
|
After completing the above configuration, **no changes are needed** in your client code.
|
|
564
451
|
|
|
565
|
-
When a new user joins the live room, `AtomicXCore` automatically retrieves the configured number of historical chat messages in the background. These messages are delivered to the UI layer through the `BarrageState` subscription channel, just like real-time messages. Your application will receive and display these historical chat messages in the same way as live messages.
|
|
452
|
+
When a new user joins the live room, `AtomicXCore` automatically retrieves the configured number of historical chat messages in the background. These messages are delivered to the UI layer through the `BarrageState` subscription channel, just like real-time messages. Your application will receive and display these historical chat messages in the same way as live messages.
|