@tencent-rtc/mcp 1.3.9 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/{tuicallkit → callkit/preset}/android/integration.md +53 -365
- 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/{chatuikit → chatkit}/android/integration.md +28 -121
- 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 +18 -87
- 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/{voice → core-sdk/voice}/android/voice-audience-list.md +18 -89
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audio-effect.md +34 -192
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-barrage.md +28 -141
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-co-guest-interaction.md +50 -259
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-gift.md +75 -455
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-host-interaction.md +51 -265
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-integration.md +61 -427
- package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-room-list.md +33 -173
- package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-co-guest-interaction.md +44 -203
- package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-integration.md +56 -416
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audience-list.md +35 -111
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audio-effect.md +35 -193
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-barrage.md +31 -144
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-co-guest-interaction.md +43 -252
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-gift.md +79 -459
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-host-interaction.md +46 -264
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-integration.md +61 -445
- package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-room-list.md +32 -169
- 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 +21 -76
- 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/common/record_skill_session.js +58 -0
- package/tools/common/record_skill_session.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 -34
- 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 -41
- 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 -46
- 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/definitions/record_skill_session_def.js +31 -0
- package/tools/definitions/record_skill_session_def.js.map +1 -0
- package/tools/index.js +49 -61
- 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 +21 -1
- package/utils/report-cls-client.js.map +1 -1
- package/utils/report-es-client.js +2 -2
- package/resource/doc/chatuikit/android/workflow.md +0 -713
- 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/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 -733
- package/resource/doc/tuicallkit/android/workflow.md +0 -441
- 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/present-scenario-choice.js +0 -16
- package/tools/common/present-scenario-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 -75
- package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -63
- 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 -92
- 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/present_scenario_choice_def.js +0 -53
- package/tools/definitions/present_scenario_choice_def.js.map +0 -1
- package/tools/definitions/record_prompt_def.js +0 -58
- package/tools/definitions/record_prompt_def.js.map +0 -1
- package/tools/definitions/record_result_def.js +0 -46
- package/tools/definitions/record_result_def.js.map +0 -1
- package/tools/live/get-native-live-uikit-integration.js +0 -177
- 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 -194
- 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/iOS/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
|
@@ -6,69 +6,36 @@ This document guides you through building a basic live streaming app with host b
|
|
|
6
6
|
|
|
7
7
|
The following view hierarchy diagram illustrates the position and role of **LiveCoreView** within the live streaming interface:
|
|
8
8
|
|
|
9
|
-

