@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
|
@@ -17,9 +17,6 @@ By default, when autoplay fails, the SDK will pop up to guide the user to intera
|
|
|
17
17
|
|
|
18
18
|
The popup window provided by the SDK is adapted to desktop and mobile browser, and the style is as follows:
|
|
19
19
|
|
|
20
|
-

|
|
21
|
-

|
|
22
|
-
|
|
23
20
|
- The SDK will switch the Chinese and English popup prompts according to the value of [navigator.language](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language).
|
|
24
21
|
- When the user clicks "OK", the SDK automatically calls the relevant interface to resume playback.
|
|
25
22
|
- In order to ensure that the popup window is displayed on the top layer as much as possible, its z-index value is 1500.
|
|
@@ -85,7 +82,6 @@ The default autoplay policy in Android and iOS Webview may be different to the b
|
|
|
85
82
|
|
|
86
83
|
---
|
|
87
84
|
|
|
88
|
-
|
|
89
85
|
# Handle Firewall Restriction
|
|
90
86
|
|
|
91
87
|
## Function Description
|
|
@@ -131,12 +127,8 @@ trtc.on(TRTC.EVENT.ERROR, error => {
|
|
|
131
127
|
| A | Users can access a specific external proxy server on the network | The proxy server is deployed on the external network, and the internal network firewall needs to open a whitelist to allow internal network users to access the external proxy server. |
|
|
132
128
|
| B | Users can only access an internal proxy server on the network | The proxy server is deployed on the internal network, and the internal network firewall needs to open a whitelist to allow the internal proxy server to access the external network. |
|
|
133
129
|
|
|
134
|
-

|
|
135
|
-
|
|
136
130
|
*Example of Solution 2-A*
|
|
137
131
|
|
|
138
|
-

|
|
139
|
-
|
|
140
132
|
*Example of Solution 2-B*
|
|
141
133
|
|
|
142
134
|
### Setting up a proxy server
|
|
@@ -144,7 +136,7 @@ trtc.on(TRTC.EVENT.ERROR, error => {
|
|
|
144
136
|
After you have set up Nginx and Turn server, you can refer to the following example to set up a proxy server.
|
|
145
137
|
|
|
146
138
|
```javascript
|
|
147
|
-
const trtc = TRTC.create();
|
|
139
|
+
const trtc = TRTC.create();
|
|
148
140
|
await trtc.enterRoom({
|
|
149
141
|
...,
|
|
150
142
|
proxy: {
|
|
@@ -153,7 +145,7 @@ await trtc.enterRoom({
|
|
|
153
145
|
// Set up a turn server to relay media data packets between the SDK and the TRTC backend. 14.3.3.3:3478 is the IP address and port of the turn server.
|
|
154
146
|
turnServer: { url: '14.3.3.3:3478', username: 'turn', credential: 'turn', credentialType: 'password' },
|
|
155
147
|
// By default, the SDK will connect to trtc server directly, if connection failed, then SDK will try to connect the TURN server to relay the media data. You can set 'relay' to force the connection through the TURN server.
|
|
156
|
-
iceTransportPolicy: 'all',
|
|
148
|
+
iceTransportPolicy: 'all',
|
|
157
149
|
// By default, the SDK reports logs to the yun.tim.qq.com domain name. If this domain name cannot be accessed in your internal network, you need to whitelist the domain name or configure the following log proxy.
|
|
158
150
|
// Set up a log reporting proxy. Logs are key data for troubleshooting, so be sure to set up this proxy.
|
|
159
151
|
loggerProxy: 'https://proxy.example.com/logger/',
|
|
@@ -172,29 +164,29 @@ await trtc.enterRoom({
|
|
|
172
164
|
2. **Configure Nginx server**
|
|
173
165
|
|
|
174
166
|
```sh
|
|
175
|
-
vi /etc/nginx/nginx.conf
|
|
167
|
+
vi /etc/nginx/nginx.conf
|
|
176
168
|
```
|
|
177
169
|
|
|
178
170
|
```nginx
|
|
179
171
|
http {
|
|
180
|
-
server {
|
|
172
|
+
server {
|
|
181
173
|
# The access domain name of the Nginx server
|
|
182
|
-
server_name proxy.example.com;
|
|
174
|
+
server_name proxy.example.com;
|
|
183
175
|
# The access port of the Nginx server
|
|
184
|
-
listen 443;
|
|
185
|
-
ssl on;
|
|
176
|
+
listen 443;
|
|
177
|
+
ssl on;
|
|
186
178
|
location /ws/ { # Corresponding to the websocketProxy parameter in setProxyServer
|
|
187
179
|
proxy_pass https://signaling.rtc.qq.com/; # TRTC server
|
|
188
|
-
proxy_http_version 1.1;
|
|
189
|
-
proxy_set_header Upgrade $http_upgrade;
|
|
190
|
-
proxy_set_header Connection "upgrade";
|
|
180
|
+
proxy_http_version 1.1;
|
|
181
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
182
|
+
proxy_set_header Connection "upgrade";
|
|
191
183
|
}
|
|
192
184
|
location /logger/ { # Corresponding to the loggerProxy parameter in setProxyServer
|
|
193
185
|
proxy_pass https://yun.tim.qq.com/;
|
|
194
186
|
}
|
|
195
187
|
# SSL certificate corresponding to the domain name, used for HTTPS, users need to apply for it themselves
|
|
196
|
-
ssl_certificate ./crt/1_proxy.trtcapi.com_bundle.crt;
|
|
197
|
-
ssl_certificate_key ./crt/2_proxy.trtcapi.com.key;
|
|
188
|
+
ssl_certificate ./crt/1_proxy.trtcapi.com_bundle.crt;
|
|
189
|
+
ssl_certificate_key ./crt/2_proxy.trtcapi.com.key;
|
|
198
190
|
}
|
|
199
191
|
}
|
|
200
192
|
```
|
|
@@ -277,7 +269,7 @@ You can search for turn server setup tutorials on the Internet for setup, or you
|
|
|
277
269
|
# Check if turn is started successfully
|
|
278
270
|
ps aux | grep coturn
|
|
279
271
|
# If you want to restart the service, execute
|
|
280
|
-
service coturn restart
|
|
272
|
+
service coturn restart
|
|
281
273
|
```
|
|
282
274
|
|
|
283
275
|
5. **Configure the firewall for the turn server, open inbound port 3478 (TCP & UDP), and outbound ports (UDP) between min and max ports in the configuration above.**
|
|
@@ -288,8 +280,6 @@ You can search for turn server setup tutorials on the Internet for setup, or you
|
|
|
288
280
|
|
|
289
281
|
Use this [test page](https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/) to test whether the turn server is accessible. If the result shows "done" as shown in the screenshot below, the turn server is working properly.
|
|
290
282
|
|
|
291
|
-

|
|
292
|
-
|
|
293
283
|
### Solution 2-B
|
|
294
284
|
|
|
295
285
|
Solution B builds the Nginx proxy in the same way as Scenario A. There are two main differences:
|
|
@@ -306,4 +296,4 @@ Solution B builds the Nginx proxy in the same way as Scenario A. There are two m
|
|
|
306
296
|
2. Firewall configuration:
|
|
307
297
|
|
|
308
298
|
- For the Nginx server, the domain name whitelist needs to be configured in the company's intranet firewall to allow the Nginx server to access TRTC's related domain names. Refer to: [TRTC Web SDK domain and port whitelist](https://trtc.io/document/59667?platform=web&product=rtcengine&menulabel=coresdk)
|
|
309
|
-
- For the Turn Server, allow the Turn Server to access the external network.
|
|
299
|
+
- For the Turn Server, allow the Turn Server to access the external network.
|
|
@@ -14,8 +14,6 @@ The TRTC object is created using [TRTC.create()](#create) and provides core real
|
|
|
14
14
|
|
|
15
15
|
The TRTC lifecycle is shown in the following figure:
|
|
16
16
|
|
|
17
|
-

|
|
18
|
-
|
|
19
17
|
## Methods
|
|
20
18
|
|
|
21
19
|
### create()
|
|
@@ -2422,4 +2420,4 @@ Default 'smooth' first for camera, 'default' clear first for screen sharing
|
|
|
2422
2420
|
|
|
2423
2421
|
When the network is weak, the video encoding strategy takes 'clear' first, i.e., the priority is to preserve resolution.
|
|
2424
2422
|
|
|
2425
|
-
Default 'smooth' first for camera, 'default' clear first for screen sharing
|
|
2423
|
+
Default 'smooth' first for camera, 'default' clear first for screen sharing
|
|
@@ -59,7 +59,6 @@ When you use the TRTC Web SDK, you will encounter the following concepts:
|
|
|
59
59
|
- In the event callback function, call the [trtc.startRemoteVideo()](TRTC.html#startRemoteVideo) method to play the remote video.
|
|
60
60
|
|
|
61
61
|
The following figure shows the basic API call process for implementing audio and video communication:
|
|
62
|
-

|
|
63
62
|
|
|
64
63
|
## Creating a TRTC object
|
|
65
64
|
|
|
@@ -137,7 +136,7 @@ trtc.on(TRTC.EVENT.REMOTE_VIDEO_AVAILABLE, ({ userId, streamType }) => {
|
|
|
137
136
|
Call the [trtc.exitRoom()](TRTC.html#exitRoom) method to exit the room and end the audio and video call.
|
|
138
137
|
|
|
139
138
|
```javascript
|
|
140
|
-
await trtc.exitRoom();
|
|
139
|
+
await trtc.exitRoom();
|
|
141
140
|
// After the exit is successful, if you do not need to use the trtc instance later, you can call the trtc.destroy method to destroy the instance and release related resources in a timely manner. The destroyed trtc instance cannot be used again and a new instance needs to be created.
|
|
142
141
|
trtc.destroy();
|
|
143
142
|
```
|
|
@@ -266,8 +265,6 @@ await trtcA.startScreenShare({ option: { systemAudio: true }});
|
|
|
266
265
|
|
|
267
266
|
Check `Share audio` in the pop-up dialog box, and the system audio will be mixed with the local microphone and published. Other users in the room will receive the TRTC.EVENT.REMOTE_AUDIO_AVALIABLE event.
|
|
268
267
|
|
|
269
|
-

|
|
270
|
-
|
|
271
268
|
### 5. Stop Screen Sharing
|
|
272
269
|
|
|
273
270
|
```javascript
|
|
@@ -282,8 +279,6 @@ trtcB.on(TRTC.EVENT.REMOTE_VIDEO_UNAVAILABLE, ({ userId, streamType }) => {
|
|
|
282
279
|
|
|
283
280
|
In addition, users may also stop screen sharing through the browser's own button, so the screen sharing stream needs to listen for the screen sharing stop event and respond accordingly.
|
|
284
281
|
|
|
285
|
-

|
|
286
|
-
|
|
287
282
|
```javascript
|
|
288
283
|
// Listen for screen sharing stop event
|
|
289
284
|
trtcA.on(TRTC.EVENT.SCREEN_SHARE_STOPPED, () => {
|
|
@@ -386,7 +381,7 @@ Reference: [webkit issue](https://bugs.webkit.org/show_bug.cgi?id=198040).
|
|
|
386
381
|
async function onClick() {
|
|
387
382
|
// It is recommended to execute the collection logic first when onClick is executed
|
|
388
383
|
await trtcA.startScreenShare();
|
|
389
|
-
await trtcA.enterRoom({
|
|
384
|
+
await trtcA.enterRoom({
|
|
390
385
|
roomId: 123123,
|
|
391
386
|
sdkAppId: 140000000, // Fill in your sdkAppId
|
|
392
387
|
userId: 'userA', // Fill in your userId
|
|
@@ -395,7 +390,7 @@ async function onClick() {
|
|
|
395
390
|
}
|
|
396
391
|
// bad
|
|
397
392
|
async function onClick() {
|
|
398
|
-
await trtcA.enterRoom({
|
|
393
|
+
await trtcA.enterRoom({
|
|
399
394
|
roomId: 123123,
|
|
400
395
|
sdkAppId: 140000000, // Fill in your sdkAppId
|
|
401
396
|
userId: 'userA', // Fill in your userId
|
|
@@ -488,5 +483,3 @@ await trtc.updateLocalVideo({
|
|
|
488
483
|
| 4K | 3840 x 2160 | 30 | 9000 | |
|
|
489
484
|
|
|
490
485
|
- Due to device and browser limitations, the video resolution may not match exactly. In this case, the browser will automatically adjust the resolution to be close to the resolution corresponding to the Profile.
|
|
491
|
-
|
|
492
|
-
|
|
@@ -16,8 +16,6 @@ Please visit the [TRTC console](https://console.trtc.io/) and create an RTC Engi
|
|
|
16
16
|
|
|
17
17
|
After your application created, you can get your **SDKAppID** and **SDKSecretKey** in Basic information , which are used to run demo.
|
|
18
18
|
|
|
19
|
-

|
|
20
|
-
|
|
21
19
|
## Step 3: Run the Demo
|
|
22
20
|
|
|
23
21
|
1. **Run demo online**
|
|
@@ -44,8 +42,6 @@ After your application created, you can get your **SDKAppID** and **SDKSecretKey
|
|
|
44
42
|
|
|
45
43
|
(2) Fill in the SDKAppId and SDKSecretKey obtained in [Step 2](#Step-2.-Get-your-SDKAppId-and-SDKSecretKey) on the page opened in the browser.
|
|
46
44
|
|
|
47
|
-

|
|
48
|
-
|
|
49
45
|
(3) Functional experience
|
|
50
46
|
|
|
51
47
|
- Click the [Enter Room] button to enter the room.
|
|
@@ -60,4 +56,4 @@ After your application created, you can get your **SDKAppID** and **SDKSecretKey
|
|
|
60
56
|
>
|
|
61
57
|
> - To deploy to the public network for experience, you need to access it through HTTPS protocol, that is, `https://domain/xxx`. For the reason, please refer to the document [Page Access Protocol Restriction Description](./tutorial-05-info-browser.html#h2-3).
|
|
62
58
|
> - Currently, the desktop Chrome browser supports TRTC Web SDK's related features more completely, so it is recommended to use Chrome browser for experience, please refer to the document [Browser Compatibility Information](./tutorial-05-info-browser.html#h2-2).
|
|
63
|
-
> - The correct way to generate UserSig is to integrate the UserSig calculation code into your server and provide an interface for the App. When you need UserSig, your App sends a request to the business server to obtain a dynamic UserSig. For more details, please refer to [Generating UserSig on the Server](https://trtc.io/document/35166?platform=web&product=rtcengine&menulabel=coresdk).
|
|
59
|
+
> - The correct way to generate UserSig is to integrate the UserSig calculation code into your server and provide an interface for the App. When you need UserSig, your App sends a request to the business server to obtain a dynamic UserSig. For more details, please refer to [Generating UserSig on the Server](https://trtc.io/document/35166?platform=web&product=rtcengine&menulabel=coresdk).
|
|
@@ -62,7 +62,6 @@ const videoTrack = stream.getVideoTracks()[0];
|
|
|
62
62
|
trtc.startLocalVideo({ option:{ videoTrack } });
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
|
|
66
65
|
## Custom Rendering
|
|
67
66
|
|
|
68
67
|
By default, when calling {@link TRTC#startLocalVideo startLocalVideo()} or {@link TRTC#startRemoteVideo startRemoteVideo()}, you need to pass in the view parameter. The SDK will create a `video` tag under the specified element tag to play the video.
|
|
@@ -81,7 +80,7 @@ If you need to customize the rendering, and do not need the SDK to play the vide
|
|
|
81
80
|
trtc.on(TRTC.EVENT.TRACK, event => {
|
|
82
81
|
const isLocal = event.userId === ''; // userId === '' means event.track is a local track, otherwise it's a remote track
|
|
83
82
|
const isSubStream = event.streamType === TRTC.TYPE.STREAM_TYPE_SUB; // Usually the sub stream is a screen-sharing video stream.
|
|
84
|
-
const mediaStreamTrack = event.track;
|
|
83
|
+
const mediaStreamTrack = event.track;
|
|
85
84
|
const kind = event.track.kind; // audio or video
|
|
86
85
|
})
|
|
87
86
|
```
|
|
@@ -17,10 +17,8 @@ By default, when autoplay fails, the SDK will pop up to guide the user to intera
|
|
|
17
17
|
The popup window provided by the SDK is adapted to desktop and mobile browser, and the style is as follows:
|
|
18
18
|
|
|
19
19
|
<div style="display:flex;align-items:center;">
|
|
20
|
-
<img src="./assets/autoplay-dialog-pc-en.png" style="width:40%;max-width:450px;margin-right:16px;" />
|
|
21
|
-
<img src="./assets/autoplay-dialog-en.png" style="width:30%;max-width:300px;" />
|
|
22
|
-
</div>
|
|
23
20
|
|
|
21
|
+
</div>
|
|
24
22
|
|
|
25
23
|
- The SDK will switch the Chinese and English popup prompts according to the value of [navigator.language](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language).
|
|
26
24
|
|
|
@@ -84,4 +82,4 @@ function showCustomDialog(event) {
|
|
|
84
82
|
The default autoplay policy in Android and iOS Webview may be different to the browser. You can refer to the following document to turn off autoplay restrictions in your App.
|
|
85
83
|
|
|
86
84
|
- Android Webview: Call [setMediaPlaybackRequiresUserGesture(false)](https://developer.android.com/reference/android/webkit/WebSettings#setMediaPlaybackRequiresUserGesture(boolean)).
|
|
87
|
-
- iOS Webview: Set [mediaTypesRequiringUserActionForPlayback](https://developer.apple.com/documentation/webkit/wkwebviewconfiguration/1851524-mediatypesrequiringuseractionfor) to WKAudiovisualMediaTypeNone.
|
|
85
|
+
- iOS Webview: Set [mediaTypesRequiringUserActionForPlayback](https://developer.apple.com/documentation/webkit/wkwebviewconfiguration/1851524-mediatypesrequiringuseractionfor) to WKAudiovisualMediaTypeNone.
|
|
@@ -23,7 +23,7 @@ TRTC.isSupported().then(checkResult => {
|
|
|
23
23
|
|
|
24
24
|
### Option 1: Use Device Detector Plugin (including default UI)
|
|
25
25
|
|
|
26
|
-
The device detector plugin is used to test the user's media device(camera, microphone, speaker) and network which is recommended to be used before the user enters the room.
|
|
26
|
+
The device detector plugin is used to test the user's media device(camera, microphone, speaker) and network which is recommended to be used before the user enters the room.
|
|
27
27
|
|
|
28
28
|
> - Support TRTC Web SDK version >= v5.8.0
|
|
29
29
|
> - The plugin includes a default UI. If the UI does not meet your product design requirements, you can refer to Option 2 for a custom UI implementation.
|
|
@@ -38,7 +38,7 @@ const trtc = TRTC.create({ plugins: [DeviceDetector] });
|
|
|
38
38
|
const result = await trtc.startPlugin('DeviceDetector');
|
|
39
39
|
|
|
40
40
|
// 2. Test Media Device & Network Quality
|
|
41
|
-
const options = {
|
|
41
|
+
const options = {
|
|
42
42
|
networkDetect: { sdkAppId, userId, userSig }
|
|
43
43
|
}
|
|
44
44
|
const resultWithNetwork = await trtc.startPlugin('DeviceDetector', options);
|
|
@@ -57,7 +57,6 @@ const resultWithNetwork = await trtc.startPlugin('DeviceDetector', options);
|
|
|
57
57
|
| cameraDetect | object | Optional | Optional. Camera detection options, see cameraDetect options below|
|
|
58
58
|
| networkDetect | object | Optional | Optional. Network detection options, see networkDetect options below|
|
|
59
59
|
|
|
60
|
-
|
|
61
60
|
###### options.mirror(optional)
|
|
62
61
|
|
|
63
62
|
Enable the mirror checkbox during camera detection
|
|
@@ -126,7 +125,7 @@ The device connection checks if the user's device has a camera, microphone, and
|
|
|
126
125
|
|
|
127
126
|
```javascript
|
|
128
127
|
import TRTC from 'trtc-sdk-v5';
|
|
129
|
-
|
|
128
|
+
|
|
130
129
|
const cameraList = await TRTC.getCameraList();
|
|
131
130
|
const micList = await TRTC.getMicrophoneList();
|
|
132
131
|
const hasCameraDevice = cameraList.some(camera => camera.deviceId !== '');
|
|
@@ -218,4 +217,3 @@ Reference: [Network Quality Detection before enterRoom](./tutorial-24-advanced-n
|
|
|
218
217
|
## TRTC Capability Detection Page
|
|
219
218
|
|
|
220
219
|
You can use the [TRTC Detection Page](https://web.sdk.qcloud.com/trtc/webrtc/demo/detect/index.html) where you are currently using the TRTC SDK to detect the current environment. You can also click the "Generate Report" button to get a report of the current environment for environment detection or troubleshooting.
|
|
221
|
-
|
|
@@ -31,8 +31,6 @@ trtc.on(TRTC.EVENT.NETWORK_QUALITY, event => {
|
|
|
31
31
|
|
|
32
32
|
### API call sequence
|
|
33
33
|
|
|
34
|
-

|
|
35
|
-
|
|
36
34
|
### Code example
|
|
37
35
|
|
|
38
36
|
```js
|
|
@@ -70,8 +68,6 @@ async function testUplinkNetworkQuality() {
|
|
|
70
68
|
uplinkTRTC.startLocalVideo();
|
|
71
69
|
}
|
|
72
70
|
|
|
73
|
-
|
|
74
|
-
|
|
75
71
|
// 2. Detect downlink network quality
|
|
76
72
|
async function testDownlinkNetworkQuality() {
|
|
77
73
|
downlinkTRTC = TRTC.create();
|
|
@@ -111,7 +107,7 @@ setTimeout(() => {
|
|
|
111
107
|
validDownlinkNetworkQualitiesList.reduce((value, current) => value + current, 0) / validDownlinkNetworkQualitiesList.length
|
|
112
108
|
);
|
|
113
109
|
}
|
|
114
|
-
|
|
110
|
+
|
|
115
111
|
// Detection is over, clean up related states.
|
|
116
112
|
uplinkTRTC.exitRoom();
|
|
117
113
|
downlinkTRTC.exitRoom();
|
|
@@ -136,5 +132,3 @@ After the above steps, you can get the average uplink network quality and the av
|
|
|
136
132
|
> You can also reduce bandwidth consumption through the following strategies:
|
|
137
133
|
> - If the uplink network quality is greater than 3, you can reduce the bitrate through the [TRTC.updateLocalVideo()](./TRTC.html#updateLocalVideo) interface or close the video through the [TRTC.stopLocalVideo()](./TRTC.html#stopLocalVideo) method to reduce uplink bandwidth consumption.
|
|
138
134
|
> - If the downlink network quality is greater than 3, you can reduce the downlink bandwidth consumption by subscribing to a small stream (refer to: [Enable Small Stream Transmission](./tutorial-27-advanced-small-stream.html)) or only subscribing to audio.
|
|
139
|
-
|
|
140
|
-
|
|
@@ -9,7 +9,6 @@ This article mainly introduces how to detect the behavior of users inserting, un
|
|
|
9
9
|
> 2. If the camera/microphone is unplugged and there are no available media devices, the SDK will detect the device insertion behavior. If a new available media device is inserted, the SDK will try to use the newly inserted media device to restore the collection and push the stream.
|
|
10
10
|
> 3. If the recovery fails, an error [TRTC.ERROR_CODE.DEVICE_ERROR](./module-ERROR_CODE.html#.DEVICE_ERROR) will be thrown, and the extraCode will be 5308 and 5309.
|
|
11
11
|
|
|
12
|
-
|
|
13
12
|
## Implementation Process
|
|
14
13
|
|
|
15
14
|
### Detect device insertion, removal, and startup
|
|
@@ -96,4 +95,3 @@ trtc.on(TRTC.EVENT.ERROR, error => {
|
|
|
96
95
|
}
|
|
97
96
|
})
|
|
98
97
|
```
|
|
99
|
-
|
|
@@ -9,9 +9,9 @@ This document describes how to use the CDNStreaming plugin to implement cloud-ba
|
|
|
9
9
|
3. In the [TRTC Console - Advanced Features](https://console.trtc.io/features), click "Relay to CDN", and enable the "Enable relay to CDN" switch.
|
|
10
10
|
- When the "Global auto relay" switch is enabled, all upstream audio and video streams in TRTC will be automatically relayed to Tencent Cloud CDN ("Global Auto relay" mode).
|
|
11
11
|
- When the "Global auto relay" switch is disabled, you can use this plugin or the server REST API to relay specific audio and video streams to the CDN and specify the playback address ("Designated Stream relay" mode).
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
<div align="center">
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
</div>
|
|
16
16
|
|
|
17
17
|
## Getting Started
|
|
@@ -133,16 +133,12 @@ This plugin sends a command to Tencent Cloud's transcoding server to mix multipl
|
|
|
133
133
|
- `encoding`: Output stream quality (resolution, bitrate, framerate)
|
|
134
134
|
- `mix`: Layout configuration for mixed streams
|
|
135
135
|
|
|
136
|
-
<img src="https://cloudcache.intl.tencent-cloud.com/cms/backend-cms/fb99be746bf211efbd54525400f69702.png" style="width: 1000px">
|
|
137
|
-
|
|
138
136
|
### Example Workflow
|
|
139
137
|
|
|
140
138
|
1. Call `startPlugin`, the mixing layout is as shown in Figure A
|
|
141
139
|
2. Call `updatePlugin` to add screen sharing, the mixing layout is as shown in Figure B
|
|
142
140
|
3. Call `stopPlugin` when mixing is no longer needed
|
|
143
141
|
|
|
144
|
-
<img src="https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100025252093/8f489b66a80411f0bf2352540044a08e.png" style="width: 600px">
|
|
145
|
-
|
|
146
142
|
### Configuration Guide
|
|
147
143
|
|
|
148
144
|
1. Set `target.publishMode` to `PublishMode.PublishMixStreamToCDN`
|
|
@@ -151,7 +147,7 @@ This plugin sends a command to Tencent Cloud's transcoding server to mix multipl
|
|
|
151
147
|
|
|
152
148
|
3. Configure `mix.backgroundColor` and `mix.backgroundImage` for background
|
|
153
149
|
> Background images need to be uploaded in [TRTC Console - Advanced Features](https://console.trtc.io/features) > Material management. Use the "Image ID" as string for backgroundImage (e.g., "63").
|
|
154
|
-
>
|
|
150
|
+
>
|
|
155
151
|
|
|
156
152
|
4. Configure `mix.audioMixUserList` for audio mixing (empty = mix all users)
|
|
157
153
|
|
|
@@ -279,7 +275,7 @@ In [TRTC Console - Advanced Features](https://console.trtc.io/features), find yo
|
|
|
279
275
|
- Use your SDKAppId as `appId`
|
|
280
276
|
|
|
281
277
|
<div align="center">
|
|
282
|
-
|
|
278
|
+
|
|
283
279
|
</div>
|
|
284
280
|
|
|
285
281
|
### Step 3: Start Publishing
|
|
@@ -39,10 +39,10 @@ When calling [startRemoteVideo](./TRTC.html#startRemoteVideo), set the small par
|
|
|
39
39
|
|
|
40
40
|
```js
|
|
41
41
|
trtc.on(TRTC.EVENT.REMOTE_VIDEO_AVAILABLE, ({ userId, streamType }) => {
|
|
42
|
-
trtc.startRemoteVideo({
|
|
42
|
+
trtc.startRemoteVideo({
|
|
43
43
|
view: '', // Pass in the elementId or element instance object of the video container.
|
|
44
|
-
userId,
|
|
45
|
-
streamType,
|
|
44
|
+
userId,
|
|
45
|
+
streamType,
|
|
46
46
|
option: { small: true }
|
|
47
47
|
});
|
|
48
48
|
})
|
|
@@ -52,17 +52,17 @@ Switch to the specified userId's small stream when filling in the small paramete
|
|
|
52
52
|
|
|
53
53
|
```js
|
|
54
54
|
// Switch to "big view" playback when the user clicks the "small view".
|
|
55
|
-
await trtc.updateRemoteVideo({
|
|
55
|
+
await trtc.updateRemoteVideo({
|
|
56
56
|
view: '', // Pass in the elementId or element instance object of the "big view" video container.
|
|
57
57
|
userId: '', // Pass in the userId of the remote user.
|
|
58
|
-
streamType: TRTC.TYPE.STREAM_TYPE_MAIN,
|
|
58
|
+
streamType: TRTC.TYPE.STREAM_TYPE_MAIN,
|
|
59
59
|
option: { small: false }
|
|
60
60
|
})
|
|
61
61
|
// Switch to "small view" playback when the user clicks the "big view".
|
|
62
|
-
await trtc.updateRemoteVideo({
|
|
62
|
+
await trtc.updateRemoteVideo({
|
|
63
63
|
view: '', // Pass in the elementId or element instance object of the "small view" video container.
|
|
64
64
|
userId: '', // Pass in the userId of the remote user.
|
|
65
|
-
streamType: TRTC.TYPE.STREAM_TYPE_MAIN,
|
|
65
|
+
streamType: TRTC.TYPE.STREAM_TYPE_MAIN,
|
|
66
66
|
option: { small: true }})
|
|
67
67
|
```
|
|
68
68
|
|
|
@@ -98,11 +98,11 @@ Assuming your DOM structure for playing videos is as follows:
|
|
|
98
98
|
|
|
99
99
|
```js
|
|
100
100
|
trtc.on(TRTC.EVENT.REMOTE_VIDEO_AVAILABLE, ({ userId, streamType }) => {
|
|
101
|
-
trtc.startRemoteVideo({
|
|
101
|
+
trtc.startRemoteVideo({
|
|
102
102
|
view: 'view1_main',
|
|
103
|
-
userId,
|
|
104
|
-
streamType,
|
|
105
|
-
option: {
|
|
103
|
+
userId,
|
|
104
|
+
streamType,
|
|
105
|
+
option: {
|
|
106
106
|
small: true,
|
|
107
107
|
receiveWhenViewVisible: true, // Enable "only subscribe video streams from the visible area"
|
|
108
108
|
viewRoot: document.getElementById('view-list') // Pass in the first-level parent element of all view list, which is used to calculate the reference relationship between view and viewRoot and check whether the view is visible. The default value is document.body.
|
|
@@ -8,94 +8,18 @@ This document primarily describes how to use the beauty plugin.
|
|
|
8
8
|
- [TRTC SDK](https://www.npmjs.com/package/trtc-sdk-v5) version must be >= 5.5.0
|
|
9
9
|
- System and configuration requirements for various platforms are as follows:
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<td rowspan="1" colspan="1">Remarks</td>
|
|
24
|
-
</tr>
|
|
25
|
-
|
|
26
|
-
<tr>
|
|
27
|
-
<td rowspan="8" colspan="1">Web</td>
|
|
28
|
-
|
|
29
|
-
<td rowspan="2" colspan="1">Windows</td>
|
|
30
|
-
|
|
31
|
-
<td rowspan="2" colspan="1">Chrome 90+<br>Firefox 90+<br>Edge 97+</td>
|
|
32
|
-
|
|
33
|
-
<td rowspan="1" colspan="1">30</td>
|
|
34
|
-
|
|
35
|
-
<td rowspan="1" colspan="1">Memory: 16GB<br>CPU: i5-10500<br>GPU: Dedicated 2GB</td>
|
|
36
|
-
|
|
37
|
-
<td rowspan="3" colspan="1">It is recommended to use the latest version of Chrome browser<br> <b> (Enable hardware acceleration in the browser)</b></td>
|
|
38
|
-
</tr>
|
|
39
|
-
|
|
40
|
-
<tr>
|
|
41
|
-
<td rowspan="1" colspan="1">15</td>
|
|
42
|
-
|
|
43
|
-
<td rowspan="1" colspan="1">Memory: 8GB<br>CPU: i3-8300<br>GPU: Integrated Intel 1GB</td>
|
|
44
|
-
</tr>
|
|
45
|
-
|
|
46
|
-
<tr>
|
|
47
|
-
<td rowspan="1" colspan="1">Mac</td>
|
|
48
|
-
|
|
49
|
-
<td rowspan="1" colspan="1">Chrome 98+<br>Firefox 96+<br>Safari 14+</td>
|
|
50
|
-
|
|
51
|
-
<td rowspan="1" colspan="1">30</td>
|
|
52
|
-
|
|
53
|
-
<td rowspan="1" colspan="1">2019 MacBook<br>Memory: 16GB (2667MHz)<br>CPU: i7 (6-core 2.60GHz)<br>GPU: AMD Radeon 5300M</td>
|
|
54
|
-
</tr>
|
|
55
|
-
|
|
56
|
-
<tr>
|
|
57
|
-
<td rowspan="3" colspan="1">Android</td>
|
|
58
|
-
|
|
59
|
-
<td rowspan="3" colspan="1">Chrome<br>Firefox Browser
|
|
60
|
-
|
|
61
|
-
<td rowspan="1" colspan="1">30</td>
|
|
62
|
-
|
|
63
|
-
<td rowspan="1" colspan="1">High-end devices (e.g., Qualcomm Snapdragon 8 Gen1)</td>
|
|
64
|
-
|
|
65
|
-
<td rowspan="3" colspan="1">It is recommended to use Chrome, or Firefox browsers and other mainstream browsers<br>
|
|
66
|
-
</tr>
|
|
67
|
-
|
|
68
|
-
<tr>
|
|
69
|
-
<td rowspan="1" colspan="1">20</td>
|
|
70
|
-
|
|
71
|
-
<td rowspan="1" colspan="1">Mid-range devices (e.g., MediaTek Dimensity 8000-MAX)</td>
|
|
72
|
-
</tr>
|
|
73
|
-
|
|
74
|
-
<tr>
|
|
75
|
-
<td rowspan="1" colspan="1">10</td>
|
|
76
|
-
|
|
77
|
-
<td rowspan="1" colspan="1">Low-end devices (e.g., Qualcomm Snapdragon 660)</td>
|
|
78
|
-
</tr>
|
|
79
|
-
|
|
80
|
-
<tr>
|
|
81
|
-
<td rowspan="2" colspan="1">iOS</td>
|
|
82
|
-
|
|
83
|
-
<td rowspan="2" colspan="1">Chrome<br>Safari<br>Firefox</td>
|
|
84
|
-
|
|
85
|
-
<td rowspan="1" colspan="1">30</td>
|
|
86
|
-
|
|
87
|
-
<td rowspan="1" colspan="1">iPhone 13</td>
|
|
88
|
-
|
|
89
|
-
<td rowspan="2" colspan="1">- Requires iOS 14.4 or above<br>- It is recommended to use Chrome or Safari browsers<br></td>
|
|
90
|
-
</tr>
|
|
91
|
-
|
|
92
|
-
<tr>
|
|
93
|
-
<td rowspan="1" colspan="1">20</td>
|
|
94
|
-
|
|
95
|
-
<td rowspan="1" colspan="1">iPhone XR</td>
|
|
96
|
-
</tr>
|
|
97
|
-
|
|
98
|
-
</table>
|
|
11
|
+
| Platform | Operating System | Browser Version | FPS | Recommended Configuration | Remarks |
|
|
12
|
+
| --- | --- | --- | --- | --- | --- |
|
|
13
|
+
| Web | Windows | Chrome 90+<br>Firefox 90+<br>Edge 97+ | 30 | Memory: 16GB<br>CPU: i5-10500<br>GPU: Dedicated 2GB | It is recommended to use the latest version of Chrome browser<br><b> (Enable hardware acceleration in the browser)</b> |
|
|
14
|
+
| 15 | Memory: 8GB<br>CPU: i3-8300<br>GPU: Integrated Intel 1GB | | | | |
|
|
15
|
+
| Mac | Chrome 98+<br>Firefox 96+<br>Safari 14+ | 30 | 2019 MacBook<br>Memory: 16GB (2667MHz)<br>CPU: i7 (6-core 2.60GHz)<br>GPU: AMD Radeon 5300M | | |
|
|
16
|
+
| Android | Chrome<br>Firefox Browser
|
|
17
|
+
|
|
18
|
+
<td rowspan="1" colspan="1">30 | High-end devices (e.g., Qualcomm Snapdragon 8 Gen1) | | | |
|
|
19
|
+
| 20 | Mid-range devices (e.g., MediaTek Dimensity 8000-MAX) | | | | |
|
|
20
|
+
| 10 | Low-end devices (e.g., Qualcomm Snapdragon 660) | | | | |
|
|
21
|
+
| iOS | Chrome<br>Safari<br>Firefox | 30 | iPhone 13 | - Requires iOS 14.4 or above<br>- It is recommended to use Chrome or Safari browsers | |
|
|
22
|
+
| 20 | iPhone XR | | | | |
|
|
99
23
|
|
|
100
24
|
## Implementation Steps
|
|
101
25
|
|
|
@@ -63,7 +63,7 @@ import TRTC from 'trtc-sdk-v5';
|
|
|
63
63
|
import { VirtualBackground } from 'trtc-sdk-v5/plugins/video-effect/virtual-background';
|
|
64
64
|
import { AIDenoiser } from 'trtc-sdk-v5/plugins/ai-denoiser';
|
|
65
65
|
|
|
66
|
-
const trtc = TRTC.create({
|
|
66
|
+
const trtc = TRTC.create({
|
|
67
67
|
plugins: [VirtualBackground, AIDenoiser],
|
|
68
68
|
assetsPath: 'https://your-cdn/assets' // If plugins require static assets
|
|
69
69
|
});
|
|
@@ -166,8 +166,8 @@ await trtc.updatePlugin('VideoMixer', {
|
|
|
166
166
|
});
|
|
167
167
|
|
|
168
168
|
// Publish mixed track
|
|
169
|
-
await trtc.startLocalVideo({
|
|
170
|
-
option: {
|
|
169
|
+
await trtc.startLocalVideo({
|
|
170
|
+
option: {
|
|
171
171
|
videoTrack: track,
|
|
172
172
|
profile: { width: 1920, height: 1080, bitrate: 2000 }
|
|
173
173
|
}
|
|
@@ -187,7 +187,7 @@ TRTCVideoDecoder automatically starts fallback logic on decode failure after reg
|
|
|
187
187
|
```javascript
|
|
188
188
|
import TRTCVideoDecoder from 'trtc-sdk-v5/plugins/video-decoder';
|
|
189
189
|
|
|
190
|
-
const trtc = TRTC.create({
|
|
190
|
+
const trtc = TRTC.create({
|
|
191
191
|
plugins: [TRTCVideoDecoder],
|
|
192
192
|
assetsPath: 'https://your-cdn/assets'
|
|
193
193
|
});
|
|
@@ -311,7 +311,7 @@ cp -r node_modules/trtc-sdk-v5/assets ./public/assets
|
|
|
311
311
|
Pass the asset path when creating TRTC instance:
|
|
312
312
|
|
|
313
313
|
```javascript
|
|
314
|
-
const trtc = TRTC.create({
|
|
314
|
+
const trtc = TRTC.create({
|
|
315
315
|
plugins: [VirtualBackground, AIDenoiser],
|
|
316
316
|
assetsPath: 'https://your-cdn.com/assets'
|
|
317
317
|
});
|