|
|
10
|
-
|
|
11
|
-
|
|
12
9
|
## Core Concepts
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<td rowspan="1" colSpan="1" >**Key API / Property**</td>
|
|
20
|
-
</tr>
|
|
21
|
-
|
|
22
|
-
<tr>
|
|
23
|
-
<td rowspan="1" colSpan="1" >LiveCoreView</td>
|
|
24
|
-
|
|
25
|
-
<td rowspan="1" colSpan="1" >Handles publishing, playing, and rendering audio/video streams. Provides adapter interfaces for integrating custom UI components (e.g., user info, PK progress bar).</td>
|
|
26
|
-
|
|
27
|
-
<td rowspan="1" colSpan="1" >- `viewType`:<br> - `CoreViewType.PUSH_VIEW` (host publishing view)<br> - `CoreViewType.PLAY_VIEW` (audience playback view)<br>- `setLiveId()`: Binds the live room ID for this view.<br>- `setVideoViewAdapter():` Adapter for custom video display UI slots.</td>
|
|
28
|
-
</tr>
|
|
29
|
-
|
|
30
|
-
<tr>
|
|
31
|
-
<td rowspan="1" colSpan="1" >LiveListStore</td>
|
|
32
|
-
|
|
33
|
-
<td rowspan="1" colSpan="1" >Manages the complete live room lifecycle (create, join, leave), synchronizes state, and listens for passive events (e.g., live ended, kicked out).</td>
|
|
34
|
-
|
|
35
|
-
<td rowspan="1" colSpan="1" >- `createLive()`: Start live stream as host.<br>- `endLive()`: End live stream as host.<br>- `joinLive()`: Audience joins live room.<br>- `leaveLive()`: Leave live room.</td>
|
|
36
|
-
</tr>
|
|
37
|
-
|
|
38
|
-
<tr>
|
|
39
|
-
<td rowspan="1" colSpan="1" >LiveInfo</td>
|
|
40
|
-
|
|
41
|
-
<td rowspan="1" colSpan="1" >Defines room parameters before going live, such as room ID, seat layout mode, max co-hosts, etc.</td>
|
|
42
|
-
|
|
43
|
-
<td rowspan="1" colSpan="1" >- `liveID`: Unique room identifier.<br>- `seatLayoutTemplateID`: Layout template ID (e.g., 600 for dynamic grid).</td>
|
|
44
|
-
</tr>
|
|
45
|
-
</table>
|
|
46
|
-
|
|
10
|
+
| **Core Concept** | **Core Responsibility** | **Key API / Property** |
|
|
11
|
+
| --- | --- | --- |
|
|
12
|
+
| LiveCoreView | Handles publishing, playing, and rendering audio/video streams. Provides adapter interfaces for integrating custom UI components (e.g., user info, PK progress bar). | - `viewType`:<br>- `CoreViewType.PUSH_VIEW` (host publishing view)<br>- `CoreViewType.PLAY_VIEW` (audience playback view)<br>- `setLiveId()`: Binds the live room ID for this view.<br>- `setVideoViewAdapter():` Adapter for custom video display UI slots. |
|
|
13
|
+
| LiveListStore | Manages the complete live room lifecycle (create, join, leave), synchronizes state, and listens for passive events (e.g., live ended, kicked out). | - `createLive()`: Start live stream as host.<br>- `endLive()`: End live stream as host.<br>- `joinLive()`: Audience joins live room.<br>- `leaveLive()`: Leave live room. |
|
|
14
|
+
| LiveInfo | Defines room parameters before going live, such as room ID, seat layout mode, max co-hosts, etc. | - `liveID`: Unique room identifier.<br>- seatTemplate: Layout template. |
|
|
47
15
|
|
|
48
16
|
## Preparation
|
|
49
17
|
|
|
50
18
|
### Step 1: Activate the Service
|
|
51
19
|
|
|
52
|
-
See
|
|
20
|
+
See Activate Service to obtain either the trial or paid version of the SDK.Then, go to [the Console](https://console.trtc.io/app) for application management, and get the following:
|
|
53
21
|
- `SDKAppID`: Application identifier (required). Tencent Cloud uses `SDKAppId` for billing and details.
|
|
54
22
|
|
|
55
23
|
- `SDKSecretKey`: Application secret key, used to initialize the configuration file with secret information.
|
|
56
24
|
|
|
57
|
-

|
|
58
|
-
|
|
59
|
-
|
|
60
25
|
### Step 2: Import AtomicXCore into Your Project
|
|
61
26
|
|
|
62
27
|
**Install the component**: Add the dependency `implementation 'com.tencent.atomicx:atomicxcore:latest`' to your `build.gradle` file, then perform a **Gradle****Sync**.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
28
|
+
|
|
29
|
+
【build.gradle.kts】
|
|
30
|
+
``` java
|
|
31
|
+
implementation("io.trtc.uikit:atomicx-core:4.0.0.110")
|
|
32
|
+
api("com.tencent.imsdk:imsdk-plus:8.9.7511")
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
【build.gradle】
|
|
36
|
+
``` java
|
|
37
|
+
implementation 'io.trtc.uikit:atomicx-core:4.0.0.110'
|
|
38
|
+
api "com.tencent.imsdk:imsdk-plus:8.9.7511"
|
|
72
39
|
```
|
|
73
40
|
|
|
74
41
|
### Step 3: Implement Login Logic
|
|
@@ -76,10 +43,10 @@ dependencies {
|
|
|
76
43
|
Call `LoginStore.shared.login` in your project to complete login. **This is required before you can use any functionality in AtomicXCore**.
|
|
77
44
|
|
|
78
45
|
> **Note:**
|
|
79
|
-
>
|
|
46
|
+
>
|
|
80
47
|
|
|
81
48
|
> We recommend calling `LoginStore.shared.login` after your app's own user authentication is successful to ensure clear and consistent login logic.
|
|
82
|
-
>
|
|
49
|
+
>
|
|
83
50
|
|
|
84
51
|
``` java
|
|
85
52
|
import android.os.Bundle
|
|
@@ -114,40 +81,11 @@ class MainActivity : AppCompatActivity() {
|
|
|
114
81
|
```
|
|
115
82
|
|
|
116
83
|
**Login API Parameter Description**
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
<td rowspan="1" colSpan="1" >Description</td>
|
|
124
|
-
</tr>
|
|
125
|
-
|
|
126
|
-
<tr>
|
|
127
|
-
<td rowspan="1" colSpan="1" >SDKAppID</td>
|
|
128
|
-
|
|
129
|
-
<td rowspan="1" colSpan="1" >Int</td>
|
|
130
|
-
|
|
131
|
-
<td rowspan="1" colSpan="1" >Get this from [TRTC console > Application management](https://console.trtc.io/app).</td>
|
|
132
|
-
</tr>
|
|
133
|
-
|
|
134
|
-
<tr>
|
|
135
|
-
<td rowspan="1" colSpan="1" >UserID</td>
|
|
136
|
-
|
|
137
|
-
<td rowspan="1" colSpan="1" >String</td>
|
|
138
|
-
|
|
139
|
-
<td rowspan="1" colSpan="1" >The unique ID for the current user. Must contain only English letters, numbers, hyphens, and underscores.</td>
|
|
140
|
-
</tr>
|
|
141
|
-
|
|
142
|
-
<tr>
|
|
143
|
-
<td rowspan="1" colSpan="1" >userSig</td>
|
|
144
|
-
|
|
145
|
-
<td rowspan="1" colSpan="1" >String</td>
|
|
146
|
-
|
|
147
|
-
<td rowspan="1" colSpan="1" >A ticket for Tencent Cloud authentication. Please note:<br>- **Development Environment**: You can use the local `GenerateTestUserSig.genTestSig` function to generate a UserSig or generate a temporary UserSig via the [UserSig Generation Tool](https://console.trtc.io/usersig).<br>- **Production Environment**: To prevent key leakage, you must use a server-side method to generate UserSig. For details, see [Generating UserSig on the Server](https://write.woa.com/document/89644530319802368).<br>- For more information, see [How to Calculate and Use UserSig](https://write.woa.com/document/89644530319802368).</td>
|
|
148
|
-
</tr>
|
|
149
|
-
</table>
|
|
150
|
-
|
|
84
|
+
| Parameter | Type | Description |
|
|
85
|
+
| --- | --- | --- |
|
|
86
|
+
| SDKAppID | Int | Get this from [TRTC console > Application management](https://console.trtc.io/app). |
|
|
87
|
+
| UserID | String | The unique ID for the current user. Must contain only English letters, numbers, hyphens, and underscores. |
|
|
88
|
+
| userSig | String | A ticket for Tencent Cloud authentication. Please note:<br>- **Development Environment**: You can use the local `GenerateTestUserSig.genTestSig` function to generate a UserSig or generate a temporary UserSig via the [UserSig Generation Tool](https://console.trtc.io/usersig).<br>- **Production Environment**: To prevent key leakage, you must use a server-side method to generate UserSig. For details, see Generating UserSig on the Server.<br>- For more information, see How to Calculate and Use UserSig. |
|
|
151
89
|
|
|
152
90
|
## Building a Basic Live Room
|
|
153
91
|
|
|
@@ -155,18 +93,14 @@ class MainActivity : AppCompatActivity() {
|
|
|
155
93
|
|
|
156
94
|
Follow these steps to quickly set up host video streaming:
|
|
157
95
|
|
|
158
|
-

|
|
159
|
-
|
|
160
|
-
|
|
161
96
|
> **Note:**
|
|
162
|
-
>
|
|
97
|
+
>
|
|
163
98
|
|
|
164
99
|
> For a complete implementation, refer to [VideoLiveAnchorActivity.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/livestream/VideoLiveAnchorActivity.kt) in the open-source TUILiveKit project.
|
|
165
|
-
>
|
|
100
|
+
>
|
|
166
101
|
|
|
167
102
|
1. **Initialize the Broadcaster Streaming View**
|
|
168
103
|
|
|
169
|
-
|
|
170
104
|
In your host `Activity`, create a LiveCoreView instance and set viewType to `PUSH_VIEW` (publishing view).
|
|
171
105
|
|
|
172
106
|
``` java
|
|
@@ -175,25 +109,25 @@ Follow these steps to quickly set up host video streaming:
|
|
|
175
109
|
import android.os.Bundle
|
|
176
110
|
import androidx.appcompat.app.AppCompatActivity
|
|
177
111
|
import androidx.constraintlayout.widget.ConstraintLayout
|
|
178
|
-
|
|
112
|
+
|
|
179
113
|
class YourAnchorActivity : AppCompatActivity() {
|
|
180
114
|
private lateinit var coreView: LiveCoreView
|
|
181
|
-
|
|
115
|
+
|
|
182
116
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
183
117
|
super.onCreate(savedInstanceState)
|
|
184
|
-
|
|
118
|
+
|
|
185
119
|
coreView = LiveCoreView(this, viewType = CoreViewType.PUSH_VIEW)
|
|
186
120
|
coreView.setLiveID("test_live_001")
|
|
187
|
-
|
|
121
|
+
|
|
188
122
|
setupUI()
|
|
189
123
|
}
|
|
190
|
-
|
|
124
|
+
|
|
191
125
|
private fun setupUI() {
|
|
192
126
|
setContentView(R.layout.activity_anchor)
|
|
193
|
-
|
|
127
|
+
|
|
194
128
|
val container = findViewById<ConstraintLayout>(R.id.container)
|
|
195
129
|
container.addView(coreView)
|
|
196
|
-
|
|
130
|
+
|
|
197
131
|
val params = ConstraintLayout.LayoutParams(
|
|
198
132
|
ConstraintLayout.LayoutParams.MATCH_PARENT,
|
|
199
133
|
ConstraintLayout.LayoutParams.MATCH_PARENT
|
|
@@ -206,23 +140,22 @@ Follow these steps to quickly set up host video streaming:
|
|
|
206
140
|
```
|
|
207
141
|
2. **Open Camera and Microphone**
|
|
208
142
|
|
|
209
|
-
|
|
210
143
|
Call the `openLocalCamera` and `openLocalMicrophone` methods of `DeviceStore` to enable the camera and microphone. **No additional action is required—LiveCoreView will automatically preview the current camera video stream**.
|
|
211
144
|
|
|
212
145
|
``` java
|
|
213
146
|
import androidx.appcompat.app.AppCompatActivity
|
|
214
147
|
import android.os.Bundle
|
|
215
148
|
import io.trtc.tuikit.atomicxcore.api.device.DeviceStore
|
|
216
|
-
|
|
149
|
+
|
|
217
150
|
class YourAnchorActivity : AppCompatActivity() {
|
|
218
151
|
// ... other code ...
|
|
219
|
-
|
|
152
|
+
|
|
220
153
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
221
154
|
super.onCreate(savedInstanceState)
|
|
222
155
|
setupUI()
|
|
223
156
|
openDevices()
|
|
224
157
|
}
|
|
225
|
-
|
|
158
|
+
|
|
226
159
|
private fun openDevices() {
|
|
227
160
|
DeviceStore.shared().openLocalCamera(true, completion = null)
|
|
228
161
|
DeviceStore.shared().openLocalMicrophone(completion = null)
|
|
@@ -231,7 +164,6 @@ Follow these steps to quickly set up host video streaming:
|
|
|
231
164
|
```
|
|
232
165
|
3. **Start Live Streaming**
|
|
233
166
|
|
|
234
|
-
|
|
235
167
|
Start the live stream by calling `createLive` on `LiveListStore`.
|
|
236
168
|
|
|
237
169
|
``` java
|
|
@@ -240,22 +172,21 @@ Follow these steps to quickly set up host video streaming:
|
|
|
240
172
|
import io.trtc.tuikit.atomicxcore.api.live.LiveInfo
|
|
241
173
|
import io.trtc.tuikit.atomicxcore.api.live.LiveInfoCompletionHandler
|
|
242
174
|
import io.trtc.tuikit.atomicxcore.api.live.LiveListStore
|
|
243
|
-
|
|
175
|
+
|
|
244
176
|
class YourAnchorActivity : AppCompatActivity() {
|
|
245
177
|
// ... other code ...
|
|
246
|
-
|
|
178
|
+
|
|
247
179
|
private fun startLive() {
|
|
248
180
|
val liveInfo = LiveInfo().apply {
|
|
249
181
|
liveID = "test_live_001"
|
|
250
182
|
liveName = "test live"
|
|
251
|
-
|
|
252
|
-
keepOwnerOnSeat = true
|
|
183
|
+
seatTemplate = SeatLayoutTemplate.VideoDynamicGrid9Seats // Default: dynamic grid layout
|
|
253
184
|
}
|
|
254
185
|
LiveListStore.shared().createLive(liveInfo, object: LiveInfoCompletionHandler {
|
|
255
186
|
override fun onFailure(code: Int, desc: String) {
|
|
256
187
|
Log.e("Live", "startLive error: $desc")
|
|
257
188
|
}
|
|
258
|
-
|
|
189
|
+
|
|
259
190
|
override fun onSuccess(liveInfo: LiveInfo) {
|
|
260
191
|
Log.d("Live", "startLive success")
|
|
261
192
|
}
|
|
@@ -266,171 +197,23 @@ Follow these steps to quickly set up host video streaming:
|
|
|
266
197
|
|
|
267
198
|
`LiveInfo`** Parameter Description:**
|
|
268
199
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
284
|
-
|
|
285
|
-
<td rowspan="1" colSpan="1" >Yes</td>
|
|
286
|
-
|
|
287
|
-
<td rowspan="1" colSpan="1" >Unique identifier for the live room.</td>
|
|
288
|
-
</tr>
|
|
289
|
-
|
|
290
|
-
<tr>
|
|
291
|
-
<td rowspan="1" colSpan="1" >`liveName`</td>
|
|
292
|
-
|
|
293
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
294
|
-
|
|
295
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
296
|
-
|
|
297
|
-
<td rowspan="1" colSpan="1" >Title of the live room.</td>
|
|
298
|
-
</tr>
|
|
299
|
-
|
|
300
|
-
<tr>
|
|
301
|
-
<td rowspan="1" colSpan="1" >`notice`</td>
|
|
302
|
-
|
|
303
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
304
|
-
|
|
305
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
306
|
-
|
|
307
|
-
<td rowspan="1" colSpan="1" >Announcement message for the live room.</td>
|
|
308
|
-
</tr>
|
|
309
|
-
|
|
310
|
-
<tr>
|
|
311
|
-
<td rowspan="1" colSpan="1" >`isMessageDisable`</td>
|
|
312
|
-
|
|
313
|
-
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
314
|
-
|
|
315
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
316
|
-
|
|
317
|
-
<td rowspan="1" colSpan="1" >Disable chat (true = yes, false = no).</td>
|
|
318
|
-
</tr>
|
|
319
|
-
|
|
320
|
-
<tr>
|
|
321
|
-
<td rowspan="1" colSpan="1" >`isPublicVisible`</td>
|
|
322
|
-
|
|
323
|
-
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
324
|
-
|
|
325
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
326
|
-
|
|
327
|
-
<td rowspan="1" colSpan="1" >Room is publicly visible (true = yes, false = no).</td>
|
|
328
|
-
</tr>
|
|
329
|
-
|
|
330
|
-
<tr>
|
|
331
|
-
<td rowspan="1" colSpan="1" >`isSeatEnabled`</td>
|
|
332
|
-
|
|
333
|
-
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
334
|
-
|
|
335
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
336
|
-
|
|
337
|
-
<td rowspan="1" colSpan="1" >Enable seat (co-host) functionality (true = yes, false = no).</td>
|
|
338
|
-
</tr>
|
|
339
|
-
|
|
340
|
-
<tr>
|
|
341
|
-
<td rowspan="1" colSpan="1" >`keepOwnerOnSeat`</td>
|
|
342
|
-
|
|
343
|
-
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
344
|
-
|
|
345
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
346
|
-
|
|
347
|
-
<td rowspan="1" colSpan="1" >Keep the owner on a seat.</td>
|
|
348
|
-
</tr>
|
|
349
|
-
|
|
350
|
-
<tr>
|
|
351
|
-
<td rowspan="1" colSpan="1" >`maxSeatCount`</td>
|
|
352
|
-
|
|
353
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
354
|
-
|
|
355
|
-
<td rowspan="1" colSpan="1" >Yes</td>
|
|
356
|
-
|
|
357
|
-
<td rowspan="1" colSpan="1" >Maximum number of seats.</td>
|
|
358
|
-
</tr>
|
|
359
|
-
|
|
360
|
-
<tr>
|
|
361
|
-
<td rowspan="1" colSpan="1" >`seatMode`</td>
|
|
362
|
-
|
|
363
|
-
<td rowspan="1" colSpan="1" >[TakeSeatMode](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-take-seat-mode/index.html)</td>
|
|
364
|
-
|
|
365
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
366
|
-
|
|
367
|
-
<td rowspan="1" colSpan="1" >Seat mode (FREE: free to take seat, APPLY: apply to take seat).</td>
|
|
368
|
-
</tr>
|
|
369
|
-
|
|
370
|
-
<tr>
|
|
371
|
-
<td rowspan="1" colSpan="1" >`seatLayoutTemplateID`</td>
|
|
372
|
-
|
|
373
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
374
|
-
|
|
375
|
-
<td rowspan="1" colSpan="1" >Yes</td>
|
|
376
|
-
|
|
377
|
-
<td rowspan="1" colSpan="1" >Seat layout template ID.</td>
|
|
378
|
-
</tr>
|
|
379
|
-
|
|
380
|
-
<tr>
|
|
381
|
-
<td rowspan="1" colSpan="1" >`coverURL`</td>
|
|
382
|
-
|
|
383
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
384
|
-
|
|
385
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
386
|
-
|
|
387
|
-
<td rowspan="1" colSpan="1" >Cover image URL for the live room.</td>
|
|
388
|
-
</tr>
|
|
389
|
-
|
|
390
|
-
<tr>
|
|
391
|
-
<td rowspan="1" colSpan="1" >`backgroundURL`</td>
|
|
392
|
-
|
|
393
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
394
|
-
|
|
395
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
396
|
-
|
|
397
|
-
<td rowspan="1" colSpan="1" >Background image URL for the live room.</td>
|
|
398
|
-
</tr>
|
|
399
|
-
|
|
400
|
-
<tr>
|
|
401
|
-
<td rowspan="1" colSpan="1" >`categoryList`</td>
|
|
402
|
-
|
|
403
|
-
<td rowspan="1" colSpan="1" >`List`<br></td>
|
|
404
|
-
|
|
405
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
406
|
-
|
|
407
|
-
<td rowspan="1" colSpan="1" >List of category tags for the live room.</td>
|
|
408
|
-
</tr>
|
|
409
|
-
|
|
410
|
-
<tr>
|
|
411
|
-
<td rowspan="1" colSpan="1" >`activityStatus`</td>
|
|
412
|
-
|
|
413
|
-
<td rowspan="1" colSpan="1" >`Int`</td>
|
|
414
|
-
|
|
415
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
416
|
-
|
|
417
|
-
<td rowspan="1" colSpan="1" >Live activity status.</td>
|
|
418
|
-
</tr>
|
|
419
|
-
|
|
420
|
-
<tr>
|
|
421
|
-
<td rowspan="1" colSpan="1" >`isGiftEnabled`</td>
|
|
422
|
-
|
|
423
|
-
<td rowspan="1" colSpan="1" >`Boolean`</td>
|
|
424
|
-
|
|
425
|
-
<td rowspan="1" colSpan="1" >No</td>
|
|
426
|
-
|
|
427
|
-
<td rowspan="1" colSpan="1" >Whether to enable gift functionality (true: yes, false: no).</td>
|
|
428
|
-
</tr>
|
|
429
|
-
</table>
|
|
200
|
+
| **Parameter Name** | **Type** | **Required** | **Description** |
|
|
201
|
+
| --- | --- | --- | --- |
|
|
202
|
+
| `liveID` | `String` | Yes | Unique identifier for the live room. |
|
|
203
|
+
| `liveName` | `String` | No | Title of the live room. |
|
|
204
|
+
| `notice` | `String` | No | Announcement message for the live room. |
|
|
205
|
+
| `isMessageDisable` | `Boolean` | No | Disable chat (true = yes, false = no). |
|
|
206
|
+
| `isPublicVisible` | `Boolean` | No | Room is publicly visible (true = yes, false = no). |
|
|
207
|
+
| `seatMode` | [TakeSeatMode](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-take-seat-mode/index.html) | No | Seat mode (FREE: free to take seat, APPLY: apply to take seat). |
|
|
208
|
+
| `seatTemplate` | SeatLayoutTemplate | Yes | Seat layout template. |
|
|
209
|
+
| `coverURL` | `String` | No | Cover image URL for the live room. |
|
|
210
|
+
| `backgroundURL` | `String` | No | Background image URL for the live room. |
|
|
211
|
+
| `categoryList` | `List` | No | List of category tags for the live room. |
|
|
212
|
+
| `activityStatus` | `Int` | No | Live activity status. |
|
|
213
|
+
| `isGiftEnabled` | `Boolean` | No | Whether to enable gift functionality (true: yes, false: no). |
|
|
430
214
|
|
|
431
215
|
4. **End Live Streaming**
|
|
432
216
|
|
|
433
|
-
|
|
434
217
|
When the live stream ends, call the `endLive` method of `LiveListStore`. The SDK will handle stopping the stream and destroying the room.
|
|
435
218
|
|
|
436
219
|
``` java
|
|
@@ -440,22 +223,22 @@ Follow these steps to quickly set up host video streaming:
|
|
|
440
223
|
import io.trtc.tuikit.atomicxcore.api.device.DeviceStore
|
|
441
224
|
import io.trtc.tuikit.atomicxcore.api.live.LiveListStore
|
|
442
225
|
import io.trtc.tuikit.atomicxcore.api.live.StopLiveCompletionHandler
|
|
443
|
-
|
|
226
|
+
|
|
444
227
|
class YourAnchorActivity : AppCompatActivity() {
|
|
445
228
|
// ... other code ...
|
|
446
|
-
|
|
229
|
+
|
|
447
230
|
private fun stopLive() {
|
|
448
231
|
LiveListStore.shared().endLive(object : StopLiveCompletionHandler {
|
|
449
232
|
override fun onSuccess(statisticsData: TUILiveListManager.LiveStatisticsData) {
|
|
450
233
|
Log.d("Live", "endLive success, duration: ${statisticsData.liveDuration}, totalViewers: ${statisticsData.totalViewers}")
|
|
451
234
|
}
|
|
452
|
-
|
|
235
|
+
|
|
453
236
|
override fun onFailure(code: Int, desc: String) {
|
|
454
237
|
Log.e("Live", "endLive error: $desc")
|
|
455
238
|
}
|
|
456
239
|
})
|
|
457
240
|
}
|
|
458
|
-
|
|
241
|
+
|
|
459
242
|
override fun onDestroy() {
|
|
460
243
|
super.onDestroy()
|
|
461
244
|
stopLive()
|
|
@@ -470,18 +253,14 @@ Follow these steps to quickly set up host video streaming:
|
|
|
470
253
|
|
|
471
254
|
Follow these steps to enable audience viewing:
|
|
472
255
|
|
|
473
|
-

|
|
474
|
-
|
|
475
|
-
|
|
476
256
|
> **Note:**
|
|
477
|
-
>
|
|
257
|
+
>
|
|
478
258
|
|
|
479
259
|
> For a complete reference implementation of audience viewing logic, see [VideoLiveAudienceActivity.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/livestream/VideoLiveAudienceActivity.kt) in the open-source TUILiveKit project.
|
|
480
|
-
>
|
|
260
|
+
>
|
|
481
261
|
|
|
482
262
|
1. **Add Audience Playback View**
|
|
483
263
|
|
|
484
|
-
|
|
485
264
|
In your audience `Activity`, create a `LiveCoreView` instance and set `viewType` to `PLAY_VIEW` (playback view).
|
|
486
265
|
|
|
487
266
|
``` java
|
|
@@ -490,31 +269,31 @@ Follow these steps to enable audience viewing:
|
|
|
490
269
|
import android.os.Bundle
|
|
491
270
|
import androidx.appcompat.app.AppCompatActivity
|
|
492
271
|
import androidx.constraintlayout.widget.ConstraintLayout
|
|
493
|
-
|
|
272
|
+
|
|
494
273
|
// YourAudienceActivity represents your audience viewing Activity
|
|
495
274
|
class YourAudienceActivity : AppCompatActivity() {
|
|
496
|
-
|
|
275
|
+
|
|
497
276
|
// 1. Initialize the audience playback view
|
|
498
277
|
private lateinit var coreView: LiveCoreView
|
|
499
|
-
|
|
278
|
+
|
|
500
279
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
501
280
|
super.onCreate(savedInstanceState)
|
|
502
|
-
|
|
281
|
+
|
|
503
282
|
// 2. Initialize the view
|
|
504
283
|
coreView = LiveCoreView(this, viewType = CoreViewType.PLAY_VIEW)
|
|
505
284
|
coreView.setLiveId("test_live_001")
|
|
506
|
-
|
|
285
|
+
|
|
507
286
|
// UI layout
|
|
508
287
|
setupUI()
|
|
509
288
|
}
|
|
510
|
-
|
|
289
|
+
|
|
511
290
|
private fun setupUI() {
|
|
512
291
|
setContentView(R.layout.activity_audience)
|
|
513
|
-
|
|
292
|
+
|
|
514
293
|
// 3. Add the playback view to your layout
|
|
515
294
|
val container = findViewById<ConstraintLayout>(R.id.container)
|
|
516
295
|
container.addView(coreView)
|
|
517
|
-
|
|
296
|
+
|
|
518
297
|
// Set layout parameters
|
|
519
298
|
val params = ConstraintLayout.LayoutParams(
|
|
520
299
|
ConstraintLayout.LayoutParams.MATCH_PARENT,
|
|
@@ -528,7 +307,6 @@ Follow these steps to enable audience viewing:
|
|
|
528
307
|
```
|
|
529
308
|
2. **Join the Live Room**
|
|
530
309
|
|
|
531
|
-
|
|
532
310
|
Call the `joinLive` method of `LiveListStore` to join the live stream. **No additional setup is required—LiveCoreView will automatically play the video stream.**
|
|
533
311
|
|
|
534
312
|
``` java
|
|
@@ -538,12 +316,12 @@ Follow these steps to enable audience viewing:
|
|
|
538
316
|
import android.os.Bundle
|
|
539
317
|
import androidx.appcompat.app.AppCompatActivity
|
|
540
318
|
import android.util.Log
|
|
541
|
-
|
|
319
|
+
|
|
542
320
|
// YourAudienceActivity represents your audience viewing Activity
|
|
543
321
|
class YourAudienceActivity : AppCompatActivity() {
|
|
544
|
-
|
|
322
|
+
|
|
545
323
|
// ... other code ...
|
|
546
|
-
|
|
324
|
+
|
|
547
325
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
548
326
|
super.onCreate(savedInstanceState)
|
|
549
327
|
setupUI()
|
|
@@ -552,7 +330,7 @@ Follow these steps to enable audience viewing:
|
|
|
552
330
|
override fun onFailure(code: Int, desc: String) {
|
|
553
331
|
Log.e("Live", "joinLive error: $desc")
|
|
554
332
|
}
|
|
555
|
-
|
|
333
|
+
|
|
556
334
|
override fun onSuccess(liveInfo: LiveInfo) {
|
|
557
335
|
Log.d("Live", "joinLive success")
|
|
558
336
|
}
|
|
@@ -562,7 +340,6 @@ Follow these steps to enable audience viewing:
|
|
|
562
340
|
```
|
|
563
341
|
3. **Exit the Live Room**
|
|
564
342
|
|
|
565
|
-
|
|
566
343
|
When the audience leaves, call the `leaveLive` method of `LiveListStore`. The SDK will automatically stop playback and exit the room.
|
|
567
344
|
|
|
568
345
|
``` java
|
|
@@ -570,25 +347,25 @@ Follow these steps to enable audience viewing:
|
|
|
570
347
|
import io.trtc.tuikit.atomicxcore.api.CompletionHandler
|
|
571
348
|
import androidx.appcompat.app.AppCompatActivity
|
|
572
349
|
import android.util.Log
|
|
573
|
-
|
|
350
|
+
|
|
574
351
|
// YourAudienceActivity represents your audience viewing Activity
|
|
575
352
|
class YourAudienceActivity : AppCompatActivity() {
|
|
576
|
-
|
|
353
|
+
|
|
577
354
|
// ... other code ...
|
|
578
|
-
|
|
355
|
+
|
|
579
356
|
// Exit the live room
|
|
580
357
|
private fun leaveLive() {
|
|
581
358
|
LiveListStore.shared().leaveLive(object : CompletionHandler {
|
|
582
359
|
override fun onSuccess() {
|
|
583
360
|
Log.d("Live", "leaveLive success")
|
|
584
361
|
}
|
|
585
|
-
|
|
362
|
+
|
|
586
363
|
override fun onFailure(code: Int, desc: String) {
|
|
587
364
|
Log.e("Live", "leaveLive error: $desc")
|
|
588
365
|
}
|
|
589
366
|
})
|
|
590
367
|
}
|
|
591
|
-
|
|
368
|
+
|
|
592
369
|
// Always call leaveLive when Activity is destroyed
|
|
593
370
|
override fun onDestroy() {
|
|
594
371
|
super.onDestroy()
|
|
@@ -614,7 +391,7 @@ import android.util.Log
|
|
|
614
391
|
|
|
615
392
|
// YourAudienceActivity represents your audience viewing Activity
|
|
616
393
|
class YourAudienceActivity : AppCompatActivity() {
|
|
617
|
-
|
|
394
|
+
|
|
618
395
|
// ... (coreView, liveId, setupUI, joinLive, leaveLive, etc.) ...
|
|
619
396
|
|
|
620
397
|
// 2. Define a LiveListListener instance
|
|
@@ -636,15 +413,15 @@ class YourAudienceActivity : AppCompatActivity() {
|
|
|
636
413
|
|
|
637
414
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
638
415
|
super.onCreate(savedInstanceState)
|
|
639
|
-
setupUI()
|
|
640
|
-
|
|
416
|
+
setupUI()
|
|
417
|
+
|
|
641
418
|
// 3. Register the listener
|
|
642
419
|
LiveListStore.shared().addLiveListListener(liveListListener)
|
|
643
420
|
|
|
644
421
|
// 4. Join the live room
|
|
645
422
|
joinLive()
|
|
646
423
|
}
|
|
647
|
-
|
|
424
|
+
|
|
648
425
|
// ... joinLive() and leaveLive() methods ...
|
|
649
426
|
|
|
650
427
|
override fun onDestroy() {
|
|
@@ -659,57 +436,12 @@ class YourAudienceActivity : AppCompatActivity() {
|
|
|
659
436
|
|
|
660
437
|
### Run and Test
|
|
661
438
|
|
|
662
|
-
After integrating `LiveCoreView`, you will have a pure video rendering view with full live streaming capabilities, but without any interactive UI. To add interactive features, see
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
<td rowspan="1" colSpan="1" >Floating Window Layout</td>
|
|
670
|
-
|
|
671
|
-
<td rowspan="1" colSpan="1" >Fixed Grid Layout</td>
|
|
672
|
-
|
|
673
|
-
<td rowspan="1" colSpan="1" >Fixed Window Layout</td>
|
|
674
|
-
</tr>
|
|
675
|
-
|
|
676
|
-
<tr>
|
|
677
|
-
<td rowspan="1" colSpan="1" >**Template ID**</td>
|
|
678
|
-
|
|
679
|
-
<td rowspan="1" colSpan="1" >600</td>
|
|
680
|
-
|
|
681
|
-
<td rowspan="1" colSpan="1" >601</td>
|
|
682
|
-
|
|
683
|
-
<td rowspan="1" colSpan="1" >800</td>
|
|
684
|
-
|
|
685
|
-
<td rowspan="1" colSpan="1" >801</td>
|
|
686
|
-
</tr>
|
|
687
|
-
|
|
688
|
-
<tr>
|
|
689
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
690
|
-
|
|
691
|
-
<td rowspan="1" colSpan="1" >Default layout; grid size adjusts dynamically based on number of co-hosts.</td>
|
|
692
|
-
|
|
693
|
-
<td rowspan="1" colSpan="1" >Co-hosts are displayed as floating windows.</td>
|
|
694
|
-
|
|
695
|
-
<td rowspan="1" colSpan="1" >Fixed number of co-hosts; each occupies a fixed grid.</td>
|
|
696
|
-
|
|
697
|
-
<td rowspan="1" colSpan="1" >Fixed number of co-hosts; guests are displayed as fixed windows.</td>
|
|
698
|
-
</tr>
|
|
699
|
-
|
|
700
|
-
<tr>
|
|
701
|
-
<td rowspan="1" colSpan="1" >**Example**</td>
|
|
702
|
-
|
|
703
|
-
<td rowspan="1" colSpan="1" ></td>
|
|
704
|
-
|
|
705
|
-
<td rowspan="1" colSpan="1" ></td>
|
|
706
|
-
|
|
707
|
-
<td rowspan="1" colSpan="1" ></td>
|
|
708
|
-
|
|
709
|
-
<td rowspan="1" colSpan="1" ></td>
|
|
710
|
-
</tr>
|
|
711
|
-
</table>
|
|
712
|
-
|
|
439
|
+
After integrating `LiveCoreView`, you will have a pure video rendering view with full live streaming capabilities, but without any interactive UI. To add interactive features, see Enriching the Live Streaming Scene.
|
|
440
|
+
| | Dynamic Grid Layout | Floating Window Layout | Fixed Grid Layout | Fixed Window Layout |
|
|
441
|
+
| --- | --- | --- | --- | --- |
|
|
442
|
+
| **Template** | VideoDynamicGrid9Seats | VideoDynamicFloat7Seats | VideoFixedGrid9Seats | VideoFixedFloat7Seats |
|
|
443
|
+
| **Description** | Default layout; grid size adjusts dynamically based on number of co-hosts. | Co-hosts are displayed as floating windows. | Fixed number of co-hosts; each occupies a fixed grid. | Fixed number of co-hosts; guests are displayed as fixed windows. |
|
|
444
|
+
| **Example** | | | | |
|
|
713
445
|
|
|
714
446
|
## Advanced Features
|
|
715
447
|
|
|
@@ -777,166 +509,28 @@ private fun subscribeToDataUpdates() {
|
|
|
777
509
|
## Enriching the Live Streaming Scene
|
|
778
510
|
|
|
779
511
|
Once the basic live streaming functionality is in place, refer to the following guides to add interactive features to your live stream:
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
<td rowspan="1" colSpan="1" >**Store**</td>
|
|
787
|
-
|
|
788
|
-
<td rowspan="1" colSpan="1" >**Implementation Guide**</td>
|
|
789
|
-
</tr>
|
|
790
|
-
|
|
791
|
-
<tr>
|
|
792
|
-
<td rowspan="1" colSpan="1" >**Enable Audience Audio/Video Co-hosting**</td>
|
|
793
|
-
|
|
794
|
-
<td rowspan="1" colSpan="1" >Audience can apply to join the host on stage for real-time video interaction.</td>
|
|
795
|
-
|
|
796
|
-
<td rowspan="1" colSpan="1" >[CoGuestStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-guest-store/index.html)</td>
|
|
797
|
-
|
|
798
|
-
<td rowspan="1" colSpan="1" >[Implementation Guide](https://write.woa.com/document/194571606970114048)</td>
|
|
799
|
-
</tr>
|
|
800
|
-
|
|
801
|
-
<tr>
|
|
802
|
-
<td rowspan="1" colSpan="1" >**Enable Host Cross-room PK**</td>
|
|
803
|
-
|
|
804
|
-
<td rowspan="1" colSpan="1" >Hosts from different rooms can connect for interaction or PK.</td>
|
|
805
|
-
|
|
806
|
-
<td rowspan="1" colSpan="1" >[CoHostStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-host-store/index.html)<br>[BattleStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-battle-store/index.html)</td>
|
|
807
|
-
|
|
808
|
-
<td rowspan="1" colSpan="1" >[Implementation Guide](https://write.woa.com/document/194571607349698560)</td>
|
|
809
|
-
</tr>
|
|
810
|
-
|
|
811
|
-
<tr>
|
|
812
|
-
<td rowspan="1" colSpan="1" >**Add Bullet Chat Feature**</td>
|
|
813
|
-
|
|
814
|
-
<td rowspan="1" colSpan="1" >Audience can send and receive real-time text messages in the live room.</td>
|
|
815
|
-
|
|
816
|
-
<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>
|
|
817
|
-
|
|
818
|
-
<td rowspan="1" colSpan="1" >[Implementation Guide](https://write.woa.com/document/194571607715651584)</td>
|
|
819
|
-
</tr>
|
|
820
|
-
|
|
821
|
-
<tr>
|
|
822
|
-
<td rowspan="1" colSpan="1" >**Build a Gift Giving System**</td>
|
|
823
|
-
|
|
824
|
-
<td rowspan="1" colSpan="1" >Audience can send virtual gifts to the host, increasing engagement and fun.</td>
|
|
825
|
-
|
|
826
|
-
<td rowspan="1" colSpan="1" >[GiftStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.gift/-gift-store/index.html)</td>
|
|
827
|
-
|
|
828
|
-
<td rowspan="1" colSpan="1" >[Implementation Guide](https://write.woa.com/document/194571602045140992)</td>
|
|
829
|
-
</tr>
|
|
830
|
-
</table>
|
|
831
|
-
|
|
512
|
+
| **Feature** | **Description** | **Store** | **Implementation Guide** |
|
|
513
|
+
| --- | --- | --- | --- |
|
|
514
|
+
| **Enable Audience Audio/Video Co-hosting** | Audience can apply to join the host on stage for real-time video interaction. | [CoGuestStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-guest-store/index.html) | Implementation Guide |
|
|
515
|
+
| **Enable Host Cross-room PK** | Hosts from different rooms can connect for interaction or PK. | [CoHostStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-host-store/index.html)<br>[BattleStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-battle-store/index.html) | Implementation Guide |
|
|
516
|
+
| **Add Bullet Chat Feature** | Audience can send and receive real-time text messages in the live room. | [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) | Implementation Guide |
|
|
517
|
+
| **Build a Gift Giving System** | Audience can send virtual gifts to the host, increasing engagement and fun. | [GiftStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.gift/-gift-store/index.html) | Implementation Guide |
|
|
832
518
|
|
|
833
519
|
## API Documentation
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
<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.view/-live-core-view/index.html)</td>
|
|
849
|
-
</tr>
|
|
850
|
-
|
|
851
|
-
<tr>
|
|
852
|
-
<td rowspan="1" colSpan="1" >LiveListStore</td>
|
|
853
|
-
|
|
854
|
-
<td rowspan="1" colSpan="1" >Manages the full lifecycle of live rooms: create/join/leave/destroy rooms, query room list, modify live info (name, announcement, etc.), and listen to live status events (e.g., kicked out, ended).</td>
|
|
855
|
-
|
|
856
|
-
<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.live/-live-list-store/index.html)</td>
|
|
857
|
-
</tr>
|
|
858
|
-
|
|
859
|
-
<tr>
|
|
860
|
-
<td rowspan="1" colSpan="1" >DeviceStore</td>
|
|
861
|
-
|
|
862
|
-
<td rowspan="1" colSpan="1" >Controls audio/video devices: microphone (on/off, volume), camera (on/off, switch, quality), screen sharing, and real-time device status monitoring.</td>
|
|
863
|
-
|
|
864
|
-
<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>
|
|
865
|
-
</tr>
|
|
866
|
-
|
|
867
|
-
<tr>
|
|
868
|
-
<td rowspan="1" colSpan="1" >CoGuestStore</td>
|
|
869
|
-
|
|
870
|
-
<td rowspan="1" colSpan="1" >Manages audience co-hosting: apply/invite/accept/reject co-host requests, member permission control (microphone/camera), and status synchronization.</td>
|
|
871
|
-
|
|
872
|
-
<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.live/-co-guest-store/index.html)</td>
|
|
873
|
-
</tr>
|
|
874
|
-
|
|
875
|
-
<tr>
|
|
876
|
-
<td rowspan="1" colSpan="1" >CoHostStore</td>
|
|
877
|
-
|
|
878
|
-
<td rowspan="1" colSpan="1" >Handles host cross-room connections: supports multiple layout templates (dynamic grid, etc.), initiates/accepts/rejects connections, and manages co-host interactions.</td>
|
|
879
|
-
|
|
880
|
-
<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.live/-co-host-store/index.html)</td>
|
|
881
|
-
</tr>
|
|
882
|
-
|
|
883
|
-
<tr>
|
|
884
|
-
<td rowspan="1" colSpan="1" >BattleStore</td>
|
|
885
|
-
|
|
886
|
-
<td rowspan="1" colSpan="1" >Manages host PK battles: initiate PK (set duration/opponent), manage PK status (start/end), synchronize scores, and listen for battle results.</td>
|
|
887
|
-
|
|
888
|
-
<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.live/-battle-store/index.html)</td>
|
|
889
|
-
</tr>
|
|
890
|
-
|
|
891
|
-
<tr>
|
|
892
|
-
<td rowspan="1" colSpan="1" >GiftStore</td>
|
|
893
|
-
|
|
894
|
-
<td rowspan="1" colSpan="1" >Handles gift interactions: get gift list, send/receive gifts, and listen for gift events (including sender and gift details).</td>
|
|
895
|
-
|
|
896
|
-
<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.gift/-gift-store/index.html)</td>
|
|
897
|
-
</tr>
|
|
898
|
-
|
|
899
|
-
<tr>
|
|
900
|
-
<td rowspan="1" colSpan="1" >BarrageStore</td>
|
|
901
|
-
|
|
902
|
-
<td rowspan="1" colSpan="1" >Supports live chat: send text/custom danmaku, maintain danmaku list, and monitor danmaku status in real time.</td>
|
|
903
|
-
|
|
904
|
-
<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.barrage/-barrage-store/index.html)</td>
|
|
905
|
-
</tr>
|
|
906
|
-
|
|
907
|
-
<tr>
|
|
908
|
-
<td rowspan="1" colSpan="1" >LikeStore</td>
|
|
909
|
-
|
|
910
|
-
<td rowspan="1" colSpan="1" >Handles like interactions: send likes, listen for like events, and synchronize total like count.</td>
|
|
911
|
-
|
|
912
|
-
<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.live/-like-store/index.html)</td>
|
|
913
|
-
</tr>
|
|
914
|
-
|
|
915
|
-
<tr>
|
|
916
|
-
<td rowspan="1" colSpan="1" >LiveAudienceStore</td>
|
|
917
|
-
|
|
918
|
-
<td rowspan="1" colSpan="1" >Manages audience: get real-time audience list (ID/name/avatar), count audience, and listen for join/leave events.</td>
|
|
919
|
-
|
|
920
|
-
<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.live/-live-audience-store/index.html)</td>
|
|
921
|
-
</tr>
|
|
922
|
-
|
|
923
|
-
<tr>
|
|
924
|
-
<td rowspan="1" colSpan="1" >AudioEffectStore</td>
|
|
925
|
-
|
|
926
|
-
<td rowspan="1" colSpan="1" >Audio effects: voice change (child/male), reverb (KTV, etc.), ear return adjustment, and real-time effect switching.</td>
|
|
927
|
-
|
|
928
|
-
<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>
|
|
929
|
-
</tr>
|
|
930
|
-
|
|
931
|
-
<tr>
|
|
932
|
-
<td rowspan="1" colSpan="1" >BaseBeautyStore</td>
|
|
933
|
-
|
|
934
|
-
<td rowspan="1" colSpan="1" >Basic beauty filters: adjust smoothing/whitening/rosiness (0-9), reset beauty status, and synchronize effect parameters.</td>
|
|
935
|
-
|
|
936
|
-
<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/-base-beauty-store/index.html)</td>
|
|
937
|
-
</tr>
|
|
938
|
-
</table>
|
|
939
|
-
|
|
520
|
+
| **Store/Component** | **Description** | **API Reference** |
|
|
521
|
+
| --- | --- | --- |
|
|
522
|
+
| LiveCoreView | Core view component for displaying and interacting with live video streams. Handles video rendering and view widgets, supports host streaming, audience co-hosting, host connections, and more. | [API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.view/-live-core-view/index.html) |
|
|
523
|
+
| LiveListStore | Manages the full lifecycle of live rooms: create/join/leave/destroy rooms, query room list, modify live info (name, announcement, etc.), and listen to live status events (e.g., kicked out, ended). | [API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-live-list-store/index.html) |
|
|
524
|
+
| DeviceStore | Controls audio/video devices: microphone (on/off, volume), camera (on/off, switch, quality), screen sharing, and real-time device status monitoring. | [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) |
|
|
525
|
+
| CoGuestStore | Manages audience co-hosting: apply/invite/accept/reject co-host requests, member permission control (microphone/camera), and status synchronization. | [API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-guest-store/index.html) |
|
|
526
|
+
| CoHostStore | Handles host cross-room connections: supports multiple layout templates (dynamic grid, etc.), initiates/accepts/rejects connections, and manages co-host interactions. | [API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-host-store/index.html) |
|
|
527
|
+
| BattleStore | Manages host PK battles: initiate PK (set duration/opponent), manage PK status (start/end), synchronize scores, and listen for battle results. | [API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-battle-store/index.html) |
|
|
528
|
+
| GiftStore | Handles gift interactions: get gift list, send/receive gifts, and listen for gift events (including sender and gift details). | [API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.gift/-gift-store/index.html) |
|
|
529
|
+
| BarrageStore | Supports live chat: send text/custom danmaku, maintain danmaku list, and monitor danmaku status in real time. | [API Documentation](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) |
|
|
530
|
+
| LikeStore | Handles like interactions: send likes, listen for like events, and synchronize total like count. | [API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-like-store/index.html) |
|
|
531
|
+
| LiveAudienceStore | Manages audience: get real-time audience list (ID/name/avatar), count audience, and listen for join/leave events. | [API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-live-audience-store/index.html) |
|
|
532
|
+
| AudioEffectStore | Audio effects: voice change (child/male), reverb (KTV, etc.), ear return adjustment, and real-time effect switching. | [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) |
|
|
533
|
+
| BaseBeautyStore | Basic beauty filters: adjust smoothing/whitening/rosiness (0-9), reset beauty status, and synchronize effect parameters. | [API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-base-beauty-store/index.html) |
|
|
940
534
|
|
|
941
535
|
## FAQs
|
|
942
536
|
|
|
@@ -949,13 +543,11 @@ Once the basic live streaming functionality is in place, refer to the following
|
|
|
949
543
|
|
|
950
544
|
- **Check the network**: Ensure the device has a stable network connection.
|
|
951
545
|
|
|
952
|
-
|
|
953
546
|
### After the host enables the camera, why is there a local video preview after starting the stream, but a black screen before starting?
|
|
954
547
|
- **Check the host side**: Make sure the host streaming view (LiveCoreView) has its `viewType` set to `PUSH_VIEW`.
|
|
955
548
|
|
|
956
549
|
- **Check the audience side**: Make sure the audience playback view (LiveCoreView) has its `viewType` set to `PLAY_VIEW`.
|
|
957
550
|
|
|
958
|
-
|
|
959
551
|
### What restrictions and rules apply to `updateLiveMetaData`?
|
|
960
552
|
|
|
961
553
|
To maintain system stability and efficiency, metaData usage follows these rules:
|